From 7156d1a73ab6ce39ae8f8325bc8a62c0083cd054 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 6 Feb 2011 14:17:30 +1300 Subject: Rip out BeautifulSoup, and use a custom XML-ish prettyprinter. --- test/test_utils.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 53 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/test_utils.py b/test/test_utils.py index 325664a4..1ec4f2f5 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -1,4 +1,4 @@ -import textwrap, cStringIO, os, time +import textwrap, cStringIO, os, time, re import libpry from libmproxy import utils @@ -228,13 +228,59 @@ class umake_bogus_cert(libpry.AutoTree): assert "CERTIFICATE" in d -class uprettybody(libpry.AutoTree): +class upretty_xmlish(libpry.AutoTree): + def test_tagre(self): + def f(s): + return re.search(utils.TAG, s, re.VERBOSE|re.MULTILINE) + assert f(r"") + assert f(r"") + assert f(r"< body/>") + assert f(r"< body/ >") + assert f(r"< body / >") + assert f(r"") + assert f(r"") + assert f(r"") + assert f(r'') + assert f('') + def test_all(self): - s = "

" - assert utils.prettybody(s) + def isbalanced(ret): + # The last tag should have no indent + assert ret[-1].strip() == ret[-1] + + s = "


one

" + ret = utils.pretty_xmlish(s) + isbalanced(ret) + + s = r""" + + """ + isbalanced(utils.pretty_xmlish(textwrap.dedent(s))) + + s = r""" +
+ bar + + """ + isbalanced(utils.pretty_xmlish(textwrap.dedent(s))) + + s = r""" + + + """ + ret = utils.pretty_xmlish(textwrap.dedent(s)) + isbalanced(ret) + + s = "

one

" + ret = utils.pretty_xmlish(s) + assert len(ret) == 6 + isbalanced(ret) + + s = "gobbledygook" + print utils.pretty_xmlish(s) + - s = "".join([chr(i) for i in range(256)]) - assert utils.prettybody(s) @@ -249,5 +295,5 @@ tests = [ uMultiDict(), uHeaders(), uData(), - uprettybody(), + upretty_xmlish(), ] -- cgit v1.2.3