function testRule_MatchParams() { $dataspace = new A_Collection(); $rule = new A_Rule_Match(); $dataspace->set('foo', 'TEST123'); $dataspace->set('bar', 'TEST123'); $this->assertTrue($rule->isValid($dataspace)); $rule = new A_Rule_Match('foo'); $dataspace->set('foo', 'TEST123'); $dataspace->set('bar', 'TEST123'); $this->assertFalse($rule->isValid($dataspace)); }
function testRuleLength() { $dataspace = new A_Collection(); $rule = new A_Rule_Length(5, 10, 'test', 'error'); $dataspace->set('test', 'TEST123'); $this->assertTrue($rule->isValid($dataspace)); $dataspace->set('test', 'TEST'); $this->assertFalse($rule->isValid($dataspace)); $dataspace->set('test', 'TEST1234567890'); $this->assertFalse($rule->isValid($dataspace)); }
function testRuleRegexp() { $dataspace = new A_Collection(); $rule = new A_Rule_Regexp('/123$/', 'test', 'error'); $dataspace->set('test', 'test123'); $result = $rule->isValid($dataspace); $this->assertTrue($result); $dataspace->set('test', 'test234'); $result = $rule->isValid($dataspace); $this->assertFalse($result); }
function testModelCheckRules() { $model = new A_Model(); $datasource = new A_Collection(); $datasource->set('foo', 'barBAR'); $datasource->set('bar', 'baz'); $rule = new A_Rule_Regexp('/^[a-z]*$/', '', 'not all lowercase letters. '); // add rule to check both fields $model->addRule($rule, array('foo', 'bar')); # $model->excludeRules(array('foo', 'bar')); $this->assertFalse($model->isValid($datasource)); // only check bar $model->excludeRules(array('foo')); $this->assertTrue($model->isValid($datasource)); // only check foo $model->excludeRules(array()); $model->includeRules(array('foo')); $this->assertFalse($model->isValid($datasource)); #dump($model, 'Model: ', 1); #echo '<pre>' . print_r($model->getErrorMsg(), 1) . '</pre>'; #echo '<pre>' . print_r($model->isValid($datasource), 1) . '</pre>'; }
function testRuleRange() { $dataspace = new A_Collection(); $rule = new A_Rule_Range(5, 10, 'test', 'error'); foreach (array(5, 7, 10) as $value) { $dataspace->set('test', $value); $result = $rule->isValid($dataspace); $this->assertTrue($result); } foreach (array(2, 3, 11, 13) as $value) { $dataspace->set('test', $value); $result = $rule->isValid($dataspace); $this->assertFalse($result); } }
public function testCount() { $collection = new A_Collection(); $this->assertEqual($collection->count(), 0); $collection->add('foo'); $this->assertEqual($collection->count(), 1); $collection->set('bar', 'baz'); $this->assertEqual($collection->count(), 2); $collection->set('baz', null); $this->assertEqual($collection->count(), 2); $collection->remove(0); $this->assertEqual($collection->count(), 1); }
$form->text(array('name' => 'blogPost[body]', 'val:regex' => '\\w{1,65535}')); $form->submit('submit', 'login'); echo $form->render(); exit; echo '<br/>Object usage:'; $model = array('username' => 'foo'); $form = new A_Html_Form(); $form->setModel($model); $form->setWrapper('A_Html_Div', array('class' => 'fieldclass', 'style' => 'border:1px solid red;')); $form->text('username', 'Enter Username:'******'passwd', 'Enter Password:'******'submit', 'login'); echo $form->render(); $form->reset(); $model = new A_Collection(); $model->set('username', 'bar'); $form->setModel($model); echo '<br/>Fluent usage:'; echo $form->text(array('name' => 'username', 'label' => 'Enter Username:'******'passwd', 'Enter Password:'******'submit', 'login')->render(); echo '<br/>Static usage'; echo A_Html_Form::render(array('action' => 'foo', 'class' => 'bar'), 'Form inputs go here'); echo '<br/>Fieldset usage:'; $fields1 = new A_Html_Form(); $fields1->text('username', 'Enter Username:'******'passwd', 'Enter Password:'******'email', 'Enter Email:'); $fields2->password('phone', 'Enter Phone:'); $form = new A_Html_Form(); $form->fieldset('set1', $fields1->partial()); $form->fieldset('set2', $fields2->partial());