Skip to content
This repository was archived by the owner on May 8, 2024. It is now read-only.

Commit

Permalink
Add order of precedence tests.
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Gooden <[email protected]>
  • Loading branch information
MichaelGooden committed Aug 23, 2013
1 parent 2c52613 commit a2308b9
Showing 1 changed file with 94 additions and 5 deletions.
99 changes: 94 additions & 5 deletions tests/ZendTest/Form/FormTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1559,8 +1559,7 @@ public function testCanOverrideDefaultInputSettings()

public function testComplexFormInputFilterMergesIntoExisting()
{
$form = new \Zend\Form\Form();
$form->add(array(
$this->form->add(array(
'name' => 'importance',
'type' => 'Zend\Form\Element\Select',
'options' => array(
Expand All @@ -1580,9 +1579,99 @@ public function testComplexFormInputFilterMergesIntoExisting()
'required' => false,
)));

$this->assertTrue($form->getInputFilter()->get('importance')->isRequired());
$this->assertTrue($this->form->getInputFilter()->get('importance')->isRequired());
$this->assertFalse($inputFilter->get('importance')->isRequired());
$form->setInputFilter($inputFilter);
$this->assertFalse($form->getInputFilter()->get('importance')->isRequired());
$this->form->getInputFilter();
$this->form->setInputFilter($inputFilter);
$this->assertFalse($this->form->getInputFilter()->get('importance')->isRequired());
}

public function testInputFilterOrderOfPrecedence1()
{
$spec = array(
'name' => 'test',
'elements' => array(
array(
'spec' => array(
'name' => 'element',
'type' => 'Zend\Form\Element\Checkbox',
'options' => array(
'use_hidden_element' => true,
'checked_value' => '1',
'unchecked_value' => '0'
)
)
)
),
'input_filter' => array(
'element' => array(
'required' => false,
'filters' => array(
array(
'name' => 'Boolean'
)
),
'validators' => array(
array(
'name' => 'InArray',
'options' => array(
'haystack' => array(
"0",
"1"
)
)
)
)
)
)
);

$factory = new \Zend\Form\Factory();
$this->form = $factory->createForm($spec);
// $form->setData(array('element' => '0'));
$this->assertFalse($this->form->getInputFilter()->get('element')
->isRequired());
}

public function testInputFilterOrderOfPrecedence2()
{
$spec = array(
'name' => 'test',
'input_filter' => array(
'element' => array(
'required' => false,
'filters' => array(
array(
'name' => 'Boolean'
)
),
'validators' => array(
array(
'name' => 'InArray',
'options' => array(
'haystack' => array(
"0",
"1"
)
)
)
)
)
)
);

$factory = new \Zend\Form\Factory();
$this->form = $factory->createForm($spec);
$this->assertFalse($this->form->getInputFilter()->get('element')->isRequired());
$this->form->add(array(
'name' => 'element',
'type' => 'Zend\Form\Element\Checkbox',
'options' => array(
'use_hidden_element' => true,
'checked_value' => '1',
'unchecked_value' => '0'
)
));
$this->assertTrue($this->form->getInputFilter()->get('element')->isRequired());
}
}

0 comments on commit a2308b9

Please sign in to comment.