public function testProvidesInputSpecificationThatIncludesValidatorsBasedOnAttributes() { $element = new DateElement('foo'); $element->setAttributes(array('inclusive' => true, 'min' => '2000-01-01', 'max' => '2001-01-01', 'step' => '1')); $inputSpec = $element->getInputSpecification(); $this->assertArrayHasKey('validators', $inputSpec); $this->assertInternalType('array', $inputSpec['validators']); $expectedClasses = array('Zend\\Validator\\Date', 'Zend\\Validator\\GreaterThan', 'Zend\\Validator\\LessThan', 'Zend\\Validator\\DateStep'); foreach ($inputSpec['validators'] as $validator) { $class = get_class($validator); $this->assertTrue(in_array($class, $expectedClasses), $class); switch ($class) { case 'Zend\\Validator\\GreaterThan': $this->assertTrue($validator->getInclusive()); $this->assertEquals('2000-01-01', $validator->getMin()); break; case 'Zend\\Validator\\LessThan': $this->assertTrue($validator->getInclusive()); $this->assertEquals('2001-01-01', $validator->getMax()); break; case 'Zend\\Validator\\DateStep': $dateInterval = new \DateInterval('P1D'); $this->assertEquals($dateInterval, $validator->getStep()); $this->assertEquals('2000-01-01', $validator->getBaseValue()); break; default: break; } } }
public function testCorrectFormatPassedToDateValidator() { $element = new DateElement('foo'); $element->setAttributes(array('min' => '2012-01-01', 'max' => '2012-12-31')); $element->setFormat('d-m-Y'); $inputSpec = $element->getInputSpecification(); foreach ($inputSpec['validators'] as $validator) { switch (get_class($validator)) { case 'Zend\\Validator\\DateStep': case 'Zend\\Validator\\Date': $this->assertEquals('d-m-Y', $validator->getFormat()); break; } } }