Skip to content
This repository was archived by the owner on Jan 30, 2020. It is now read-only.

Commit 4e235a6

Browse files
committed
Created test to test bindValues in Form class (Form with InputFilter and (base)Fieldset with own InputFilter). Correctly fails on pre-fix code, post-fix code passes.
1 parent 3b84df4 commit 4e235a6

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

test/FormTest.php

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
use Zend\Form\Factory;
1616
use Zend\Form\Fieldset;
1717
use Zend\Form\Form;
18+
use Zend\Hydrator;
1819
use Zend\Hydrator\ObjectProperty as ObjectPropertyHydrator;
1920
use Zend\InputFilter\BaseInputFilter;
20-
use Zend\InputFilter\InputFilter;
2121
use Zend\InputFilter\Factory as InputFilterFactory;
22-
use Zend\Hydrator;
22+
use Zend\InputFilter\InputFilter;
2323
use ZendTest\Form\TestAsset\Entity;
2424
use ZendTest\Form\TestAsset\HydratorAwareModel;
2525

@@ -818,6 +818,35 @@ public function testBindValuesWithWrappingPopulatesBoundObject()
818818
], $model->foobar);
819819
}
820820

821+
public function testFormBaseFieldsetBindValuesWithoutInputs()
822+
{
823+
$baseFieldset = new Fieldset('base_fieldset');
824+
$baseFieldset->setUseAsBaseFieldset(true);
825+
826+
$form = new Form('default_form');
827+
$form->add($baseFieldset);
828+
$form->setHydrator(new ObjectPropertyHydrator());
829+
830+
$baseFieldsetInputFilter = new InputFilter();
831+
832+
$formInputFilter = new InputFilter();
833+
$formInputFilter->add($baseFieldsetInputFilter, 'base_fieldset');
834+
835+
$form->setInputFilter($formInputFilter);
836+
837+
$model = new stdClass();
838+
$form->bind($model);
839+
840+
$data = [
841+
'submit' => 'save',
842+
];
843+
$form->setData($data);
844+
845+
$form->isValid(); // Calls ->bindValues after validation (line: 817)
846+
847+
$this->assertObjectNotHasAttribute('submit', $model);
848+
}
849+
821850
public function testHasFactoryComposedByDefault()
822851
{
823852
$factory = $this->form->getFormFactory();

0 commit comments

Comments
 (0)