From e57df20f4b77406b78f38c41b7f80f540aed80e0 Mon Sep 17 00:00:00 2001 From: hpk Date: Fri, 9 Feb 2007 21:36:20 +0100 Subject: [PATCH] [svn r38315] fixing failing apigen test and adding a string equality assertion helper (if we need to have such exact string-comparison tests, then let's at least make it convenient to discover the problem quickly) --HG-- branch : trunk --- py/apigen/testing/test_htmlgen.py | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/py/apigen/testing/test_htmlgen.py b/py/apigen/testing/test_htmlgen.py index df6738f74..46b3b0bd2 100644 --- a/py/apigen/testing/test_htmlgen.py +++ b/py/apigen/testing/test_htmlgen.py @@ -2,6 +2,26 @@ import py from py.__.apigen import htmlgen from py.__.apigen.linker import Linker +def assert_eq_string(string1, string2): + if string1 == string2: + return + __tracebackhide__ = True + for i, (c1, c2) in py.builtin.enumerate(zip(string1, string2)): + if c1 != c2: + start = max(0, i-20) + end = i + 20 + py.test.fail("strings not equal in position i=%d\n" + "string1[%d:%d] = %r\n" + "string2[%d:%d] = %r\n" + "string1 = %r\n" + "string2 = %r\n" + % (i, + start, end, string1[start:end], + start, end, string2[start:end], + string1, string2 + )) + + def test_create_namespace_tree(): tree = htmlgen.create_namespace_tree(['foo.bar.baz']) assert tree == {'': ['foo'], @@ -48,7 +68,8 @@ def test_enumerate_and_color(): 'ascii') div = py.xml.html.div(*colored).unicode(indent=0) print repr(div) - assert div == (u'
' + assert_eq_string(div, + u'
' '' '' '' @@ -61,7 +82,7 @@ def test_enumerate_and_color(): 'def foo():' '' '' '' @@ -73,7 +94,8 @@ def test_enumerate_and_color_multiline(): 0, 'ascii') div = py.xml.html.div(*colored).unicode(indent=0) print repr(div) - assert div == (u'
' + assert_eq_string (div, + u'
' '
1
' - ' print' + ' print' ' "bar"' '
' '' ''
1