/** * Ensures that the validator can handle different dateformats from locale * * @group ZF-2003 * @return void */ public function testUseLocaleFormat() { $errorOccurredLocal = false; set_error_handler(array($this, 'errorHandlerIgnore')); $valuesExpected = array( '10.01.2008' => true, '32.02.2008' => false, '20 April 2008' => true, '1 Jul 2008' => true, '2008/20/03' => false, '99/99/2000' => false, 0 => false, 999999999999 => false, 'Jan 1 2007' => false ); foreach ($valuesExpected as $input => $resultExpected) { $resultActual = $this->_validator->setLocale('de_AT')->isValid($input); if (!$this->_errorOccurred) { $this->assertEquals($resultExpected, $resultActual, "'$input' expected to be " . ($resultExpected ? '' : 'in') . 'valid'); } else { $errorOccurredLocal = true; } $this->_errorOccurred = false; } $this->assertEquals('de_AT', $this->_validator->getLocale()); restore_error_handler(); if ($errorOccurredLocal) { $this->markTestSkipped('Affected by bug described in ZF-2789'); } }