diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/htmlform/HTMLFormTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/htmlform/HTMLFormTest.php | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/htmlform/HTMLFormTest.php b/www/wiki/tests/phpunit/includes/htmlform/HTMLFormTest.php new file mode 100644 index 00000000..e20cf942 --- /dev/null +++ b/www/wiki/tests/phpunit/includes/htmlform/HTMLFormTest.php @@ -0,0 +1,57 @@ +<?php + +/** + * @covers HTMLForm + * + * @license GNU GPL v2+ + * @author Gergő Tisza + * @author Thiemo Mättig + */ +class HTMLFormTest extends MediaWikiTestCase { + + private function newInstance() { + $form = new HTMLForm( [] ); + $form->setTitle( Title::newFromText( 'Foo' ) ); + return $form; + } + + public function testGetHTML_empty() { + $form = $this->newInstance(); + $form->prepareForm(); + $html = $form->getHTML( false ); + $this->assertStringStartsWith( '<form ', $html ); + } + + /** + * @expectedException LogicException + */ + public function testGetHTML_noPrepare() { + $form = $this->newInstance(); + $form->getHTML( false ); + } + + public function testAutocompleteDefaultsToNull() { + $form = $this->newInstance(); + $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) ); + } + + public function testAutocompleteWhenSetToNull() { + $form = $this->newInstance(); + $form->setAutocomplete( null ); + $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) ); + } + + public function testAutocompleteWhenSetToFalse() { + $form = $this->newInstance(); + // Previously false was used instead of null to indicate the attribute should not be set + $form->setAutocomplete( false ); + $this->assertNotContains( 'autocomplete', $form->wrapForm( '' ) ); + } + + public function testAutocompleteWhenSetToOff() { + $form = $this->newInstance(); + $form->setAutocomplete( 'off' ); + $this->assertContains( ' autocomplete="off"', $form->wrapForm( '' ) ); + } + +} |