##// END OF EJS Templates
Make traitlets notify check more robust against classes redefining equality and bool...
Make traitlets notify check more robust against classes redefining equality and bool Before this change, numpy arrays caused problems since comparing two numpy arrays returns an array of truth values, rather than a single truth value. This change guards against redefining the semantics of comparison by notifying on a trait change if the equality comparison returns anything other than an explicit True value.

File last commit:

r13366:518e26e1
r15462:e1b4ab8c
Show More
test_debug.py
55 lines | 1.6 KiB | text/x-python | PythonLexer
Jonathan Frederic
Added debug writer tests
r12042 """
Module with tests for debug
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import sys
from ...tests.base import TestsBase
from ..debug import DebugWriter
Thomas Kluyver
Use StringIO.StringIO on Python 2....
r13366 from IPython.utils.py3compat import PY3
if PY3:
from io import StringIO
else:
from StringIO import StringIO
Jonathan Frederic
Added debug writer tests
r12042
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestDebug(TestsBase):
"""Contains test functions for debug.py"""
def test_output(self):
"""Test debug writer output."""
# Capture the stdout. Remember original.
stdout = sys.stdout
stream = StringIO()
sys.stdout = stream
# Create stdout writer, get output
writer = DebugWriter()
writer.write('aaa', {'outputs': {'bbb': 'ccc'}})
output = stream.getvalue()
# Check output. Make sure resources dictionary is dumped, but nothing
# else.
assert 'aaa' not in output
assert 'bbb' in output
assert 'ccc' in output
# Revert stdout
sys.stdout = stdout