Пример #1
0
 function testModel_FormValid()
 {
     $request = new Model_FormTest_Request();
     $model = new A_Model_Form();
     // check not post
     $this->assertFalse($model->isValid($request));
     // test post mode no fields or rules
     $request->setMethod('POST');
     $this->assertTrue($model->isValid($request));
     // test post mode with field and param value but no rules
     $request->set('foo', 'bar');
     $field = $model->newField('foo');
     $this->assertTrue($model->isValid($request));
     $this->assertEqual($model->get('foo'), 'bar');
     // add rule
     $field->addRule(new A_Rule_Notnull('foo', 'error'));
     // param not set
     $request->set('foo', null);
     $this->assertFalse($model->isValid($request));
     $this->assertTrue($model->isError());
     $this->assertEqual($model->getErrorMsg(), array('foo' => array('error')));
     $this->assertEqual($model->getErrorMsg(' '), 'error');
     // param not set
     $request->set('foo', 'bar');
     $this->assertTrue($model->isValid($request));
 }