##// END OF EJS Templates
Fix another win32 test failure....
Fix another win32 test failure. As of this commit, the entire test suite passes on a system that only has: - Python 2.6.4 from Python.org - Pyreadline 1.5 - IPython (this branch) - nose 0.11.1 Tests that require Twisted, graphics or other machinery get skipped, but everything else runs and passes. The glaring remaining problem on win32 is that right now, colored output is broken for some reason (though prompts are OK). I'll try to fix that next.

File last commit:

r2456:3968d6e6
r2456:3968d6e6
Show More
test_pretty.py
101 lines | 2.6 KiB | text/x-python | PythonLexer
Brian Granger
Added test for the pretty.py extension and fixed sphinx docs....
r2283 #!/usr/bin/env python
# encoding: utf-8
"""
Simple tests for :mod:`IPython.extensions.pretty`.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from unittest import TestCase
from IPython.core.component import Component, masquerade_as
from IPython.core.iplib import InteractiveShell
from IPython.extensions import pretty as pretty_ext
from IPython.external import pretty
Fernando Perez
Fix another win32 test failure....
r2456 from IPython.testing import decorators as dec
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 from IPython.testing import tools as tt
Brian Granger
Added test for the pretty.py extension and fixed sphinx docs....
r2283 from IPython.utils.traitlets import Bool
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
class InteractiveShellStub(Component):
pprint = Bool(True)
class A(object):
pass
def a_pprinter(o, p, c):
return p.text("<A>")
class TestPrettyResultDisplay(TestCase):
def setUp(self):
self.ip = InteractiveShellStub(None)
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 # This allows our stub to be retrieved instead of the real
# InteractiveShell
Brian Granger
Added test for the pretty.py extension and fixed sphinx docs....
r2283 masquerade_as(self.ip, InteractiveShell)
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 self.prd = pretty_ext.PrettyResultDisplay(self.ip,
name='pretty_result_display')
Brian Granger
Added test for the pretty.py extension and fixed sphinx docs....
r2283
def test_for_type(self):
self.prd.for_type(A, a_pprinter)
a = A()
result = pretty.pretty(a)
self.assertEquals(result, "<A>")
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 ipy_src = """
class A(object):
def __repr__(self):
return 'A()'
class B(object):
def __repr__(self):
return 'B()'
a = A()
b = B()
def a_pretty_printer(obj, p, cycle):
p.text('<A>')
def b_pretty_printer(obj, p, cycle):
p.text('<B>')
a
b
ip = get_ipython()
prd = ip.load_extension('pretty')
prd.for_type(A, a_pretty_printer)
prd.for_type_by_name(B.__module__, B.__name__, b_pretty_printer)
a
b
"""
ipy_out = """
A()
B()
<A>
<B>
"""
Brian Granger
Added test for the pretty.py extension and fixed sphinx docs....
r2283
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 class TestPrettyInteractively(tt.TempFileMixin):
Fernando Perez
Fix another win32 test failure....
r2456
# XXX Unfortunately, ipexec_validate fails under win32. If someone helps
# us write a win32-compatible version, we can reactivate this test.
@dec.skip_win32
Fernando Perez
Fix extensions test suite (small, but now it runs and passes!)
r2415 def test_printers(self):
self.mktmp(ipy_src, '.ipy')
tt.ipexec_validate(self.fname, ipy_out)