##// END OF EJS Templates
Added one more test, multiple \r on one line
Jonathan Frederic -
Show More
@@ -1,72 +1,73 b''
1 """
1 """
2 Module with tests for the coalescestreams preprocessor
2 Module with tests for the coalescestreams preprocessor
3 """
3 """
4
4
5 #-----------------------------------------------------------------------------
5 #-----------------------------------------------------------------------------
6 # Copyright (c) 2013, the IPython Development Team.
6 # Copyright (c) 2013, the IPython Development Team.
7 #
7 #
8 # Distributed under the terms of the Modified BSD License.
8 # Distributed under the terms of the Modified BSD License.
9 #
9 #
10 # The full license is in the file COPYING.txt, distributed with this software.
10 # The full license is in the file COPYING.txt, distributed with this software.
11 #-----------------------------------------------------------------------------
11 #-----------------------------------------------------------------------------
12
12
13 #-----------------------------------------------------------------------------
13 #-----------------------------------------------------------------------------
14 # Imports
14 # Imports
15 #-----------------------------------------------------------------------------
15 #-----------------------------------------------------------------------------
16 from IPython.nbformat import current as nbformat
16 from IPython.nbformat import current as nbformat
17
17
18 from .base import PreprocessorTestsBase
18 from .base import PreprocessorTestsBase
19 from ..coalescestreams import coalesce_streams
19 from ..coalescestreams import coalesce_streams
20
20
21
21
22 #-----------------------------------------------------------------------------
22 #-----------------------------------------------------------------------------
23 # Class
23 # Class
24 #-----------------------------------------------------------------------------
24 #-----------------------------------------------------------------------------
25 class TestCoalesceStreams(PreprocessorTestsBase):
25 class TestCoalesceStreams(PreprocessorTestsBase):
26 """Contains test functions for coalescestreams.py"""
26 """Contains test functions for coalescestreams.py"""
27
27
28 def test_coalesce_streams(self):
28 def test_coalesce_streams(self):
29 """coalesce_streams preprocessor output test"""
29 """coalesce_streams preprocessor output test"""
30 nb = self.build_notebook()
30 nb = self.build_notebook()
31 res = self.build_resources()
31 res = self.build_resources()
32 nb, res = coalesce_streams(nb, res)
32 nb, res = coalesce_streams(nb, res)
33 outputs = nb.worksheets[0].cells[0].outputs
33 outputs = nb.worksheets[0].cells[0].outputs
34 self.assertEqual(outputs[0].text, "a")
34 self.assertEqual(outputs[0].text, "a")
35 self.assertEqual(outputs[1].output_type, "text")
35 self.assertEqual(outputs[1].output_type, "text")
36 self.assertEqual(outputs[2].text, "cd")
36 self.assertEqual(outputs[2].text, "cd")
37 self.assertEqual(outputs[3].text, "ef")
37 self.assertEqual(outputs[3].text, "ef")
38
38
39 def test_coalesce_sequenced_streams(self):
39 def test_coalesce_sequenced_streams(self):
40 """Can the coalesce streams preprocessor merge a sequence of streams?"""
40 """Can the coalesce streams preprocessor merge a sequence of streams?"""
41 outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="0"),
41 outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="0"),
42 nbformat.new_output(output_type="stream", stream="stdout", output_text="1"),
42 nbformat.new_output(output_type="stream", stream="stdout", output_text="1"),
43 nbformat.new_output(output_type="stream", stream="stdout", output_text="2"),
43 nbformat.new_output(output_type="stream", stream="stdout", output_text="2"),
44 nbformat.new_output(output_type="stream", stream="stdout", output_text="3"),
44 nbformat.new_output(output_type="stream", stream="stdout", output_text="3"),
45 nbformat.new_output(output_type="stream", stream="stdout", output_text="4"),
45 nbformat.new_output(output_type="stream", stream="stdout", output_text="4"),
46 nbformat.new_output(output_type="stream", stream="stdout", output_text="5"),
46 nbformat.new_output(output_type="stream", stream="stdout", output_text="5"),
47 nbformat.new_output(output_type="stream", stream="stdout", output_text="6"),
47 nbformat.new_output(output_type="stream", stream="stdout", output_text="6"),
48 nbformat.new_output(output_type="stream", stream="stdout", output_text="7")]
48 nbformat.new_output(output_type="stream", stream="stdout", output_text="7")]
49 cells=[nbformat.new_code_cell(input="# None", prompt_number=1,outputs=outputs)]
49 cells=[nbformat.new_code_cell(input="# None", prompt_number=1,outputs=outputs)]
50 worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
50 worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
51
51
52 nb = nbformat.new_notebook(name="notebook1", worksheets=worksheets)
52 nb = nbformat.new_notebook(name="notebook1", worksheets=worksheets)
53 res = self.build_resources()
53 res = self.build_resources()
54 nb, res = coalesce_streams(nb, res)
54 nb, res = coalesce_streams(nb, res)
55 outputs = nb.worksheets[0].cells[0].outputs
55 outputs = nb.worksheets[0].cells[0].outputs
56 self.assertEqual(outputs[0].text, u'01234567')
56 self.assertEqual(outputs[0].text, u'01234567')
57
57
58 def test_coalesce_replace_streams(self):
58 def test_coalesce_replace_streams(self):
59 """Are \\r characters handled?"""
59 """Are \\r characters handled?"""
60 outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="z"),
60 outputs = [nbformat.new_output(output_type="stream", stream="stdout", output_text="z"),
61 nbformat.new_output(output_type="stream", stream="stdout", output_text="\ra"),
61 nbformat.new_output(output_type="stream", stream="stdout", output_text="\ra"),
62 nbformat.new_output(output_type="stream", stream="stdout", output_text="\nz\rb"),
62 nbformat.new_output(output_type="stream", stream="stdout", output_text="\nz\rb"),
63 nbformat.new_output(output_type="stream", stream="stdout", output_text="\nz"),
63 nbformat.new_output(output_type="stream", stream="stdout", output_text="\nz"),
64 nbformat.new_output(output_type="stream", stream="stdout", output_text="\rc")]
64 nbformat.new_output(output_type="stream", stream="stdout", output_text="\rc\n"),
65 nbformat.new_output(output_type="stream", stream="stdout", output_text="z\rz\rd")]
65 cells=[nbformat.new_code_cell(input="# None", prompt_number=1,outputs=outputs)]
66 cells=[nbformat.new_code_cell(input="# None", prompt_number=1,outputs=outputs)]
66 worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
67 worksheets = [nbformat.new_worksheet(name="worksheet1", cells=cells)]
67
68
68 nb = nbformat.new_notebook(name="notebook1", worksheets=worksheets)
69 nb = nbformat.new_notebook(name="notebook1", worksheets=worksheets)
69 res = self.build_resources()
70 res = self.build_resources()
70 nb, res = coalesce_streams(nb, res)
71 nb, res = coalesce_streams(nb, res)
71 outputs = nb.worksheets[0].cells[0].outputs
72 outputs = nb.worksheets[0].cells[0].outputs
72 self.assertEqual(outputs[0].text, u'a\nb\nc')
73 self.assertEqual(outputs[0].text, u'a\nb\nc\nd')
General Comments 0
You need to be logged in to leave comments. Login now