Helpdesk da PluGzOne, baseado no osTicket
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

72 lines
2.9 KiB

<?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'));
$this->assert(Validator::is_email('jared+ost@domain.tld'));
// Illegal or unsupported
$this->assert(!Validator::is_email('jared r@domain.tld'));
$this->assert(!Validator::is_email('jared'));
$this->assert(!Validator::is_email('jared@'));
$this->assert(!Validator::is_email('@domain.tld'));
$this->assert(!Validator::is_email('@domain.tld, @domain2.tld'));
// Odd cases, but legal
$this->assert(Validator::is_email('jared@host'));
$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('甲斐@黒川.日本'));
}
function testIPAddresses() {
// Validate IP Addreses
$this->assert(Validator::is_ip('127.0.0.1'));
$this->assert(Validator::is_ip('192.168.129.74'));
// Test IP check
$this->assert(Validator::check_ip('127.0.0.1', '127.0.0.0/24'));
$this->assert(Validator::check_ip('192.168.129.42',
['127.0.0.0/24', '192.168.129.0/24']));
$this->assert(!Validator::check_ip('10.0.5.15', '127.0.0.0/24'));
}
}
return 'TestValidation';
?>