Example #1
0
 /**
  * Ensures that the allowWhiteSpace option works as expected
  *
  * @return void
  */
 public function testAllowWhiteSpace()
 {
     $this->filter->setAllowWhiteSpace(true);
     if (!self::$unicodeEnabled) {
         // POSIX named classes are not supported, use alternative a-zA-Z match
         $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'AZ@#4.3' => 'AZ43', '' => '', "\n" => "\n", " \t " => " \t ");
     } elseif (self::$meansEnglishAlphabet) {
         //The Alphabet means english alphabet.
         $valuesExpected = array('a B 45' => 'a B 5', 'z3 x' => 'z3x');
     } else {
         //The Alphabet means each language's alphabet.
         $valuesExpected = array('abc123' => 'abc123', 'abc 123' => 'abc 123', 'abcxyz' => 'abcxyz', 'če2 t3ně' => 'če2 t3ně', 'gr z5e4gżółka' => 'gr z5e4gżółka', 'Be3l5 gië' => 'Be3l5 gië', '' => '');
     }
     foreach ($valuesExpected as $input => $expected) {
         $actual = $this->filter->filter($input);
         $this->assertEquals($expected, $actual);
     }
 }
Example #2
0
 /**
  * Returns true if and only if $value contains only alphabetic and digit characters
  *
  * @param  string $value
  * @return bool
  */
 public function isValid($value)
 {
     if (!is_string($value) && !is_int($value) && !is_float($value)) {
         $this->error(self::INVALID);
         return false;
     }
     $this->setValue($value);
     if ('' === $value) {
         $this->error(self::STRING_EMPTY);
         return false;
     }
     if (null === static::$filter) {
         static::$filter = new AlnumFilter();
     }
     static::$filter->setAllowWhiteSpace($this->options['allowWhiteSpace']);
     if ($value != static::$filter->filter($value)) {
         $this->error(self::NOT_ALNUM);
         return false;
     }
     return true;
 }