/** * @group ZF-2861 */ public function testHostnameValidatorMessagesShouldBeTranslated() { $hostnameValidator = new Hostname(); $translations = array( 'hostnameIpAddressNotAllowed' => 'hostnameIpAddressNotAllowed translation', 'hostnameUnknownTld' => 'hostnameUnknownTld translation', '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 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); }