test_coalescestreams.py
58 lines
| 2.9 KiB
| text/x-python
|
PythonLexer
MinRK
|
r18244 | """Tests for the coalescestreams preprocessor""" | ||
Jonathan Frederic
|
r12021 | |||
MinRK
|
r18244 | # Copyright (c) IPython Development Team. | ||
Jonathan Frederic
|
r12021 | # Distributed under the terms of the Modified BSD License. | ||
MinRK
|
r18605 | from IPython.nbformat import v4 as nbformat | ||
Jonathan Frederic
|
r12296 | |||
Paul Ivanov
|
r12219 | from .base import PreprocessorTestsBase | ||
Jonathan Frederic
|
r12021 | from ..coalescestreams import coalesce_streams | ||
Paul Ivanov
|
r12219 | class TestCoalesceStreams(PreprocessorTestsBase): | ||
Jonathan Frederic
|
r12021 | """Contains test functions for coalescestreams.py""" | ||
def test_coalesce_streams(self): | ||||
Paul Ivanov
|
r12219 | """coalesce_streams preprocessor output test""" | ||
Jonathan Frederic
|
r12039 | nb = self.build_notebook() | ||
res = self.build_resources() | ||||
nb, res = coalesce_streams(nb, res) | ||||
MinRK
|
r18580 | outputs = nb.cells[0].outputs | ||
Jonathan Frederic
|
r12035 | self.assertEqual(outputs[0].text, "a") | ||
MinRK
|
r18580 | self.assertEqual(outputs[1].output_type, "display_data") | ||
Jonathan Frederic
|
r12035 | self.assertEqual(outputs[2].text, "cd") | ||
self.assertEqual(outputs[3].text, "ef") | ||||
Jonathan Frederic
|
r12296 | |||
def test_coalesce_sequenced_streams(self): | ||||
"""Can the coalesce streams preprocessor merge a sequence of streams?""" | ||||
MinRK
|
r18580 | outputs = [nbformat.new_output(output_type="stream", name="stdout", text="0"), | ||
nbformat.new_output(output_type="stream", name="stdout", text="1"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="2"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="3"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="4"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="5"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="6"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="7")] | ||||
MinRK
|
r18587 | cells=[nbformat.new_code_cell(source="# None", execution_count=1,outputs=outputs)] | ||
MinRK
|
r18580 | |||
nb = nbformat.new_notebook(cells=cells) | ||||
Jonathan Frederic
|
r12296 | res = self.build_resources() | ||
nb, res = coalesce_streams(nb, res) | ||||
MinRK
|
r18580 | outputs = nb.cells[0].outputs | ||
Jonathan Frederic
|
r12296 | self.assertEqual(outputs[0].text, u'01234567') | ||
Jonathan Frederic
|
r15867 | |||
def test_coalesce_replace_streams(self): | ||||
"""Are \\r characters handled?""" | ||||
MinRK
|
r18580 | outputs = [nbformat.new_output(output_type="stream", name="stdout", text="z"), | ||
nbformat.new_output(output_type="stream", name="stdout", text="\ra"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="\nz\rb"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="\nz"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="\rc\n"), | ||||
nbformat.new_output(output_type="stream", name="stdout", text="z\rz\rd")] | ||||
MinRK
|
r18587 | cells=[nbformat.new_code_cell(source="# None", execution_count=1,outputs=outputs)] | ||
MinRK
|
r18580 | |||
nb = nbformat.new_notebook(cells=cells) | ||||
Jonathan Frederic
|
r15867 | res = self.build_resources() | ||
nb, res = coalesce_streams(nb, res) | ||||
MinRK
|
r18580 | outputs = nb.cells[0].outputs | ||
Jonathan Frederic
|
r15870 | self.assertEqual(outputs[0].text, u'a\nb\nc\nd') | ||