/** * Tests the text::random() function. * @dataProvider random_provider * @group core.helpers.text.random * @test */ public function random($type, $length = 8) { //$this->markTestIncomplete('Test for PHP 5.3 bug needs to be counted, Kohana is still supporting 5.2'); $result = text::random($type, $length); if ((string) $type) { // Checking length $this->assertEquals(mb_strlen($result), $length); $pool = ''; switch ($type) { case 'alnum': $this->assertTrue(valid::alpha_numeric($result)); break; case 'alpha': $this->assertTrue(valid::alpha($result)); break; case 'numeric': $this->assertTrue(valid::numeric($result)); break; case 'nozero': $this->assertTrue(is_numeric($result)); break; case 'hexdec': $pool = '0123456789abcdef'; break; case 'distinct': $pool = '2345679ACDEFHJKLMNPRSTUVWXYZ'; break; default: $pool = (string) $type; } if ($pool) { // PHP versions before 5.3 have a bug with preg_quote and it doesn't escape '-' $pool = version_compare(PHP_VERSION, '5.3', '>=') ? preg_quote((string) $pool, '/') : utf8::str_ireplace('-', '\\-', preg_quote((string) $pool, '/')); if (preg_match('/[' . $pool . ']*/u', $result, $match)) { $this->assertEquals($match[0], $result); } else { $this->assertTrue(FALSE); } } } else { // Checking length $this->assertEquals($result, ''); } }
public function isValid($validation_data) { $errors = []; foreach ($validation_data as $name => $value) { //echo $name." "; //if (isset($_REQUEST[$name]) && !empty($_REQUEST[$name])) if ($name == "verify_emails") { //echo "verify email found"; $name = "verify_email"; } if ($name == "verify_passwords") { //echo "verify password found"; $name = "verify_password"; } if ($name == "emails") { //echo "verify password found"; $name = "email"; } $exploded = explode(":", $value); //echo $exploded[0]."<br>"; switch ($exploded[0]) { case 'min': $min = $exploded[1]; if (valid::alpha()->length($min)->validate($_REQUEST[$name]) == false) { $errors[] = "{$name} must be at least {$min} Characters Long!"; } break; case 'email': //echo "irum"; if (valid::email()->validate($_REQUEST[$name]) == false) { $errors[] = "You must enter a valid Email address"; } break; case 'alnum': //echo "irum"; if (valid::alnum()->length(4)->validate($_REQUEST[$name]) == false) { $errors[] = "Password must be at least 4 Characters Long"; } break; case 'equalTo': if (valid::equals($_REQUEST[$name])->validate($_REQUEST[$exploded[1]]) == false) { $errors[] = "Values does not match verification value!"; } break; case 'unique': //echo "unique"; $model = "Acme\\models\\" . $exploded[1]; $table = new $model(); //dd($name); $results = $table::where($name, '=', $_REQUEST[$name])->first(); //dd($results); if ($results != null) { $errors[] = $_REQUEST[$name] . " already exist in this system!"; } break; default: $errors[] = "No Values Found!"; break; } } return $errors; }
/** * Tests the valid::alpha() function. * @dataProvider alpha_provider * @group core.helpers.valid.alpha * @test */ public function alpha($input_alpha, $expected_result) { $result = valid::alpha($input_alpha); $this->assertEquals($expected_result, $result); }
public function valid_alpha_test() { $this->assert_true_strict(valid::alpha('abc'))->assert_false_strict(valid::alpha('123')); }
/** * Tests the text::random() function. * @dataProvider random_provider * @group core.helpers.text.random * @test */ public function random($type, $length = 8) { $this->markTestIncomplete('Test for PHP 5.3 bug needs to be counted, Kohana is still supporting 5.2'); $result = text::random($type, $length); if ((string) $type) { // Checking length $this->assertEquals(utf8::strlen($result), $length); $pool = ''; switch ($type) { case 'alnum': $this->assertTrue(valid::alpha_numeric($result)); break; case 'alpha': $this->assertTrue(valid::alpha($result)); break; case 'numeric': $this->assertTrue(valid::numeric($result)); break; case 'nozero': $this->assertTrue(is_numeric($result)); break; case 'hexdec': $pool = '0123456789abcdef'; break; case 'distinct': $pool = '2345679ACDEFHJKLMNPRSTUVWXYZ'; break; default: $pool = (string) $type; } if ($pool) { if (preg_match('/[' . preg_quote((string) $pool, '/') . ']*/u', $result, $match)) { $this->assertEquals($match[0], $result); } else { $this->assertTrue(FALSE); } } } else { // Checking length $this->assertEquals($result, ''); } }