Blame | Letzte Änderung | Log anzeigen | RSS feed
--TEST--email.phpt: Unit tests for--FILE--<?php// $Id: email.phpt 276490 2009-02-26 09:32:16Z amir $// Validate test script$noYes = array('NO', 'YES');require 'Validate.php';echo "Test Validate_Email\n";$emails = array(// Try dns lookuparray('pear-general@lists.php.net', true), // OKarray('example@fluffffffrefrffrfrfrfrfrfr.is', false), // OK// with out the dns lookup'example@fluffffffrefrffrfrfrfrfrfr.is', // OKarray('davidc@php.net', array('fullTLDValidation' => true, 'VALIDATE_GTLD_EMAILS' => true)),array('example (though bad)@example.com', array('use_rfc822' => true)), // OK'bugme@not./com', // OK// Some none english chars, those should fail until we fix the IDN stuff'hæjjæ@homms.com', // NOK'þæöð@example.com', // NOK'postmaster@tüv.de', // NOK// Test for various ways with _'mark_@example.com', // OK'_mark@example.com', // OK'mark_foo@example.com', // OK// Test for various ways with -'mark-@example.com', // OK'-mark@example.com', // OK'mark-foo@example.com', // OK// Test for various ways with .'mark.@example.com', // NOK'.mark@example.com', // NOK'mark.foo@example.com', // OK// Test for various ways with ,'mark,@example.com', // NOK',mark@example.com', // NOK'mark,foo@example.com', // NOK// Test for various ways with :'mark:@example.com', // NOK':mark@example.com', // NOK'mark:foo@example.com', // NOK// Test for various ways with ;'mark;@example.com', // NOK';mark@example.com', // NOK'mark;foo@example.com', // NOK// Test for various ways with |'mark|@example.com', // OK'|mark@example.com', // OK'mark|foo@example.com', // OK// Test for various ways with double @'mark@home@example.com', // NOK'mark@example.home@com', // NOK'mark@example.com@home', // NOK// Killers ' tests'ha"ho@example.com', // NOK'<ha la la>blah</ha>@example.com', // NOK'<hablahha>@example.com', // NOK'"<ha la la>blah</ha>"@example.com', // OK'" "@example.com', // NOK'@example.com', // NOK// Minus ' tests (#5804)'minus@example-minus.com', // OK'minus@example.co-m', // OK'mi-nus@example-minus.co-m', // OK'minus@example-.com', // NOK'minus@-example.com', // NOK'minus@-.com', // NOK'minus@example.-com', // NOK'minus@-example.com-', // NOK// IP domain'ip@127.0.0.1', // OK'"the ip"@[127.0.0.1]', // OK'ip@127.0.333.1', // NOK'ip@[277.0.0.1]', // NOK'ip@[127.0.0.1', // NOK'ip@127.0.0.1]' // NOK);list($version) = explode(".", phpversion(), 2);foreach ($emails as $email) {if (is_array($email)) {echo "{$email[0]}:";if (!is_array($email[1])) {echo " with". ($email[1] ? '' : 'out') . ' domain check :';}echo ' ' . $noYes[Validate::email($email[0], $email[1])]."\n";} else {echo "{$email}: ";if ((int)$version > 4) {try {echo $noYes[Validate::email($email)]."\n";} catch (Exception $e) {echo $e->getMessage()."\n";}} else {echo $noYes[Validate::email($email)]."\n";}}}?>--EXPECT--Test Validate_Emailpear-general@lists.php.net: with domain check : YESexample@fluffffffrefrffrfrfrfrfrfr.is: without domain check : YESexample@fluffffffrefrffrfrfrfrfrfr.is: YESdavidc@php.net: YESexample (though bad)@example.com: YESbugme@not./com: YEShæjjæ@homms.com: NOþæöð@example.com: NOpostmaster@tüv.de: NOmark_@example.com: YES_mark@example.com: YESmark_foo@example.com: YESmark-@example.com: YES-mark@example.com: YESmark-foo@example.com: YESmark.@example.com: NO.mark@example.com: NOmark.foo@example.com: YESmark,@example.com: NO,mark@example.com: NOmark,foo@example.com: NOmark:@example.com: NO:mark@example.com: NOmark:foo@example.com: NOmark;@example.com: NO;mark@example.com: NOmark;foo@example.com: NOmark|@example.com: YES|mark@example.com: YESmark|foo@example.com: YESmark@home@example.com: NOmark@example.home@com: NOmark@example.com@home: NOha"ho@example.com: NO<ha la la>blah</ha>@example.com: NO<hablahha>@example.com: NO"<ha la la>blah</ha>"@example.com: YES" "@example.com: NO@example.com: NOminus@example-minus.com: YESminus@example.co-m: YESmi-nus@example-minus.co-m: YESminus@example-.com: NOminus@-example.com: NOminus@-.com: NOminus@example.-com: NOminus@-example.com-: NOip@127.0.0.1: YES"the ip"@[127.0.0.1]: YESip@127.0.333.1: NOip@[277.0.0.1]: NOip@[127.0.0.1: NOip@127.0.0.1]: NO