Esempio n. 1
0
 public function testMaximumErrorMessageLength()
 {
     if (!extension_loaded('intl')) {
         $this->markTestSkipped('ext/intl not enabled');
     }
     $this->assertEquals(-1, AbstractValidator::getMessageLength());
     AbstractValidator::setMessageLength(10);
     $this->assertEquals(10, AbstractValidator::getMessageLength());
     $loader = new TestAsset\ArrayTranslator();
     $loader->translations = array('Invalid type given. String expected' => 'This is the translated message for %value%');
     $translator = new TestAsset\Translator();
     $translator->getPluginManager()->setService('default', $loader);
     $translator->addTranslationFile('default', null);
     $this->validator->setTranslator($translator);
     $this->assertFalse($this->validator->isValid(123));
     $messages = $this->validator->getMessages();
     $this->assertTrue(array_key_exists(Alpha::INVALID, $messages));
     $this->assertEquals('This is...', $messages[Alpha::INVALID]);
 }
Esempio n. 2
0
 /**
  * @group ZF-2861
  */
 public function testHostnameValidatorMessagesShouldBeTranslated()
 {
     if (!extension_loaded('intl')) {
         $this->markTestSkipped('ext/intl not enabled');
     }
     $hostnameValidator = new Hostname();
     $translations = array('hostnameIpAddressNotAllowed' => 'hostnameIpAddressNotAllowed translation', 'hostnameUnknownTld' => 'The input appears to be a DNS hostname but cannot match TLD against known list', 'hostnameDashCharacter' => 'hostnameDashCharacter translation', 'hostnameInvalidHostnameSchema' => 'hostnameInvalidHostnameSchema translation', 'hostnameUndecipherableTld' => 'hostnameUndecipherableTld translation', 'hostnameInvalidHostname' => 'hostnameInvalidHostname translation', 'hostnameInvalidLocalName' => 'hostnameInvalidLocalName translation', 'hostnameLocalNameNotAllowed' => 'hostnameLocalNameNotAllowed translation');
     $loader = new TestAsset\ArrayTranslator();
     $loader->translations = $translations;
     $translator = new TestAsset\Translator();
     $translator->getPluginManager()->setService('test', $loader);
     $translator->addTranslationFile('test', null);
     $this->validator->setTranslator($translator)->setHostnameValidator($hostnameValidator);
     $this->validator->isValid('_XX.!!3xx@0.239,512.777');
     $messages = $hostnameValidator->getMessages();
     $found = false;
     foreach ($messages as $code => $message) {
         if (array_key_exists($code, $translations)) {
             $this->assertEquals($translations[$code], $message);
             $found = true;
             break;
         }
     }
     $this->assertTrue($found);
 }
Esempio n. 3
0
 /**
  * Test changed with ZF-6676, as IP check is only involved when IP patterns match
  *
  * @group ZF-2861
  * @group ZF-6676
  */
 public function testValidatorMessagesShouldBeTranslated()
 {
     if (!extension_loaded('intl')) {
         $this->markTestSkipped('ext/intl not enabled');
     }
     $translations = array('hostnameInvalidLocalName' => 'The input does not appear to be a valid local network name');
     $loader = new TestAsset\ArrayTranslator();
     $loader->translations = $translations;
     $translator = new TestAsset\Translator();
     $translator->getPluginManager()->setService('default', $loader);
     $translator->addTranslationFile('default', null);
     $this->validator->setTranslator($translator);
     $this->validator->isValid('0.239,512.777');
     $messages = $this->validator->getMessages();
     $found = false;
     foreach ($messages as $code => $message) {
         if (array_key_exists($code, $translations)) {
             $found = true;
             break;
         }
     }
     $this->assertTrue($found);
     $this->assertEquals($translations[$code], $message);
 }
Esempio n. 4
0
 public function testCanDisableTranslator()
 {
     if (!extension_loaded('intl')) {
         $this->markTestSkipped('ext/intl not enabled');
     }
     $loader = new TestAsset\ArrayTranslator();
     $loader->translations = array('%value% was passed' => 'This is the translated message for %value%');
     $translator = new TestAsset\Translator();
     $translator->getPluginManager()->setService('default', $loader);
     $translator->addTranslationFile('default', null);
     $this->validator->setTranslator($translator);
     $this->assertFalse($this->validator->isValid('bar'));
     $messages = $this->validator->getMessages();
     $this->assertTrue(array_key_exists('fooMessage', $messages));
     $this->assertContains('bar', $messages['fooMessage']);
     $this->assertContains('This is the translated message for ', $messages['fooMessage']);
     $this->validator->setTranslatorEnabled(false);
     $this->assertFalse($this->validator->isTranslatorEnabled());
     $this->assertFalse($this->validator->isValid('bar'));
     $messages = $this->validator->getMessages();
     $this->assertTrue(array_key_exists('fooMessage', $messages));
     $this->assertContains('bar', $messages['fooMessage']);
     $this->assertContains('bar was passed', $messages['fooMessage']);
 }