##// END OF EJS Templates
Really check the file extension, not an arbitrary occurrence of 'rst'.
Maximilian Albert -
Show More
@@ -1,70 +1,70 b''
1 1 from nbconvert import ConverterRST, main
2 2 import nose.tools as nt
3 3
4 4 import os
5 5 import glob
6 6 from IPython.nbformat import current as nbformat
7 7
8 8 fname = 'tests/test.ipynb'
9 9 out_fname = 'tests/test.rst'
10 10
11 11
12 12 def clean_dir():
13 13 "Remove .rst files created during conversion"
14 14 map(os.remove, glob.glob("./tests/*.rst"))
15 15 map(os.remove, glob.glob("./tests/*.png"))
16 16 map(os.remove, glob.glob("./tests/*.html"))
17 17 map(os.remove, glob.glob("./tests/test_files/*"))
18 18
19 19
20 20 @nt.with_setup(clean_dir, clean_dir)
21 21 def test_simple():
22 22 c = ConverterRST(fname)
23 23 f = c.render()
24 nt.assert_true('rst' in f, 'changed file extension to rst')
24 nt.assert_true(f.endswith('.rst'), 'changed file extension to rst')
25 25
26 26
27 27 @nt.with_setup(clean_dir, clean_dir)
28 28 def test_main():
29 29 """
30 30 Test main entry point
31 31 """
32 32 main(fname)
33 33 nt.assert_true(os.path.exists(out_fname))
34 34
35 35
36 36 def test_render_heading():
37 37 """ Unit test for cell type "heading" """
38 38 # Generate and test heading cells level 1-6
39 39 for level in xrange(1, 7):
40 40 cell = {
41 41 'cell_type': 'heading',
42 42 'level' : level,
43 43 'source' : ['Test for heading type H{0}'.format(level)]
44 44 }
45 45 # Convert cell dictionaries to NotebookNode
46 46 cell_nb = nbformat.NotebookNode(cell)
47 47 # Make sure "source" attribute is uniconde not list.
48 48 # For some reason, creating a NotebookNode manually like
49 49 # this isn't converting source to a string like using
50 50 # the create-from-file routine.
51 51 if type(cell_nb.source) is list:
52 52 cell_nb.source = '\n'.join(cell_nb.source)
53 53 # Render to rst
54 54 c = ConverterRST('')
55 55 rst_list = c.render_heading(cell_nb)
56 56 nt.assert_true(isinstance(rst_list, list)) # render should return a list
57 57 rst_str = "".join(rst_list)
58 58 # Confirm rst content
59 59 chk_str = "Test for heading type H{0}\n{1}\n".format(
60 60 level, c.heading_level[level] * 24)
61 61 nt.assert_equal(rst_str, chk_str)
62 62
63 63
64 64 @nt.with_setup(clean_dir, clean_dir)
65 65 def test_main_html():
66 66 """
67 67 Test main entry point
68 68 """
69 69 main(fname, format='html')
70 70 nt.assert_true(os.path.exists('tests/test.html'))
General Comments 0
You need to be logged in to leave comments. Login now