示例#1
0
 /**
  */
 public function testRuleMinLength()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('1234', 'minlength=3'));
     $this->assertValid($validator->singleValidate('123', 'minlength=3'));
     $this->assertInvalid($validator->singleValidate('12', 'minlength=3'));
 }
示例#2
0
 /**
  */
 public function testRuleLength()
 {
     $validator = new SimpleValidator();
     $this->assertInvalid($validator->singleValidate('123', 'length=9'));
     $this->assertValid($validator->singleValidate('123456789', 'length=9'));
     $this->assertInvalid($validator->singleValidate('12345678', 'length=9'));
 }
示例#3
0
 /**
  */
 public function testRuleFloat()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('1234.456', 'float'));
     $this->assertValid($validator->singleValidate(1234, 'float'));
     $this->assertValid($validator->singleValidate(1234.78, 'float'));
     $this->assertInvalid($validator->singleValidate('abc', 'float'));
 }
示例#4
0
 /**
  */
 public function testRuleMin()
 {
     $validator = new SimpleValidator();
     $this->assertInvalid($validator->singleValidate(2, 'min=5'));
     $this->assertValid($validator->singleValidate('10', 'min=10'));
     $this->assertValid($validator->singleValidate(10, 'min=10'));
     $this->assertValid($validator->singleValidate(15, 'min=10'));
 }
示例#5
0
 public function testRuleZip()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('50312', 'zip'));
     $this->assertValid($validator->singleValidate('98226-1234', 'zip'));
     $this->assertValid($validator->singleValidate('12345', 'zip'));
     $this->assertInvalid($validator->singleValidate('999', 'zip'));
     $this->assertInvalid($validator->singleValidate('abcdef', 'zip'));
 }
示例#6
0
 /**
  */
 public function testRuleMax()
 {
     $validator = new SimpleValidator();
     $this->assertInvalid($validator->singleValidate(100, 'max=99'));
     $this->assertInvalid($validator->singleValidate("100", 'max=99'));
     $this->assertValid($validator->singleValidate('10', 'max=10'));
     $this->assertValid($validator->singleValidate(10, 'max=10'));
     $this->assertValid($validator->singleValidate(5, 'max=10'));
 }
示例#7
0
 /**
  * @dataProvider dataNumeric
  */
 public function testNumeric($expected_success, $value)
 {
     $validator = new SimpleValidator();
     if ($expected_success) {
         $this->assertEquals(NULL, $validator->singleValidate($value, 'numeric'));
     } else {
         $this->assertEquals($validator->errorForNumeric, $validator->singleValidate($value, 'numeric'));
     }
 }
示例#8
0
 public function testRuleChoices()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('two', 'choices=one,two,three,four'));
     $this->assertValid($validator->singleValidate(array('one', 'two'), 'choices=one,two,three,four'));
     $this->assertInvalid($validator->singleValidate(array('one', 'six'), 'choices=one,two,three,four'));
     // large list of choices
     $choice = $this->randChoice();
     $options = "choices=" . $choice;
     for ($i = 0; $i < 100; $i++) {
         $options .= ',' . $this->randChoice();
     }
     $this->assertValid($validator->singleValidate($choice, $options));
     $this->assertInvalid($validator->singleValidate('none', 'choices=one,two,three,four'));
 }
示例#9
0
 /**
  * @dataProvider data_Dates
  */
 public function testRuleDate($valid, $date)
 {
     $validator = new SimpleValidator();
     $method = $valid ? 'assertValid' : 'assertInvalid';
     $this->{$method}($validator->singleValidate($date, 'date'));
 }
示例#10
0
 public function testRuleAlpha()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('abcdef', 'alpha'));
     $this->assertInvalid($validator->singleValidate('999', 'alpha'));
 }
示例#11
0
 /**
  */
 public function testRuleNumeric()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('1234', 'numeric'));
     $this->assertInvalid($validator->singleValidate('abc', 'numeric'));
 }
示例#12
0
 /**
  */
 public function testRuleRequired()
 {
     $validator = new SimpleValidator();
     $this->assertInvalid($validator->singleValidate('', 'required'));
     $this->assertValid($validator->singleValidate('Value here', 'required'));
 }
示例#13
0
 /**
  * @dataProvider data_Addresses
  */
 public function testRuleEmail($valid, $address)
 {
     $validator = new SimpleValidator();
     $method = $valid ? 'assertValid' : 'assertInvalid';
     $this->{$method}($validator->singleValidate($address, 'url'));
 }
示例#14
0
 /**
  */
 public function testRuleNone()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate($this->randChoice(), 'none'));
     $this->assertValid($validator->singleValidate("4%6&#\$@\\}", 'none'));
 }
示例#15
0
 /**
  */
 public function testRulePhrase()
 {
     $validator = new SimpleValidator();
     $this->assertValid($validator->singleValidate('Text with spaces', 'phrase'));
     $this->assertInvalid($validator->singleValidate('Text-with/extracharacters', 'phrase'));
 }
示例#16
0
 /**
  * @dataProvider data_BadCities
  */
 public function testRuleInvalidCity($city)
 {
     $validator = new SimpleValidator();
     $this->assertInvalid($validator->singleValidate($city, 'city'));
 }
示例#17
0
 /**
  * @expectedException SimpleValidatorException
  */
 public function testInvalidRuleException()
 {
     $validator = new SimpleValidator();
     $validator->singleValidate('sample text', 'alphaNumBlahBlah');
 }