def test_doctypes(self): self.assertEqual('<?xml version="1.0" encoding="utf-8" ?>', parser.parse("!!! xml")) self.assertEqual("<!DOCTYPE html>", parser.parse("doctype html")) self.assertEqual( '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"' + ' "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">', parser.parse("doctype BaSiC"), ) self.assertEqual("<!DOCTYPE html>", parser.parse("!!! 5")) self.assertEqual( '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"' + ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', parser.parse("!!!"), ) self.assertEqual("<!DOCTYPE html>", parser.parse("!!! html"))
def test_tag(self): self.assertEqual('<div id="foo"></div>', parser.parse("#foo")) self.assertEqual('<div id="foo" class="bar baz"></div>', parser.parse("#foo.bar.baz")) self.assertEqual('<div id="foo-ey" class="bar baz"></div>', parser.parse("#foo-ey.bar.baz")) self.assertEqual('<div id="foo" class="bar"></div>', parser.parse(".bar#foo")) self.assertEqual('<div id="foo" class="bar baz"></div>', parser.parse(".bar.baz#foo")) self.assertEqual('<div class="bar"></div>', parser.parse(".bar")) self.assertEqual('<a class="bar"></a>', parser.parse("a.bar")) self.assertEqual('<p id="foo" class="bar"></p>', parser.parse("p#foo.bar")) self.assertEqual('<li id="foo" class="bar"></li>', parser.parse("li#foo.bar")) self.assertEqual('<ul id="foo" class="bar baz"></ul>', parser.parse("ul.bar.baz#foo")) self.assertEqual( '<a id="foo" class="bar baz" href="/login" alt="Log in"></a>', parser.parse('a.bar.baz#foo (href="/login" alt="Log in")'), ) self.assertEqual('<a href="/login" alt="Log in"></a>', parser.parse('a(href="/login" alt="Log in")')) self.assertEqual( '<input id="tos" type="checkbox" checked name="tos" />', parser.parse('input#tos(type="checkbox" checked name="tos")'), ) self.assertEqual('<img class="img large" src="test.jpg" />', parser.parse('img.img.large(src="test.jpg")')) self.assertEqual("<br />", parser.parse("br"))
def test_unbuffered_comment(self): self.assertEqual("", parser.parse("//- test")) self.assertEqual("", parser.parse("//- //- test")) self.assertEqual("", parser.parse("//- test this spaces"))
def test_buffered_comment(self): self.assertEqual("<!-- test -->", parser.parse("// test")) self.assertEqual("<!-- // test -->", parser.parse("// // test")) self.assertEqual("<!-- test this spaces -->", parser.parse("// test this spaces"))