示例#1
0
 /**
  * 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');
     }
 }