diff options
author | Waylan Limberg <waylan@gmail.com> | 2013-08-07 21:39:08 -0400 |
---|---|---|
committer | Waylan Limberg <waylan@gmail.com> | 2013-08-07 21:39:08 -0400 |
commit | a64592d5f288d0b83b11aa7d4eade728d5d5fb91 (patch) | |
tree | d14e2849cf2ca93b9a0bf813fa0f75644af2b3f8 /tests | |
parent | a4ceb0b2a5f2c2ae8aa3981182cf829fdd28e840 (diff) | |
download | markdown-a64592d5f288d0b83b11aa7d4eade728d5d5fb91.tar.gz markdown-a64592d5f288d0b83b11aa7d4eade728d5d5fb91.tar.bz2 markdown-a64592d5f288d0b83b11aa7d4eade728d5d5fb91.zip |
Serializers now preserve case of tags.
It is up to the markdown code (and extension authors to make sure tags are
of the correct case (there may be cases were an extension might need to
mix cases - which should be preserved). Fixes #237. Thanks for the report
@eichin.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_apis.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/test_apis.py b/tests/test_apis.py index dd232b3..4a7c7c7 100644 --- a/tests/test_apis.py +++ b/tests/test_apis.py @@ -326,6 +326,38 @@ class testETreeComments(unittest.TestCase): '<!--foo-->\n') +class testSerializers(unittest.TestCase): + """ Test the html and xhtml serializers. """ + + def testHtml(self): + """ Test HTML serialization. """ + el = markdown.util.etree.Element('div') + p = markdown.util.etree.SubElement(el, 'p') + p.text = 'foo' + hr = markdown.util.etree.SubElement(el, 'hr') + self.assertEqual(markdown.serializers.to_html_string(el), + '<div><p>foo</p><hr></div>') + + def testXhtml(self): + """" Test XHTML serialization. """ + el = markdown.util.etree.Element('div') + p = markdown.util.etree.SubElement(el, 'p') + p.text = 'foo' + hr = markdown.util.etree.SubElement(el, 'hr') + self.assertEqual(markdown.serializers.to_xhtml_string(el), + '<div><p>foo</p><hr /></div>') + + def testMixedCaseTags(self): + """" Test preservation of tag case. """ + el = markdown.util.etree.Element('MixedCase') + el.text = 'not valid ' + em = markdown.util.etree.SubElement(el, 'EMPHASIS') + em.text = 'html' + hr = markdown.util.etree.SubElement(el, 'HR') + self.assertEqual(markdown.serializers.to_xhtml_string(el), + '<MixedCase>not valid <EMPHASIS>html</EMPHASIS><HR /></MixedCase>') + + class testAtomicString(unittest.TestCase): """ Test that AtomicStrings are honored (not parsed). """ |