/test/Validator/ValidateTest.php
PHP | 229 lines | 218 code | 8 blank | 3 comment | 0 complexity | af3669befa91533851c8270b7d4c5316 MD5 | raw file
- <?php
- namespace Nucleus\Library\Test\Validator;
- use Nucleus\Library\Validator\Validate;
- use PHPUnit_Framework_TestCase;
- class ValidateTest extends PHPUnit_Framework_TestCase
- {
- public function setUp()
- {
- }
- /**
- * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
- */
- public function testAll()
- {
- $validate = new Validate();
- $this->assertTrue($validate->isAgeBetween('01-01-1970', 'd-m-Y', 1, 99));
- $this->assertTrue($validate->isAgeMax('01-01-1970', 'd-m-Y', 99));
- $this->assertTrue($validate->isAgeMin('01-01-1970', 'd-m-Y', 1));
- $this->assertTrue($validate->isAlnum('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'));
- $this->assertTrue($validate->isAlpha('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'));
- $this->assertTrue($validate->isArray([1, 2, 3]));
- $this->assertTrue($validate->isBase64(base64_encode('test')));
- $this->assertTrue($validate->isBetween(2, 1, 3));
- $this->assertTrue($validate->isBetween(2, 2, 2));
- $this->assertTrue($validate->isBlank(''));
- $this->assertTrue($validate->isBlank(' '));
- $this->assertTrue($validate->isBlank(null));
- $this->assertTrue($validate->isBool(true));
- $this->assertTrue($validate->isBool('1'));
- $this->assertTrue($validate->isBool('on'));
- $this->assertTrue($validate->isBool('true'));
- $this->assertTrue($validate->isBool('t'));
- $this->assertTrue($validate->isBool('yes'));
- $this->assertTrue($validate->isBool('y'));
- $this->assertTrue($validate->isBool(false));
- $this->assertTrue($validate->isBool('0'));
- $this->assertTrue($validate->isBool('off'));
- $this->assertTrue($validate->isBool('false'));
- $this->assertTrue($validate->isBool('f'));
- $this->assertTrue($validate->isBool('no'));
- $this->assertTrue($validate->isBool('n'));
- $this->assertTrue($validate->isCreditCard('5514689104747025'));
- $this->assertTrue($validate->isDatetime('01-01-1970', 'd-m-Y'));
- $this->assertTrue($validate->isEmail('name@domain.com'));
- $this->assertTrue($validate->isEmail('name@domain.co.uk'));
- $this->assertTrue($validate->isEqualTo(1, 1));
- $this->assertTrue($validate->isEqualTo(1, 1.0));
- $this->assertTrue($validate->isEqualTo(1, '1'));
- $this->assertTrue($validate->isFloat(1.0));
- $this->assertTrue($validate->isFloat(M_PI));
- $this->assertTrue($validate->isFloat('3.14159265359'));
- $this->assertTrue($validate->isInKeys('a', ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertTrue($validate->isInt(1));
- $this->assertTrue($validate->isInValues(2, ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertTrue($validate->isIP('184.165.132.11'));
- $this->assertTrue($validate->isIP('2001:0db8:85a3:0042:1000:8a2e:0370:7334'));
- $this->assertTrue($validate->isIPv4('184.165.132.11'));
- $this->assertTrue($validate->isIPv6('2001:0db8:85a3:0042:1000:8a2e:0370:7334'));
- $this->assertTrue($validate->isLocale('en_US'));
- $this->assertTrue($validate->isLocale('fr_CA'));
- $this->assertTrue($validate->isMax(2, 3));
- $this->assertTrue($validate->isMax(2, 2));
- $this->assertTrue($validate->isMin(2, 1));
- $this->assertTrue($validate->isMin(2, 2));
- $this->assertTrue($validate->isRegex('abc123def', '~^[^0-9]*123(.*)$~'));
- $this->assertTrue($validate->isStrictEqualTo(1, 1));
- $this->assertTrue($validate->isString('test'));
- $this->assertTrue($validate->isStrlenBetween('12345', 4, 6));
- $this->assertTrue($validate->isStrlenBetween('12345', 5, 5));
- $this->assertTrue($validate->isStrlenMax('12345', 6));
- $this->assertTrue($validate->isStrlenMax('12345', 5));
- $this->assertTrue($validate->isStrlenMin('12345', 4));
- $this->assertTrue($validate->isStrlenMin('12345', 5));
- $this->assertTrue($validate->isStrlen('12345', 5));
- $this->assertTrue($validate->isTimezone('America/New_York'));
- $this->assertTrue($validate->isTimezone('America/Argentina/Buenos_Aires'));
- $this->assertTrue($validate->isTrim('test'));
- $this->assertTrue($validate->isTrim('te st'));
- $this->assertTrue($validate->isURL('http://www.php.net/manual/en/timezones.america.php'));
- $this->assertTrue($validate->isURL('http://ca1.php.net/manual-lookup.php?pattern=test&lang=en&scope=quickref'));
- $this->assertTrue($validate->isWord('test'));
- $this->assertTrue($validate->notAgeBetween('31-02-1970', 'd-m-Y', 1, 10));
- $this->assertTrue($validate->notAgeBetween('01-01-1970', 'd-m-Y', 1, 10));
- $this->assertTrue($validate->notAgeMax('01-01-1970', 'd-m-Y', 1));
- $this->assertTrue($validate->notAgeMin('01-01-1970', 'd-m-Y', 99));
- $this->assertTrue($validate->notAlnum('a.b.c-1/2/3'));
- $this->assertTrue($validate->notAlpha('abc.def.123'));
- $this->assertTrue($validate->notArray(123));
- $this->assertTrue($validate->notBase64('123'));
- $this->assertTrue($validate->notBetween(2, 5, 10));
- $this->assertTrue($validate->notBlank('notblank'));
- $this->assertTrue($validate->notBool('notbool'));
- $this->assertTrue($validate->notCreditCard('notcreditcard'));
- $this->assertTrue($validate->notDatetime('31-02-1970', 'd-m-Y'));
- $this->assertTrue($validate->notEmail('not.an.email.com'));
- $this->assertTrue($validate->notEqualTo(1, 2));
- $this->assertTrue($validate->notFloat([1, 2, 3]));
- $this->assertTrue($validate->notIP('notanip'));
- $this->assertTrue($validate->notIPv4('notanip'));
- $this->assertTrue($validate->notIPv6('notanip'));
- $this->assertTrue($validate->notInKeys('d', ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertTrue($validate->notInValues(4, ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertTrue($validate->notInt('notanint'));
- $this->assertTrue($validate->notLocale('notalocale'));
- $this->assertTrue($validate->notMax(5, 1));
- $this->assertTrue($validate->notMin(5, 10));
- $this->assertTrue($validate->notRegex('abc123def', '~^[a-zA-Z]*[0-9]*$~'));
- $this->assertTrue($validate->notStrictEqualTo(1, '1'));
- $this->assertTrue($validate->notString(['not', 'a', 'string']));
- $this->assertTrue($validate->notStrlenBetween('123', 5, 10));
- $this->assertTrue($validate->notStrlen('123', 5));
- $this->assertTrue($validate->notStrlenMax('123', 1));
- $this->assertTrue($validate->notStrlenMin('123', 5));
- $this->assertTrue($validate->notTimezone('notatimezone'));
- $this->assertTrue($validate->notTrim(' nottrimmed '));
- $this->assertTrue($validate->notURL('notaurl'));
- $this->assertTrue($validate->notWord('not a word'));
- $this->assertFalse($validate->isAgeBetween('31-02-1970', 'd-m-Y', 1, 10));
- $this->assertFalse($validate->isAgeBetween('01-01-1970', 'd-m-Y', 1, 10));
- $this->assertFalse($validate->isAgeMax('01-01-1970', 'd-m-Y', 1));
- $this->assertFalse($validate->isAgeMin('01-01-1970', 'd-m-Y', 99));
- $this->assertFalse($validate->isAlnum('a.b.c-1/2/3'));
- $this->assertFalse($validate->isAlpha('abc.def.123'));
- $this->assertFalse($validate->isArray(123));
- $this->assertFalse($validate->isBase64('123'));
- $this->assertFalse($validate->isBetween(2, 5, 10));
- $this->assertFalse($validate->isBlank('notblank'));
- $this->assertFalse($validate->isBool('notbool'));
- $this->assertFalse($validate->isCreditCard('notcreditcard'));
- $this->assertFalse($validate->isDatetime('31-02-1970', 'd-m-Y'));
- $this->assertFalse($validate->isEmail('not.an.email.com'));
- $this->assertFalse($validate->isEqualTo(1, 2));
- $this->assertFalse($validate->isFloat([1, 2, 3]));
- $this->assertFalse($validate->isIP('notanip'));
- $this->assertFalse($validate->isIPv4('notanip'));
- $this->assertFalse($validate->isIPv6('notanip'));
- $this->assertFalse($validate->isInKeys('d', ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertFalse($validate->isInValues(4, ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertFalse($validate->isInt('notanint'));
- $this->assertFalse($validate->isLocale('notalocale'));
- $this->assertFalse($validate->isMax(5, 1));
- $this->assertFalse($validate->isMin(5, 10));
- $this->assertFalse($validate->isRegex('abc123def', '~^[a-zA-Z]*[0-9]*$~'));
- $this->assertFalse($validate->isStrictEqualTo(1, '1'));
- $this->assertFalse($validate->isString(['not', 'a', 'string']));
- $this->assertFalse($validate->isStrlenBetween('123', 5, 10));
- $this->assertFalse($validate->isStrlen('123', 5));
- $this->assertFalse($validate->isStrlenMax('123', 1));
- $this->assertFalse($validate->isStrlenMin('123', 5));
- $this->assertFalse($validate->isTimezone('notatimezone'));
- $this->assertFalse($validate->isTrim(' nottrimmed '));
- $this->assertFalse($validate->isURL('notaurl'));
- $this->assertFalse($validate->isWord('not a word'));
- $this->assertFalse($validate->notAgeBetween('01-01-1970', 'd-m-Y', 1, 99));
- $this->assertFalse($validate->notAgeMax('01-01-1970', 'd-m-Y', 99));
- $this->assertFalse($validate->notAgeMin('01-01-1970', 'd-m-Y', 1));
- $this->assertFalse($validate->notAlnum('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'));
- $this->assertFalse($validate->notAlpha('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'));
- $this->assertFalse($validate->notArray([1, 2, 3]));
- $this->assertFalse($validate->notBase64(base64_encode('test')));
- $this->assertFalse($validate->notBetween(2, 1, 3));
- $this->assertFalse($validate->notBetween(2, 2, 2));
- $this->assertFalse($validate->notBlank(''));
- $this->assertFalse($validate->notBlank(' '));
- $this->assertFalse($validate->notBlank(null));
- $this->assertFalse($validate->notBool(true));
- $this->assertFalse($validate->notBool('1'));
- $this->assertFalse($validate->notBool('on'));
- $this->assertFalse($validate->notBool('true'));
- $this->assertFalse($validate->notBool('t'));
- $this->assertFalse($validate->notBool('yes'));
- $this->assertFalse($validate->notBool('y'));
- $this->assertFalse($validate->notBool(false));
- $this->assertFalse($validate->notBool('0'));
- $this->assertFalse($validate->notBool('off'));
- $this->assertFalse($validate->notBool('false'));
- $this->assertFalse($validate->notBool('f'));
- $this->assertFalse($validate->notBool('no'));
- $this->assertFalse($validate->notBool('n'));
- $this->assertFalse($validate->notCreditCard('5514689104747025'));
- $this->assertFalse($validate->notDatetime('01-01-1970', 'd-m-Y'));
- $this->assertFalse($validate->notEmail('name@domain.com'));
- $this->assertFalse($validate->notEmail('name@domain.co.uk'));
- $this->assertFalse($validate->notEqualTo(1, 1));
- $this->assertFalse($validate->notEqualTo(1, 1.0));
- $this->assertFalse($validate->notEqualTo(1, '1'));
- $this->assertFalse($validate->notFloat(1.0));
- $this->assertFalse($validate->notFloat(M_PI));
- $this->assertFalse($validate->notFloat('3.14159265359'));
- $this->assertFalse($validate->notInKeys('a', ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertFalse($validate->notInt(1));
- $this->assertFalse($validate->notInValues(2, ['a' => 1, 'b' => 2, 'c' => 3]));
- $this->assertFalse($validate->notIP('184.165.132.11'));
- $this->assertFalse($validate->notIP('2001:0db8:85a3:0042:1000:8a2e:0370:7334'));
- $this->assertFalse($validate->notIPv4('184.165.132.11'));
- $this->assertFalse($validate->notIPv6('2001:0db8:85a3:0042:1000:8a2e:0370:7334'));
- $this->assertFalse($validate->notLocale('en_US'));
- $this->assertFalse($validate->notLocale('fr_CA'));
- $this->assertFalse($validate->notMax(2, 3));
- $this->assertFalse($validate->notMax(2, 2));
- $this->assertFalse($validate->notMin(2, 1));
- $this->assertFalse($validate->notMin(2, 2));
- $this->assertFalse($validate->notRegex('abc123def', '~^[^0-9]*123(.*)$~'));
- $this->assertFalse($validate->notStrictEqualTo(1, 1));
- $this->assertFalse($validate->notString('test'));
- $this->assertFalse($validate->notStrlenBetween('12345', 4, 6));
- $this->assertFalse($validate->notStrlenBetween('12345', 5, 5));
- $this->assertFalse($validate->notStrlenMax('12345', 6));
- $this->assertFalse($validate->notStrlenMax('12345', 5));
- $this->assertFalse($validate->notStrlenMin('12345', 4));
- $this->assertFalse($validate->notStrlenMin('12345', 5));
- $this->assertFalse($validate->notStrlen('12345', 5));
- $this->assertFalse($validate->notTimezone('America/New_York'));
- $this->assertFalse($validate->notTimezone('America/Argentina/Buenos_Aires'));
- $this->assertFalse($validate->notTrim('test'));
- $this->assertFalse($validate->notTrim('te st'));
- $this->assertFalse($validate->notURL('http://www.php.net/manual/en/timezones.america.php'));
- $this->assertFalse($validate->notURL('http://ca1.php.net/manual-lookup.php?pattern=x&lang=en&scope=quickref'));
- $this->assertFalse($validate->notWord('test'));
- }
- }