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_debug_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>]' 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 tmp = debug_repr(MyList([1, 2])) assert tmp == \ u'<span class="module">pyramid_debugtoolbar.tests.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>'
def test_debug_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>]' assert debug_repr(list(range(20))) == ( '[<span class="number">0</span>, <span class="number">1</span>, ' '<span class="number">2</span>, <span class="number">3</span>, ' '<span class="number">4</span>, <span class="number">5</span>, ' '<span class="number">6</span>, <span class="number">7</span>, ' '<span class="number">8</span>, <span class="number">9</span>, ' '<span class="number">10</span>, <span class="number">11</span>, ' '<span class="number">12</span>, <span class="number">13</span>, ' '<span class="number">14</span>, <span class="number">15</span>, ' '<span class="number">16</span>, <span class="number">17</span>, ' '<span class="number">18</span>, <span class="number">19</span>]' ) 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>}' result = debug_repr((1, bytes_('zwei'), text_('drei'))) if PY3: # pragma: no cover expected = ( '(<span class="number">1</span>, <span class="string">b\'' 'zwei\'</span>, <span class="string">\'drei\'</span>)') else: expected = ( '(<span class="number">1</span>, <span class="string">\'' 'zwei\'</span>, <span class="string">u\'drei\'</span>)') assert result == expected class Foo(object): def __repr__(self): return '<Foo 42>' assert debug_repr(Foo()) == '<span class="object"><Foo 42></span>' class MyList(list): pass tmp = debug_repr(MyList([1, 2])) assert tmp == \ '<span class="module">pyramid_debugtoolbar.tests.test_debug.</span>MyList([' \ '<span class="number">1</span>, <span class="number">2</span>])' result = debug_repr(re.compile(r'foo\d')) assert result == \ 're.compile(<span class="string regex">r\'foo\\d\'</span>)' result = debug_repr(re.compile(text_(r'foo\d'))) if PY3: # pragma: no cover assert result == \ 're.compile(<span class="string regex">r\'foo\\d\'</span>)' else: assert result == \ 're.compile(<span class="string regex">ur\'foo\\d\'</span>)' assert debug_repr(frozenset('x')) == \ 'frozenset([<span class="string">\'x\'</span>])' assert debug_repr(set('x')) == \ 'set([<span class="string">\'x\'</span>])' a = [1] a.append(a) assert debug_repr(a) == '[<span class="number">1</span>, [...]]' class Foo(object): def __repr__(self): 1/0 result = debug_repr(Foo()) assert 'division' in result
def test_debug_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>]' assert debug_repr(list(range(20))) == ( '[<span class="number">0</span>, <span class="number">1</span>, ' '<span class="number">2</span>, <span class="number">3</span>, ' '<span class="number">4</span>, <span class="number">5</span>, ' '<span class="number">6</span>, <span class="number">7</span>, ' '<span class="number">8</span>, <span class="number">9</span>, ' '<span class="number">10</span>, <span class="number">11</span>, ' '<span class="number">12</span>, <span class="number">13</span>, ' '<span class="number">14</span>, <span class="number">15</span>, ' '<span class="number">16</span>, <span class="number">17</span>, ' '<span class="number">18</span>, <span class="number">19</span>]') 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>}') result = debug_repr((1, bytes_('zwei'), text_('drei'))) if PY3: # pragma: no cover expected = ( '(<span class="number">1</span>, <span class="string">b\'' 'zwei\'</span>, <span class="string">\'drei\'</span>)') else: expected = ( '(<span class="number">1</span>, <span class="string">\'' 'zwei\'</span>, <span class="string">u\'drei\'</span>)') assert result == expected class Foo(object): def __repr__(self): return '<Foo 42>' assert (debug_repr( Foo()) == '<span class="object"><Foo 42></span>') class MyList(list): pass tmp = debug_repr(MyList([1, 2])) assert ( tmp == '<span class="module">tests.test_debug.</span>MyList([' '<span class="number">1</span>, <span class="number">2</span>])') result = debug_repr(re.compile(r'foo\d')) assert (result == 're.compile(<span class="string regex">r\'foo\\d\'</span>)') result = debug_repr(re.compile(text_(r'foo\d'))) if PY3: # pragma: no cover assert ( result == 're.compile(<span class="string regex">r\'foo\\d\'</span>)') else: assert ( result == 're.compile(<span class="string regex">ur\'foo\\d\'</span>)') assert (debug_repr( frozenset('x')) == 'frozenset([<span class="string">\'x\'</span>])' ) assert (debug_repr( set('x')) == 'set([<span class="string">\'x\'</span>])') a = [1] a.append(a) assert debug_repr(a) == '[<span class="number">1</span>, [...]]' class Foo(object): def __repr__(self): 1 / 0 result = debug_repr(Foo()) assert 'division' in result
def test_debug_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>]' assert debug_repr(list(range(20))) == ( '[<span class="number">0</span>, <span class="number">1</span>, ' '<span class="number">2</span>, <span class="number">3</span>, ' '<span class="number">4</span>, <span class="number">5</span>, ' '<span class="number">6</span>, <span class="number">7</span>, ' '<span class="number">8</span>, <span class="number">9</span>, ' '<span class="number">10</span>, <span class="number">11</span>, ' '<span class="number">12</span>, <span class="number">13</span>, ' '<span class="number">14</span>, <span class="number">15</span>, ' '<span class="number">16</span>, <span class="number">17</span>, ' '<span class="number">18</span>, <span class="number">19</span>]' ) 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>}" ) result = debug_repr((1, bytes_("zwei"), text_("drei"))) if PY3: # pragma: no cover expected = ( '(<span class="number">1</span>, <span class="string">b\'' "zwei'</span>, <span class=\"string\">'drei'</span>)" ) else: expected = ( '(<span class="number">1</span>, <span class="string">\'' "zwei'</span>, <span class=\"string\">u'drei'</span>)" ) assert result == expected class Foo(object): def __repr__(self): return "<Foo 42>" assert debug_repr(Foo()) == '<span class="object"><Foo 42></span>' class MyList(list): pass tmp = debug_repr(MyList([1, 2])) assert ( tmp == '<span class="module">pyramid_debugtoolbar.tests.test_debug.</span>MyList([' '<span class="number">1</span>, <span class="number">2</span>])' ) result = debug_repr(re.compile(r"foo\d")) assert result == "re.compile(<span class=\"string regex\">r'foo\\d'</span>)" result = debug_repr(re.compile(text_(r"foo\d"))) if PY3: # pragma: no cover assert result == "re.compile(<span class=\"string regex\">r'foo\\d'</span>)" else: assert result == "re.compile(<span class=\"string regex\">ur'foo\\d'</span>)" assert debug_repr(frozenset("x")) == "frozenset([<span class=\"string\">'x'</span>])" assert debug_repr(set("x")) == "set([<span class=\"string\">'x'</span>])" a = [1] a.append(a) assert debug_repr(a) == '[<span class="number">1</span>, [...]]' class Foo(object): def __repr__(self): 1 / 0 result = debug_repr(Foo()) assert "division" in result