base.py
38 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
MinRK
|
r13665 | """Base TestCase class for testing Exporters""" | ||
Jonathan Frederic
|
r11480 | |||
Min RK
|
r20734 | # Copyright (c) IPython Development Team. | ||
Jonathan Frederic
|
r11480 | # Distributed under the terms of the Modified BSD License. | ||
import os | ||||
from ...tests.base import TestsBase | ||||
MinRK
|
r13678 | all_raw_mimetypes = { | ||
Thomas Kluyver
|
r13832 | 'text/x-python', | ||
MinRK
|
r13678 | 'text/markdown', | ||
'text/html', | ||||
'text/restructuredtext', | ||||
'text/latex', | ||||
} | ||||
MinRK
|
r13665 | |||
Jonathan Frederic
|
r11480 | class ExportersTestsBase(TestsBase): | ||
"""Contains base test functions for exporters""" | ||||
MinRK
|
r13665 | |||
exporter_class = None | ||||
should_include_raw = None | ||||
def _get_notebook(self, nb_name='notebook2.ipynb'): | ||||
return os.path.join(self._get_files_path(), nb_name) | ||||
def test_raw_cell_inclusion(self): | ||||
MinRK
|
r13678 | """test raw cell inclusion based on raw_mimetype metadata""" | ||
MinRK
|
r13665 | if self.should_include_raw is None: | ||
return | ||||
exporter = self.exporter_class() | ||||
(output, resources) = exporter.from_filename(self._get_notebook('rawtest.ipynb')) | ||||
for inc in self.should_include_raw: | ||||
self.assertIn('raw %s' % inc, output, "should include %s" % inc) | ||||
MinRK
|
r13678 | self.assertIn('no raw_mimetype metadata', output) | ||
for exc in all_raw_mimetypes.difference(self.should_include_raw): | ||||
MinRK
|
r13665 | self.assertNotIn('raw %s' % exc, output, "should exclude %s" % exc) | ||
self.assertNotIn('never be included', output) | ||||