def test_regex_repr(self): self.assert_equal(debug_repr(re.compile(r'foo\d')), u're.compile(<span class="string regex">r\'foo\\d\'</span>)') #XXX: no raw string here cause of a syntax bug in py3.3 self.assert_equal(debug_repr(re.compile(u'foo\\d')), u're.compile(<span class="string regex">%sr\'foo\\d\'</span>)' % ('u' if PY2 else ''))
def test_basic_repr(self): self.assert_equal(debug_repr([]), u"[]") self.assert_equal(debug_repr([1, 2]), u'[<span class="number">1</span>, <span class="number">2</span>]') self.assert_equal( debug_repr([1, "test"]), u'[<span class="number">1</span>, <span class="string">\'test\'</span>]' ) self.assert_equal(debug_repr([None]), u'[<span class="object">None</span>]')
def test_regex_repr(self): assert (debug_repr(re.compile(r"foo\d")) == "re.compile(<span class=\"string regex\">r'foo\\d'</span>)") # No ur'' in Py3 # https://bugs.python.org/issue15096 assert debug_repr(re.compile("foo\\d")) == ( "re.compile(<span class=\"string regex\">r'foo\\d'</span>)")
def test_regex_repr(self): assert debug_repr(re.compile(r'foo\d')) == \ u're.compile(<span class="string regex">r\'foo\\d\'</span>)' # No ur'' in Py3 # https://bugs.python.org/issue15096 assert debug_repr(re.compile(u'foo\\d')) == ( u're.compile(<span class="string regex">%sr\'foo\\d\'</span>)' % ('u' if PY2 else ''))
def test_basic_repr(self): assert debug_repr([]) == u'[]' assert debug_repr([1, 2]) == \ u'[<span class="number">1</span>, <span class="number">2</span>]' assert debug_repr([1, 'test']) == \ u'[<span class="number">1</span>, <span class="string">\'test\'</span>]' assert debug_repr([None]) == \ u'[<span class="object">None</span>]'
def test_basic_repr(self): assert debug_repr([]) == "[]" assert debug_repr([1, 2]) == ( '[<span class="number">1</span>, <span class="number">2</span>]') assert debug_repr( [1, "test"]) == ('[<span class="number">1</span>,' ' <span class="string">'test'</span>]') assert debug_repr([None]) == '[<span class="object">None</span>]'
def test_string_repr(self): assert debug_repr("") == u"<span class=\"string\">''</span>" assert debug_repr("foo") == u"<span class=\"string\">'foo'</span>" assert (debug_repr("s" * 80) == u'<span class="string">\'' + "s" * 69 + '<span class="extended">' + "s" * 11 + "'</span></span>") assert (debug_repr("<" * 80) == u'<span class="string">\'' + "<" * 69 + '<span class="extended">' + "<" * 11 + "'</span></span>")
def test_set_repr(self): assert ( debug_repr(frozenset("x")) == 'frozenset([<span class="string">'x'</span>])' ) assert debug_repr(set("x")) == ( 'set([<span class="string">'x'</span>])' )
def test_basic_repr(self): self.assert_equal(debug_repr([]), u'[]') self.assert_equal(debug_repr([1, 2]), u'[<span class="number">1</span>, <span class="number">2</span>]') self.assert_equal(debug_repr([1, 'test']), u'[<span class="number">1</span>, <span class="string">\'test\'</span>]') self.assert_equal(debug_repr([None]), u'[<span class="object">None</span>]')
def test_string_repr(self): assert debug_repr('') == u'<span class="string">\'\'</span>' assert debug_repr('foo') == u'<span class="string">\'foo\'</span>' assert debug_repr('s' * 80) == u'<span class="string">\''\ + 's' * 70 + '<span class="extended">'\ + 's' * 10 + '\'</span></span>' assert debug_repr('<' * 80) == u'<span class="string">\''\ + '<' * 70 + '<span class="extended">'\ + '<' * 10 + '\'</span></span>'
def test_regex_repr(self): assert debug_repr(re.compile(r'foo\d')) == \ u're.compile(<span class="string regex">r\'foo\\d\'</span>)' # No ur'' in Py3 # http://bugs.python.org/issue15096 assert debug_repr(re.compile(u'foo\\d')) == ( u're.compile(<span class="string regex">%sr\'foo\\d\'</span>)' % ('u' if PY2 else '') )
def test_string_repr(self): assert debug_repr('') == u'<span class="string">\'\'</span>' assert debug_repr('foo') == u'<span class="string">\'foo\'</span>' assert debug_repr('s' * 80) == u'<span class="string">\''\ + 's' * 69 + '<span class="extended">'\ + 's' * 11 + '\'</span></span>' assert debug_repr('<' * 80) == u'<span class="string">\''\ + '<' * 69 + '<span class="extended">'\ + '<' * 11 + '\'</span></span>'
def test_regex_repr(self): self.assert_equal( debug_repr(re.compile(r"foo\d")), u"re.compile(<span class=\"string regex\">r'foo\\d'</span>)" ) # XXX: no raw string here cause of a syntax bug in py3.3 self.assert_equal( debug_repr(re.compile(u"foo\\d")), u"re.compile(<span class=\"string regex\">%sr'foo\\d'</span>)" % ("u" if PY2 else ""), )
def test_string_repr(self): assert debug_repr("") == "<span class=\"string\">''</span>" assert debug_repr("foo") == "<span class=\"string\">'foo'</span>" assert debug_repr( "s" * 80) == (f'<span class="string">\'{"s" * 69}' f'<span class="extended">{"s" * 11}\'</span></span>') assert debug_repr( "<" * 80) == (f'<span class="string">\'{"<" * 69}' f'<span class="extended">{"<" * 11}\'</span></span>')
def test_mapping_repr(self): assert debug_repr({}) == u'{}' assert debug_repr({'foo': 42}) == \ u'{<span class="pair"><span class="key"><span class="string">\'foo\''\ u'</span></span>: <span class="value"><span class="number">42' \ u'</span></span></span>}' assert debug_repr(dict(zip(range(10), [None] * 10))) == \ u'{<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}' assert debug_repr((1, 'zwei', u'drei')) ==\ u'(<span class="number">1</span>, <span class="string">\'' \ u'zwei\'</span>, <span class="string">u\'drei\'</span>)'
def test_mapping_repr(self): assert debug_repr({}) == u'{}' assert debug_repr({'foo': 42}) == \ u'{<span class="pair"><span class="key"><span class="string">\'foo\'' \ u'</span></span>: <span class="value"><span class="number">42' \ u'</span></span></span>}' assert debug_repr(dict(zip(range(10), [None] * 10))) == \ u'{<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}' assert debug_repr((1, 'zwei', u'drei')) == \ u'(<span class="number">1</span>, <span class="string">\'' \ u'zwei\'</span>, <span class="string">u\'drei\'</span>)'
def test_string_repr(self): assert debug_repr("") == '<span class="string">''</span>' assert debug_repr( "foo") == '<span class="string">'foo'</span>' assert debug_repr( "s" * 80) == (f'<span class="string">'{"s" * 69}' f'<span class="extended">{"s" * 11}'</span></span>') assert debug_repr("<" * 80) == ( f'<span class="string">'{"<" * 69}' f'<span class="extended">{"<" * 11}'</span></span>')
def test_basic_repr(self): assert debug_repr([]) == u"[]" assert (debug_repr([ 1, 2 ]) == u'[<span class="number">1</span>, <span class="number">2</span>]' ) assert ( debug_repr([1, "test"]) == u'[<span class="number">1</span>, <span class="string">\'test\'</span>]' ) assert debug_repr([None]) == u'[<span class="object">None</span>]'
def test_regex_repr(self): assert ( debug_repr(re.compile(r"foo\d")) == u"re.compile(<span class=\"string regex\">r'foo\\d'</span>)" ) # No ur'' in Py3 # https://bugs.python.org/issue15096 assert debug_repr(re.compile(u"foo\\d")) == ( u"re.compile(<span class=\"string regex\">%sr'foo\\d'</span>)" % ("u" if PY2 else "") )
def test_basic_repr(self): assert debug_repr([]) == u"[]" assert ( debug_repr([1, 2]) == u'[<span class="number">1</span>, <span class="number">2</span>]' ) assert ( debug_repr([1, "test"]) == u'[<span class="number">1</span>, <span class="string">\'test\'</span>]' ) assert debug_repr([None]) == u'[<span class="object">None</span>]'
def test_mapping_repr(self): self.assert_equal(debug_repr({}), u'{}') self.assert_equal(debug_repr({'foo': 42}), u'{<span class="pair"><span class="key"><span class="string">\'foo\'' u'</span></span>: <span class="value"><span class="number">42' u'</span></span></span>}') self.assert_equal(debug_repr(dict(zip(range(10), [None] * 10))), u'{<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}') self.assert_equal( debug_repr((1, 'zwei', u'drei')), u'(<span class="number">1</span>, <span class="string">\'' u'zwei\'</span>, <span class="string">%s\'drei\'</span>)' % ('u' if PY2 else ''))
def test_mapping_repr(self): assert debug_repr({}) == u"{}" assert debug_repr({"foo": 42}) == ( u'{<span class="pair"><span class="key"><span class="string">\'foo\'' u'</span></span>: <span class="value"><span class="number">42' u"</span></span></span>}" ) assert debug_repr(dict(zip(range(10), [None] * 10))) == ( u'{<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}' ) assert debug_repr((1, "zwei", u"drei")) == ( u'(<span class="number">1</span>, <span class="string">\'' u"zwei'</span>, <span class=\"string\">%s'drei'</span>)" ) % ("u" if PY2 else "")
def test_list_subclass_repr(self): class MyList(list): pass self.assert_equal( debug_repr(MyList([1, 2])), u'<span class="module">werkzeug.testsuite.debug.</span>MyList([' u'<span class="number">1</span>, <span class="number">2</span>])')
def test_list_subclass_repr(self): class MyList(list): pass assert debug_repr(MyList([1, 2])) == ( u'<span class="module">tests.test_debug.</span>MyList([' u'<span class="number">1</span>, <span class="number">2</span>])')
def test_string_subclass_repr(self): class Test(str): pass assert debug_repr(Test("foo")) == ( '<span class="module">test_debug.</span>' 'Test(<span class="string">'foo'</span>)')
def test_custom_repr(self): class Foo(object): def __repr__(self): return '<Foo 42>' assert debug_repr(Foo()) == \ '<span class="object"><Foo 42></span>'
def test_string_subclass_repr(self): class Test(str): pass assert debug_repr( Test("foo")) == ('<span class="module">test_debug.</span>' "Test(<span class=\"string\">'foo'</span>)")
def test_custom_repr(self): class Foo: def __repr__(self): return "<Foo 42>" assert debug_repr( Foo()) == '<span class="object"><Foo 42></span>'
def test_string_subclass_repr(self): class Test(str): pass assert debug_repr( Test("foo")) == (u'<span class="module">tests.test_debug.</span>' u'Test(<span class="string">\'foo\'</span>)')
def test_list_subclass_repr(self): class MyList(list): pass assert debug_repr(MyList([1, 2])) == ( u'<span class="module">tests.test_debug.</span>MyList([' u'<span class="number">1</span>, <span class="number">2</span>])' )
def test_custom_repr(self): class Foo(object): def __repr__(self): return '<Foo 42>' self.assert_equal(debug_repr(Foo()), '<span class="object"><Foo 42></span>')
def test_broken_repr(self): class Foo(object): def __repr__(self): 1/0 assert debug_repr(Foo()) == \ u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \ u'integer division or modulo by zero)></span>'
def test_string_subclass_repr(self): class Test(str): pass assert debug_repr(Test("foo")) == ( u'<span class="module">tests.test_debug.</span>' u"Test(<span class=\"string\">'foo'</span>)" )
def displayhook(obj): try: stream = _local.stream except AttributeError: return _displayhook(obj) if obj is not None: stream._write(debug_repr(obj))
def test_broken_repr(self): class Foo(object): def __repr__(self): raise Exception('broken!') assert debug_repr( Foo()) == (u'<span class="brokenrepr"><broken repr (Exception: ' u'broken!)></span>')
def test_broken_repr(self): class Foo(object): def __repr__(self): raise Exception("broken!") self.assert_equal( debug_repr(Foo()), u'<span class="brokenrepr"><broken repr (Exception: ' u"broken!)></span>" )
def test_broken_repr(self): class Foo(object): def __repr__(self): raise Exception('broken!') assert debug_repr(Foo()) == \ u'<span class="brokenrepr"><broken repr (Exception: ' \ u'broken!)></span>'
def test_broken_repr(self): class Foo(object): def __repr__(self): 1 / 0 assert debug_repr(Foo()) == \ u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \ u'integer division or modulo by zero)></span>'
def test_broken_repr(self): class Foo: def __repr__(self): raise Exception("broken!") assert debug_repr( Foo()) == ('<span class="brokenrepr"><broken repr (Exception: ' "broken!)></span>")
def displayhook(obj): try: stream = _local.stream except AttributeError: return _displayhook(obj) # stream._write bypasses escaping as debug_repr is # already generating HTML for us. if obj is not None: stream._write(debug_repr(obj))
def test_mapping_repr(self): assert debug_repr({}) == u"{}" assert debug_repr({"foo": 42}) == ( u'{<span class="pair"><span class="key"><span class="string">\'foo\'' u'</span></span>: <span class="value"><span class="number">42' u"</span></span></span>}" ) assert debug_repr(dict(zip(range(10), [None] * 10))) == ( u'{<span class="pair"><span class="key"><span class="number">0' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">1' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">2' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">3' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="extended">' u'<span class="pair"><span class="key"><span class="number">4' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">5' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">6' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">7' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">8' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span>, " u'<span class="pair"><span class="key"><span class="number">9' u'</span></span>: <span class="value"><span class="object">None' u"</span></span></span></span>}" ) assert debug_repr((1, "zwei", u"drei")) == ( u'(<span class="number">1</span>, <span class="string">\'' u"zwei'</span>, <span class=\"string\">%s'drei'</span>)" ) % ("u" if PY2 else "")
def test_mapping_repr(self): assert debug_repr({}) == "{}" assert debug_repr({"foo": 42}) == ( '{<span class="pair"><span class="key"><span class="string">'foo'' '</span></span>: <span class="value"><span class="number">42' "</span></span></span>}" ) assert debug_repr(dict(zip(range(10), [None] * 10))) == ( '{<span class="pair"><span class="key"><span class="number">0' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">1' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">2' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">3' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="extended">' '<span class="pair"><span class="key"><span class="number">4' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">5' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">6' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">7' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">8' '</span></span>: <span class="value"><span class="object">None' "</span></span></span>, " '<span class="pair"><span class="key"><span class="number">9' '</span></span>: <span class="value"><span class="object">None' "</span></span></span></span>}" ) assert debug_repr((1, "zwei", "drei")) == ( '(<span class="number">1</span>, <span class="string">'' 'zwei'</span>, <span class="string">'drei'</span>)' )
def test_string_repr(self): assert debug_repr("") == u"<span class=\"string\">''</span>" assert debug_repr("foo") == u"<span class=\"string\">'foo'</span>" assert ( debug_repr("s" * 80) == u'<span class="string">\'' + "s" * 69 + '<span class="extended">' + "s" * 11 + "'</span></span>" ) assert ( debug_repr("<" * 80) == u'<span class="string">\'' + "<" * 69 + '<span class="extended">' + "<" * 11 + "'</span></span>" )
def test_sequence_repr(self): assert debug_repr(list(range(20))) == ( u'[<span class="number">0</span>, <span class="number">1</span>, ' u'<span class="number">2</span>, <span class="number">3</span>, ' u'<span class="number">4</span>, <span class="number">5</span>, ' u'<span class="number">6</span>, <span class="number">7</span>, ' u'<span class="extended"><span class="number">8</span>, ' u'<span class="number">9</span>, <span class="number">10</span>, ' u'<span class="number">11</span>, <span class="number">12</span>, ' u'<span class="number">13</span>, <span class="number">14</span>, ' u'<span class="number">15</span>, <span class="number">16</span>, ' u'<span class="number">17</span>, <span class="number">18</span>, ' u'<span class="number">19</span></span>]')
def test_sequence_repr(self): assert debug_repr(list(range(20))) == ( u'[<span class="number">0</span>, <span class="number">1</span>, ' u'<span class="number">2</span>, <span class="number">3</span>, ' u'<span class="number">4</span>, <span class="number">5</span>, ' u'<span class="number">6</span>, <span class="number">7</span>, ' u'<span class="extended"><span class="number">8</span>, ' u'<span class="number">9</span>, <span class="number">10</span>, ' u'<span class="number">11</span>, <span class="number">12</span>, ' u'<span class="number">13</span>, <span class="number">14</span>, ' u'<span class="number">15</span>, <span class="number">16</span>, ' u'<span class="number">17</span>, <span class="number">18</span>, ' u'<span class="number">19</span></span>]' )
def test_set_repr(self): assert debug_repr(frozenset("x")) == u"frozenset([<span class=\"string\">'x'</span>])" assert debug_repr(set("x")) == u"set([<span class=\"string\">'x'</span>])"
def test_set_repr(self): assert debug_repr(frozenset('x')) == \ u'frozenset([<span class="string">\'x\'</span>])' assert debug_repr(set('x')) == \ u'set([<span class="string">\'x\'</span>])'
def test_bytes_repr(self): assert debug_repr(b"foo") == u'<span class="string">b\'foo\'</span>'
def test_recursive_repr(self): a = [1] a.append(a) assert debug_repr(a) == u'[<span class="number">1</span>, [...]]'
def test_regex_repr(self): assert debug_repr(re.compile(r'foo\d')) == \ u're.compile(<span class="string regex">r\'foo\\d\'</span>)' assert debug_repr(re.compile(ur'foo\d')) == \ u're.compile(<span class="string regex">ur\'foo\\d\'</span>)'
def test_recursive_repr(self): a = [1] a.append(a) self.assert_equal(debug_repr(a), u'[<span class="number">1</span>, [...]]')
def test_set_repr(self): self.assert_equal(debug_repr(frozenset('x')), u'frozenset([<span class="string">\'x\'</span>])') self.assert_equal(debug_repr(set('x')), u'set([<span class="string">\'x\'</span>])')
def test_debug_repr(): """Test the debug repr from the debug component""" assert debug_repr([]) == u'[]' assert debug_repr([1, 2]) == \ u'[<span class="number">1</span>, <span class="number">2</span>]' assert debug_repr([1, 'test']) == \ u'[<span class="number">1</span>, <span class="string">\'test\'</span>]' assert debug_repr([None]) == \ u'[<span class="object">None</span>]' assert debug_repr(list(range(20))) == ( u'[<span class="number">0</span>, <span class="number">1</span>, ' u'<span class="number">2</span>, <span class="number">3</span>, ' u'<span class="number">4</span>, <span class="number">5</span>, ' u'<span class="number">6</span>, <span class="number">7</span>, ' u'<span class="extended"><span class="number">8</span>, ' u'<span class="number">9</span>, <span class="number">10</span>, ' u'<span class="number">11</span>, <span class="number">12</span>, ' u'<span class="number">13</span>, <span class="number">14</span>, ' u'<span class="number">15</span>, <span class="number">16</span>, ' u'<span class="number">17</span>, <span class="number">18</span>, ' u'<span class="number">19</span></span>]' ) assert debug_repr({}) == u'{}' assert debug_repr({'foo': 42}) == \ u'{<span class="pair"><span class="key"><span class="string">\'foo\''\ u'</span></span>: <span class="value"><span class="number">42' \ u'</span></span></span>}' assert debug_repr(dict(zip(range(10), [None] * 10))) == \ u'{<span class="pair"><span class="key"><span class="number">0</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">1</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">2</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">3</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="extended"><span class="pair"><span class="key"><span class="number">4</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">5</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">6</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">7</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">8</span></span>: <span class="value"><span class="object">None</span></span></span>, <span class="pair"><span class="key"><span class="number">9</span></span>: <span class="value"><span class="object">None</span></span></span></span>}' assert debug_repr((1, 'zwei', u'drei')) ==\ u'(<span class="number">1</span>, <span class="string">\'' \ u'zwei\'</span>, <span class="string">u\'drei\'</span>)' class Foo(object): def __repr__(self): return '<Foo 42>' assert debug_repr(Foo()) == '<span class="object"><Foo 42></span>' class MyList(list): pass assert debug_repr(MyList([1, 2])) == \ u'<span class="module">test_debug.</span>MyList([' \ u'<span class="number">1</span>, <span class="number">2</span>])' assert debug_repr(re.compile(r'foo\d')) == \ u're.compile(<span class="string regex">r\'foo\\d\'</span>)' assert debug_repr(re.compile(ur'foo\d')) == \ u're.compile(<span class="string regex">ur\'foo\\d\'</span>)' assert debug_repr(frozenset('x')) == \ u'frozenset([<span class="string">\'x\'</span>])' assert debug_repr(set('x')) == \ u'set([<span class="string">\'x\'</span>])' a = [1] a.append(a) assert debug_repr(a) == u'[<span class="number">1</span>, [...]]' class Foo(object): def __repr__(self): 1/0 assert debug_repr(Foo()) == \ u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \ u'integer division or modulo by zero)></span>'