Newer
Older
<?php
require_once INCLUDE_DIR.'class.validator.php';
class TestValidation extends Test {
var $name = "Validation checks";
function testValidUsernames() {
// Ascii
$this->assert(Validator::is_username('jared'));
$this->assert(Validator::is_username('jared12'));
// Unicode
$this->assert(Validator::is_username('järed'));
$this->assert(Validator::is_username('järed12'));
$this->assert(Validator::is_username('中国期刊全文数据'));
// Non-letters
$this->assert(!Validator::is_username('j®red'));
// Special chars
$this->assert(Validator::is_username('jar.ed'));
$this->assert(Validator::is_username('jar_ed'));
$this->assert(Validator::is_username('jar-ed'));
// Illegals
$this->assert(!Validator::is_username('j red'));
$this->assert(!Validator::is_username('jared '));
$this->assert(!Validator::is_username(' jared'));
}
function testValidEmail() {
// Common emails
$this->assert(Validator::is_email('jared@domain.tld'));
$this->assert(Validator::is_email('jared12@domain.tld'));
$this->assert(Validator::is_email('jared.12@domain.tld'));
$this->assert(Validator::is_email('jared_12@domain.tld'));
$this->assert(Validator::is_email('jared-12@domain.tld'));
// Very likely illegal
$this->assert(!Validator::is_email('jared r@domain.tld'));
$this->assert(Validator::is_email('jared@host'));
// Odd cases, but legal
$this->assert(Validator::is_email('jared@[127.0.0.1]'));
$this->assert(Validator::is_email('jared@[ipv6:::1]'));
$this->assert(Validator::is_email('*@domain.tld'));
$this->assert(Validator::is_email("'@domain.tld"));
$this->assert(Validator::is_email('"jared r"@domain.tld'));
// RFC 6530
#$this->assert(Validator::is_email('Pelé@example.com'));
#$this->assert(Validator::is_email('δοκιμή@παράδειγμα.δοκιμή'));
#$this->assert(Validator::is_email('甲斐@黒川.日本'));