public function testBasic() { $name = 'test'; $value = 'value'; $text = new Text($name); $this->assertEquals(null, $text->getValue()); $text->setValue($value); $this->assertEquals($value, $text->getValue()); }
/** * @dataProvider providerValidator * @throws \Exception */ public function testValidator($value, $expected1, $expected2) { $name = new Text('test', null); $name->addValidator(new Required()); $name->setValue($value); $result1 = $name->validate(); $this->assertEquals($expected1, $result1); $result2 = $name->getErrors(); $this->assertEquals($expected2, $result2); }
/** * validate(POST時のテスト)。失敗パターン * csrfトークンのチェックが強制的に入る */ public function testValidatePostFailure() { $name = 'name'; $value = 'abc'; $expected = false; $expectMessages = ['無効なフォームからの送信です。']; $expectAllMessages = ['無効なフォームからの送信です。']; $_SERVER['REQUEST_METHOD'] = "POST"; $_POST['csrf'] = ''; $di = DI::getDefault(); $form = new Form($di); $name = new Text($name, null); $name->addValidator(new Required()); $name->setValue($value); $form->add($name); $result = $form->validate(); $this->assertEquals($expected, $result); $messages = $form->getErrors('csrf'); $this->assertEquals($expectMessages, $messages); $allMessages = $form->getErrors(); $this->assertEquals($expectAllMessages, $allMessages); }