From 77b9d1e5f742d44395a6b1695d37e5a22eb66c5d 2014-03-26 01:11:33 From: Jonathan Frederic Date: 2014-03-26 01:11:33 Subject: [PATCH] Merge pull request #5434 from minrk/rst-no-empty-code fix check for empty cells in rst template --- diff --git a/IPython/nbconvert/exporters/tests/test_rst.py b/IPython/nbconvert/exporters/tests/test_rst.py index 99e3e76..c9840a9 100644 --- a/IPython/nbconvert/exporters/tests/test_rst.py +++ b/IPython/nbconvert/exporters/tests/test_rst.py @@ -12,6 +12,10 @@ # Imports #----------------------------------------------------------------------------- +import io + +from IPython.nbformat import current + from .base import ExportersTestsBase from ..rst import RSTExporter from IPython.testing.decorators import onlyif_cmds_exist @@ -40,3 +44,22 @@ class TestRSTExporter(ExportersTestsBase): """ (output, resources) = RSTExporter().from_filename(self._get_notebook()) assert len(output) > 0 + + @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: + nb = current.read(f, 'json') + + exporter = self.exporter_class() + + (output, resources) = exporter.from_notebook_node(nb) + # add an empty code cell + nb.worksheets[0].cells.append( + current.new_code_cell(input="") + ) + (output2, resources) = exporter.from_notebook_node(nb) + # adding an empty code cell shouldn't change output + self.assertEqual(output.strip(), output2.strip()) + diff --git a/IPython/nbconvert/templates/rst.tpl b/IPython/nbconvert/templates/rst.tpl index fdabe2a..1dc7f69 100644 --- a/IPython/nbconvert/templates/rst.tpl +++ b/IPython/nbconvert/templates/rst.tpl @@ -8,7 +8,7 @@ {% endblock output_prompt %} {% block input %} -{%- if not cell.input.isspace() -%} +{%- if cell.input.strip() -%} .. code:: python {{ cell.input | indent}}