public function testProvidesInputSpecificationThatIncludesCustomValidator() { $element = new EmailElement(); $validator = $this->getMock('Zend\\Validator\\ValidatorInterface'); $element->setValidator($validator); $inputSpec = $element->getInputSpecification(); $this->assertArrayHasKey('validators', $inputSpec); $this->assertInternalType('array', $inputSpec['validators']); $test = array_shift($inputSpec['validators']); $this->assertSame($validator, $test); }
/** * @dataProvider emailAttributesDataProvider */ public function testProvidesInputSpecificationBasedOnAttributes($attributes, $expectedValidators) { $element = new EmailElement(); $element->setAttributes($attributes); $inputSpec = $element->getInputSpecification(); $this->assertArrayHasKey('validators', $inputSpec); $this->assertInternalType('array', $inputSpec['validators']); foreach ($inputSpec['validators'] as $i => $validator) { $class = get_class($validator); $this->assertEquals($expectedValidators[$i], $class); switch ($class) { case 'Zend\\Validator\\Explode': $this->assertInstanceOf('Zend\\Validator\\Regex', $validator->getValidator()); break; default: break; } } }
public function testProvidesInputSpecificationThatIncludesValidatorsBasedOnAttributes() { $element = new EmailElement(); $element->setAttributes(array('multiple' => true)); $inputSpec = $element->getInputSpecification(); $this->assertArrayHasKey('validators', $inputSpec); $this->assertInternalType('array', $inputSpec['validators']); $expectedClasses = array('Zend\\Validator\\Explode'); foreach ($inputSpec['validators'] as $validator) { $class = get_class($validator); $this->assertTrue(in_array($class, $expectedClasses), $class); switch ($class) { case 'Zend\\Validator\\Explode': $this->assertInstanceOf('Zend\\Validator\\EmailAddress', $validator->getValidator()); break; default: break; } } }