test_rst.py
54 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
MinRK
|
r13665 | """Tests for RSTExporter""" | ||
Jonathan Frederic
|
r11480 | |||
MinRK
|
r18605 | # Copyright (c) IPython Development Team. | ||
Jonathan Frederic
|
r11480 | # Distributed under the terms of the Modified BSD License. | ||
MinRK
|
r16008 | import io | ||
MinRK
|
r18605 | from IPython import nbformat | ||
from IPython.nbformat import v4 | ||||
MinRK
|
r16008 | |||
Jonathan Frederic
|
r11480 | from .base import ExportersTestsBase | ||
Jonathan Frederic
|
r11492 | from ..rst import RSTExporter | ||
Paul Ivanov
|
r11714 | from IPython.testing.decorators import onlyif_cmds_exist | ||
Jonathan Frederic
|
r11480 | |||
Jonathan Frederic
|
r11494 | class TestRSTExporter(ExportersTestsBase): | ||
MinRK
|
r13665 | """Tests for RSTExporter""" | ||
exporter_class = RSTExporter | ||||
should_include_raw = ['rst'] | ||||
Jonathan Frederic
|
r11480 | |||
def test_constructor(self): | ||||
""" | ||||
Jonathan Frederic
|
r11492 | Can a RSTExporter be constructed? | ||
Jonathan Frederic
|
r11480 | """ | ||
Jonathan Frederic
|
r11492 | RSTExporter() | ||
Jonathan Frederic
|
r11480 | |||
Paul Ivanov
|
r11714 | @onlyif_cmds_exist('pandoc') | ||
Jonathan Frederic
|
r11480 | def test_export(self): | ||
""" | ||||
Jonathan Frederic
|
r11492 | Can a RSTExporter export something? | ||
Jonathan Frederic
|
r11480 | """ | ||
Jonathan Frederic
|
r11492 | (output, resources) = RSTExporter().from_filename(self._get_notebook()) | ||
Paul Ivanov
|
r11714 | assert len(output) > 0 | ||
MinRK
|
r16008 | |||
@onlyif_cmds_exist('pandoc') | ||||
def test_empty_code_cell(self): | ||||
"""No empty code cells in rst""" | ||||
nbname = self._get_notebook() | ||||
with io.open(nbname, encoding='utf8') as f: | ||||
MinRK
|
r18605 | nb = nbformat.read(f, 4) | ||
MinRK
|
r16008 | |||
exporter = self.exporter_class() | ||||
(output, resources) = exporter.from_notebook_node(nb) | ||||
# add an empty code cell | ||||
MinRK
|
r18580 | nb.cells.append( | ||
MinRK
|
r18605 | v4.new_code_cell(source="") | ||
MinRK
|
r16008 | ) | ||
(output2, resources) = exporter.from_notebook_node(nb) | ||||
# adding an empty code cell shouldn't change output | ||||
self.assertEqual(output.strip(), output2.strip()) | ||||