test_stdout.py
53 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r13691 | # coding: utf-8 | |
Jonathan Frederic
|
r12043 | """ | |
Module with tests for stdout | |||
""" | |||
#----------------------------------------------------------------------------- | |||
# 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 ..stdout import StdoutWriter | |||
Thomas Kluyver
|
r13366 | from IPython.utils.py3compat import PY3 | |
if PY3: | |||
from io import StringIO | |||
else: | |||
from StringIO import StringIO | |||
Jonathan Frederic
|
r12043 | ||
#----------------------------------------------------------------------------- | |||
# Class | |||
#----------------------------------------------------------------------------- | |||
class TestStdout(TestsBase): | |||
"""Contains test functions for stdout.py""" | |||
def test_output(self): | |||
"""Test stdout writer output.""" | |||
# Capture the stdout. Remember original. | |||
stdout = sys.stdout | |||
stream = StringIO() | |||
sys.stdout = stream | |||
# Create stdout writer, test output | |||
writer = StdoutWriter() | |||
Thomas Kluyver
|
r13691 | writer.write(u'a×', {'b': 'c'}) | |
Jonathan Frederic
|
r12043 | output = stream.getvalue() | |
Thomas Kluyver
|
r13691 | if not PY3: | |
output = output.decode('utf-8') | |||
self.fuzzy_compare(output, u'a×') | |||
Jonathan Frederic
|
r12043 | ||
# Revert stdout | |||
sys.stdout = stdout |