Ejemplo n.º 1
0
 /**
  * Test that addRule() will add a single rule, or addField() will add multiple rules, and getRules() will return all rules.
  */
 public function testAddGetRules()
 {
     $this->assertEquals(array(), $this->object->getRules());
     // via addRule()
     $this->object->addField('basicRule', 'Basic Rule')->addRule('basicRule', 'alphaNumeric', 'Custom alpha-numeric message')->addRule('basicRule', 'between', 'May only be between 0 and 100 characters', array(0, 100));
     // use default message
     $this->assertEquals(array('basicRule' => array('alphaNumeric' => array('message' => 'Custom alpha-numeric message', 'options' => array()), 'between' => array('message' => 'May only be between 0 and 100 characters', 'options' => array(0, 100)))), $this->object->getRules());
     // via third argument in addField()
     $this->object->addMessages(array('phone' => 'Invalid phone number', 'email' => 'Please provide an email', 'ext' => 'Valid extensions are {0}', 'ip' => 'Please provide an IPv4'));
     $this->object->addField('advRule', 'Advanced Rule', array('phone', 'email', 'ext' => array(array('txt', 'pdf')), 'ip' => Validate::IPV4));
     $this->assertEquals(array('basicRule' => array('alphaNumeric' => array('message' => 'Custom alpha-numeric message', 'options' => array()), 'between' => array('message' => 'May only be between 0 and 100 characters', 'options' => array(0, 100))), 'advRule' => array('phone' => array('message' => 'Invalid phone number', 'options' => array()), 'email' => array('message' => 'Please provide an email', 'options' => array()), 'ext' => array('message' => 'Valid extensions are {0}', 'options' => array(array('txt', 'pdf'))), 'ip' => array('message' => 'Please provide an IPv4', 'options' => array(Validate::IPV4)))), $this->object->getRules());
 }