##// END OF EJS Templates
Fuzzy compare add_anchor
Fuzzy compare add_anchor

File last commit:

r11912:fa59d6f3
r11924:733da22c
Show More
test_nbconvertapp.py
144 lines | 5.3 KiB | text/x-python | PythonLexer
Jonathan Frederic
Added tests directory
r11477 """
Contains tests for the nbconvertapp
"""
#-----------------------------------------------------------------------------
#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
#-----------------------------------------------------------------------------
Jonathan Frederic
Added test files, and basic tests
r11478 import os
Jonathan Frederic
Added tests directory
r11477 from .base import TestsBase
Jonathan Frederic
Moved PDF logic into Post-Processor class
r11747 from IPython.testing import decorators as dec
Jonathan Frederic
Fixes for Py3.3
r11547
#-----------------------------------------------------------------------------
# Constants
#-----------------------------------------------------------------------------
Jonathan Frederic
Added tests directory
r11477 #-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
Jonathan Frederic
s/Test_/Test
r11494 class TestNbConvertApp(TestsBase):
Jonathan Frederic
Added tests directory
r11477 """Collection of NbConvertApp tests"""
Jonathan Frederic
Added test files, and basic tests
r11478
def test_notebook_help(self):
"""
Will help show if no notebooks are specified?
"""
with self.create_temp_cwd():
Jonathan Frederic
Fixed double single apostrophe
r11912 out, err = self.call('nbconvert --NbConvertApp.log_level="WARN"', raise_on_error=False)
Paul Ivanov
updated tests to use get_output_error_code
r11828 assert "see '--help-all'" in out
Jonathan Frederic
Added test files, and basic tests
r11478
def test_glob(self):
"""
Do search patterns work for notebook names?
"""
with self.create_temp_cwd(['notebook*.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --to="python" --notebooks=\'["*.ipynb"]\' --NbConvertApp.log_level="WARN"')
Jonathan Frederic
Updated app tests...
r11639 assert os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
def test_glob_subdir(self):
"""
Do search patterns work for subdirectory notebook names?
"""
Paul Ivanov
updated tests to use get_output_error_code
r11828 with self.create_temp_cwd():
Jonathan Frederic
Added test files, and basic tests
r11478 self.copy_files_to(['notebook*.ipynb'], 'subdir/')
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --to="python" --NbConvertApp.log_level="WARN" --notebooks='
Paul Ivanov
pass repr of a list on command line
r11866 '\'["%s"]\'' % os.path.join('subdir', '*.ipynb'))
Jonathan Frederic
Updated app tests...
r11639 assert os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
def test_explicit(self):
"""
Do explicit notebook names work?
"""
with self.create_temp_cwd(['notebook*.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --to="python" --notebooks='
Paul Ivanov
pass repr of a list on command line
r11866 '\'["notebook2.ipynb"]\'')
Jonathan Frederic
Updated app tests...
r11639 assert not os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
Jonathan Frederic
Fixed tests, broken because of missing pdflatex
r11752 @dec.onlyif_cmds_exist('pdflatex')
Paul Ivanov
the last set of pandoc-dependent test
r11833 @dec.onlyif_cmds_exist('pandoc')
Jonathan Frederic
Moved PDF logic into Post-Processor class
r11747 def test_post_processor(self):
"""
Do post processors work?
"""
with self.create_temp_cwd(['notebook1.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --to="latex" notebook1'
Paul Ivanov
move ipython command line logic to one place...
r11834 ' --post="PDF" --PDFPostProcessor.verbose=True')
Jonathan Frederic
Moved PDF logic into Post-Processor class
r11747 assert os.path.isfile('notebook1.tex')
assert os.path.isfile('notebook1.pdf')
Paul Ivanov
the last set of pandoc-dependent test
r11833 @dec.onlyif_cmds_exist('pandoc')
Jonathan Frederic
flavor=template
r11745 def test_template(self):
Jonathan Frederic
Fixed tests
r11740 """
Jonathan Frederic
flavor=template
r11745 Do export templates work?
Jonathan Frederic
Fixed tests
r11740 """
Jonathan Frederic
Fixed tests (because of reveal extension change)
r11767 with self.create_temp_cwd(['notebook2.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --to=slides --notebooks='
Paul Ivanov
pass repr of a list on command line
r11866 '\'["notebook2.ipynb"]\' --template=reveal')
Jonathan Frederic
Fixed tests (because of reveal extension change)
r11767 assert os.path.isfile('notebook2.slides.html')
with open('notebook2.slides.html') as f:
Jonathan Frederic
Fixed tests
r11740 assert '/reveal.css' in f.read()
Jonathan Frederic
Added test files, and basic tests
r11478 def test_glob_explicit(self):
"""
Can a search pattern be used along with matching explicit notebook names?
"""
with self.create_temp_cwd(['notebook*.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --to="python" --notebooks='
Paul Ivanov
pass repr of a list on command line
r11866 '\'["*.ipynb","notebook1.ipynb","notebook2.ipynb"]\'')
Jonathan Frederic
Updated app tests...
r11639 assert os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
def test_explicit_glob(self):
"""
Can explicit notebook names be used and then a matching search pattern?
"""
with self.create_temp_cwd(['notebook*.ipynb']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --to="python" --notebooks='
Paul Ivanov
pass repr of a list on command line
r11866 '\'["notebook1.ipynb","notebook2.ipynb","*.ipynb"]\'')
Jonathan Frederic
Updated app tests...
r11639 assert os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
def test_default_config(self):
"""
Does the default config work?
"""
with self.create_temp_cwd(['notebook*.ipynb', 'ipython_nbconvert_config.py']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN"')
Jonathan Frederic
Updated app tests...
r11639 assert os.path.isfile('notebook1.py')
assert not os.path.isfile('notebook2.py')
Jonathan Frederic
Added test files, and basic tests
r11478
def test_override_config(self):
"""
Can the default config be overriden?
"""
Paul Ivanov
updated tests to use get_output_error_code
r11828 with self.create_temp_cwd(['notebook*.ipynb',
'ipython_nbconvert_config.py',
Jonathan Frederic
Added test files, and basic tests
r11478 'override.py']):
Jonathan Frederic
Fixed double single apostrophe
r11912 self.call('nbconvert --NbConvertApp.log_level="WARN" --config="override.py"')
Jonathan Frederic
Updated app tests...
r11639 assert not os.path.isfile('notebook1.py')
assert os.path.isfile('notebook2.py')