##// END OF EJS Templates
add nbformat spec to sphinx
add nbformat spec to sphinx

File last commit:

r18580:ba8461eb
r18586:7fbb095b
Show More
test_coalescestreams.py
58 lines | 2.9 KiB | text/x-python | PythonLexer
MinRK
fix some validation bugs in v3...
r18244 """Tests for the coalescestreams preprocessor"""
Jonathan Frederic
Add coalesce streams test
r12021
MinRK
fix some validation bugs in v3...
r18244 # Copyright (c) IPython Development Team.
Jonathan Frederic
Add coalesce streams test
r12021 # Distributed under the terms of the Modified BSD License.
Jonathan Frederic
Added test
r12296 from IPython.nbformat import current as nbformat
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 from .base import PreprocessorTestsBase
Jonathan Frederic
Add coalesce streams test
r12021 from ..coalescestreams import coalesce_streams
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 class TestCoalesceStreams(PreprocessorTestsBase):
Jonathan Frederic
Add coalesce streams test
r12021 """Contains test functions for coalescestreams.py"""
def test_coalesce_streams(self):
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 """coalesce_streams preprocessor output test"""
Jonathan Frederic
Expanded transformer pass line, for easier debugging
r12039 nb = self.build_notebook()
res = self.build_resources()
nb, res = coalesce_streams(nb, res)
MinRK
update nbconvert to nbformat 4
r18580 outputs = nb.cells[0].outputs
Jonathan Frederic
Fixes small things pointed out by @minrk
r12035 self.assertEqual(outputs[0].text, "a")
MinRK
update nbconvert to nbformat 4
r18580 self.assertEqual(outputs[1].output_type, "display_data")
Jonathan Frederic
Fixes small things pointed out by @minrk
r12035 self.assertEqual(outputs[2].text, "cd")
self.assertEqual(outputs[3].text, "ef")
Jonathan Frederic
Added test
r12296
def test_coalesce_sequenced_streams(self):
"""Can the coalesce streams preprocessor merge a sequence of streams?"""
MinRK
update nbconvert to nbformat 4
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")]
cells=[nbformat.new_code_cell(source="# None", prompt_number=1,outputs=outputs)]
nb = nbformat.new_notebook(cells=cells)
Jonathan Frederic
Added test
r12296 res = self.build_resources()
nb, res = coalesce_streams(nb, res)
MinRK
update nbconvert to nbformat 4
r18580 outputs = nb.cells[0].outputs
Jonathan Frederic
Added test
r12296 self.assertEqual(outputs[0].text, u'01234567')
Jonathan Frederic
Added test
r15867
def test_coalesce_replace_streams(self):
"""Are \\r characters handled?"""
MinRK
update nbconvert to nbformat 4
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")]
cells=[nbformat.new_code_cell(source="# None", prompt_number=1,outputs=outputs)]
nb = nbformat.new_notebook(cells=cells)
Jonathan Frederic
Added test
r15867 res = self.build_resources()
nb, res = coalesce_streams(nb, res)
MinRK
update nbconvert to nbformat 4
r18580 outputs = nb.cells[0].outputs
Jonathan Frederic
Added one more test, multiple \r on one line
r15870 self.assertEqual(outputs[0].text, u'a\nb\nc\nd')