Refactored Csrf form widget. + Added unit tests for Csrt.

This commit is contained in:
Dmitry Khomutov 2018-03-12 22:58:12 +07:00
commit 7abd3febc1
No known key found for this signature in database
GPG key ID: EC19426474B37AAC
9 changed files with 175 additions and 103 deletions

View file

@ -107,7 +107,7 @@ class FormTest extends \PHPUnit\Framework\TestCase
public function testFieldSetBasics()
{
$f = new Form\FieldSet();
$f = new Form\FieldSet();
$f2 = new Form\FieldSet('group');
$f3 = new Form\FieldSet();
@ -141,6 +141,14 @@ class FormTest extends \PHPUnit\Framework\TestCase
$html = $f->render();
self::assertTrue(strpos($html, 'one') !== false);
self::assertTrue(strpos($html, 'two') !== false);
$children = $f->getChildren();
self::assertEquals(2, count($children));
self::assertEquals($f2, $children[$f2->getName()]);
self::assertEquals($f3, $children[$f3->getName()]);
$child = $f->getChild($f3->getName());
self::assertEquals($f3, $child);
}
public function testElements()
@ -196,6 +204,15 @@ class FormTest extends \PHPUnit\Framework\TestCase
$e = new Form\Element\Url();
self::assertTrue(strpos($e->render(), 'url') !== false);
$_SESSION = [];
$e = new Form\Element\Csrf();
self::assertTrue(strpos($e->render(), $e->getValue()) !== false);
self::assertEquals($_SESSION['csrf_tokens'][$e->getName()], $e->getValue());
self::assertTrue($e->validate());
$e->setValue('111');
self::assertFalse($e->validate());
$e = new Form\Element\Password();
self::assertTrue(strpos($e->render(), 'password') !== false);
}