Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
    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">&lt;Foo 42&gt;</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">&lt;broken repr (ZeroDivisionError: ' \
            u'integer division or modulo by zero)&gt;</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">&lt;Foo 42&gt;</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
Exemplo n.º 4
0
    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">&lt;Foo 42&gt;</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
Exemplo n.º 5
0
    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">&lt;Foo 42&gt;</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