diff --git a/src/Factory.php b/src/Factory.php index 3382afde..d75e4c7d 100644 --- a/src/Factory.php +++ b/src/Factory.php @@ -275,7 +275,7 @@ public function createInputFilter($inputFilterSpecification) $type = 'Zend\InputFilter\InputFilter'; - if (isset($inputFilterSpecification['type'])) { + if (isset($inputFilterSpecification['type']) && is_string($inputFilterSpecification['type'])) { $type = $inputFilterSpecification['type']; unset($inputFilterSpecification['type']); } diff --git a/test/FactoryTest.php b/test/FactoryTest.php index 8c590bba..fdf3f041 100644 --- a/test/FactoryTest.php +++ b/test/FactoryTest.php @@ -499,4 +499,20 @@ public function testFactoryWillNotGetPrioritySetting() $index++; } } + + public function testConflictNameWithInputFilterType() + { + $factory = new Factory(); + + $inputFilter = $factory->createInputFilter( + array( + 'type' => array( + 'required' => true + ) + ) + ); + + $this->assertInstanceOf('Zend\InputFilter\InputFilter', $inputFilter); + $this->assertTrue($inputFilter->has('type')); + } }