def test_empty(self): stream = XML('<elem></elem>') | EmptyTagFilter() self.assertEqual([EmptyTagFilter.EMPTY], [ev[0] for ev in stream])
def test_text_content(self): stream = XML('<elem>foo</elem>') | EmptyTagFilter() self.assertEqual([Stream.START, Stream.TEXT, Stream.END], [ev[0] for ev in stream])
def test_script_escaping(self): text = '<script>if (1 < 2) { alert("Doh"); }</script>' output = XML(text).render(HTMLSerializer, encoding=None) self.assertEqual('<script>if (1 < 2) { alert("Doh"); }</script>', output)
def test_style_escaping(self): text = '<style>html > body { display: none; }</style>' output = XML(text).render(HTMLSerializer, encoding=None) self.assertEqual('<style>html > body { display: none; }</style>', output)
def test_xml_space(self): text = '<foo xml:space="preserve"> Do not mess \n\n with me </foo>' output = XML(text).render(HTMLSerializer, encoding=None) self.assertEqual('<foo> Do not mess \n\n with me </foo>', output)
def test_empty_script(self): text = '<script src="foo.js" />' output = XML(text).render(HTMLSerializer, encoding=None) self.assertEqual('<script src="foo.js"></script>', output)
def test_textarea_whitespace(self): content = '\nHey there. \n\n I am indented.\n' stream = XML('<textarea name="foo">%s</textarea>' % content) output = stream.render(HTMLSerializer, encoding=None) self.assertEqual('<textarea name="foo">%s</textarea>' % content, output)
def test_pre_whitespace(self): content = '\nHey <em>there</em>. \n\n I am indented.\n' stream = XML('<pre>%s</pre>' % content) output = stream.render(HTMLSerializer, encoding=None) self.assertEqual('<pre>%s</pre>' % content, output)
def test_ignorable_space(self): text = '<foo> Mess \n\n\n with me! </foo>' output = XML(text).render(XMLSerializer, encoding=None) self.assertEqual('<foo> Mess\n with me! </foo>', output)
def test_xml_lang_nodup(self): text = '<p lang="en" xml:lang="en">English text</p>' output = XML(text).render(HTMLSerializer, encoding=None) self.assertEqual('<p lang="en">English text</p>', output)
def test_xhtml_namespace_prefix(self): text = """<div xmlns="http://www.w3.org/1999/xhtml"> <strong>Hello</strong> </div>""" output = XML(text).render(XHTMLSerializer, encoding=None) self.assertEqual(text, output)
def test_style_escaping_with_namespace(self): text = """<style xmlns="http://www.w3.org/1999/xhtml">/*<![CDATA[*/ html > body { display: none; } /*]]>*/</style>""" output = XML(text).render(XHTMLSerializer, encoding=None) self.assertEqual(text, output)
def test_style_escaping(self): text = """<style>/*<![CDATA[*/ html > body { display: none; } /*]]>*/</style>""" output = XML(text).render(XHTMLSerializer, encoding=None) self.assertEqual(text, output)
def test_script_escaping_with_namespace(self): text = """<script xmlns="http://www.w3.org/1999/xhtml">/*<![CDATA[*/ if (1 < 2) { alert("Doh"); } /*]]>*/</script>""" output = XML(text).render(XHTMLSerializer, encoding=None) self.assertEqual(text, output)
def test_script_escaping(self): text = """<script>/*<![CDATA[*/ if (1 < 2) { alert("Doh"); } /*]]>*/</script>""" output = XML(text).render(XHTMLSerializer, encoding=None) self.assertEqual(text, output)