コード例 #1
0
    public function testFactoryInjectsComposedFilterAndValidatorChainsIntoInputObjectsWhenCreatingNewInputFilterObjects()
    {
        $factory        = new Factory();
        $broker         = new PluginBroker;
        $filterChain = new Filter\FilterChain();
        $validatorChain = new Validator\ValidatorChain();
        $filterChain->setBroker($broker);
        $validatorChain->setBroker($broker);
        $factory->setDefaultFilterChain($filterChain);
        $factory->setDefaultValidatorChain($validatorChain);

        $inputFilter = $factory->createInputFilter(array(
            'foo' => array(
                'name' => 'foo',
            ),
        ));
        $this->assertInstanceOf('Zend\InputFilter\InputFilterInterface', $inputFilter);
        $this->assertEquals(1, count($inputFilter));
        $input = $inputFilter->get('foo');
        $this->assertInstanceOf('Zend\InputFilter\InputInterface', $input);
        $inputFilterChain    = $input->getFilterChain();
        $inputValidatorChain = $input->getValidatorChain();
        $this->assertSame($broker, $inputFilterChain->getBroker());
        $this->assertSame($broker, $inputValidatorChain->getBroker());
    }