/**
  * 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, '');
     }
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 /**
  * 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);
 }
Exemple #4
0
 public function valid_alpha_test()
 {
     $this->assert_true_strict(valid::alpha('abc'))->assert_false_strict(valid::alpha('123'));
 }
Exemple #5
0
 /**
  * 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, '');
     }
 }