diff options
author | Asmir Mustafic <[email protected]> | 2014-06-17 16:00:24 +0200 |
---|---|---|
committer | Asmir Mustafic <[email protected]> | 2014-06-17 16:00:24 +0200 |
commit | 03094ac9606d90265d8b6bcce908f739e9798e46 (patch) | |
tree | 8ed64d9d446b8bf8e042b6aa2fd07c5743efedc6 /test/HTML5/Serializer/OutputRulesTest.php | |
parent | 3959083837c7d2bfa6e922980b4a58faa68e5176 (diff) |
Serialization rules for boolean attributes
Diffstat (limited to 'test/HTML5/Serializer/OutputRulesTest.php')
-rw-r--r-- | test/HTML5/Serializer/OutputRulesTest.php | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/test/HTML5/Serializer/OutputRulesTest.php b/test/HTML5/Serializer/OutputRulesTest.php index a54a754..9f1c573 100644 --- a/test/HTML5/Serializer/OutputRulesTest.php +++ b/test/HTML5/Serializer/OutputRulesTest.php @@ -438,12 +438,45 @@ class OutputRulesTest extends \Masterminds\HTML5\Tests\TestCase $this->assertEquals($expected, $m->invoke($o, $test, $isAttribute)); } + public function booleanAttributes() + { + return array( + array('<input type="radio" readonly>'), + array('<input type="radio" checked disabled>'), + array('<input type="checkbox" checked disabled>'), + array('<select disabled></select>'), + array('<img alt="">'), + array('<img alt="" ismap>'), + array('<script defer></script>'), + ); + } + /** + * @dataProvider booleanAttributes + */ + public function testBooleanAttrs($html) + { + $dom = $this->html5->loadHTML('<!doctype html><html lang="en"><body>'.$html.'</body></html>'); + + $stream = fopen('php://temp', 'w'); + $r = new OutputRules($stream, $this->html5->getOptions()); + $t = new Traverser($dom, $stream, $r, $this->html5->getOptions()); + + $node = $dom->getElementsByTagName('body')->item(0)->firstChild; + + $m = $this->getProtectedMethod('attrs'); + $m->invoke($r, $node); + + $content = stream_get_contents($stream, - 1, 0); + $this->assertContains($content, $html); + + } + public function testAttrs() { $dom = $this->html5->loadHTML('<!doctype html> <html lang="en"> <body> - <div id="foo" class="bar baz" disabled>foo bar baz</div> + <div id="foo" class="bar baz">foo bar baz</div> </body> </html>'); @@ -457,7 +490,7 @@ class OutputRulesTest extends \Masterminds\HTML5\Tests\TestCase $m->invoke($r, $list->item(0)); $content = stream_get_contents($stream, - 1, 0); - $this->assertEquals(' id="foo" class="bar baz" disabled', $content); + $this->assertEquals(' id="foo" class="bar baz"', $content); } public function testSvg() |