/**
* Ensure the TLD check works as expected
*
*/
public function testTLD()
{
$validator = new Zend_Validate_Hostname();
// Check TLD matching
$valuesExpected = array(array(true, array('domain.co.uk', 'domain.uk.com', 'domain.tl', 'domain.zw')), array(false, array('domain.xx', 'domain.zz', 'domain.madeup')));
foreach ($valuesExpected as $element) {
foreach ($element[1] as $input) {
$this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
}
}
// Check no TLD matching
$validator->setValidateTld(false);
$valuesExpected = array(array(true, array('domain.xx', 'domain.zz', 'domain.madeup')));
foreach ($valuesExpected as $element) {
foreach ($element[1] as $input) {
$this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
}
}
// Check setting no TLD matching via constructor
unset($validator);
$validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, true, false);
$valuesExpected = array(array(true, array('domain.xx', 'domain.zz', 'domain.madeup')));
foreach ($valuesExpected as $element) {
foreach ($element[1] as $input) {
$this->assertEquals($element[0], $validator->isValid($input), implode("\n", $validator->getMessages()) . $input);
}
}
}