""" Module with tests for export.py """ #----------------------------------------------------------------------------- # 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 #----------------------------------------------------------------------------- import os from IPython.nbformat import current as nbformat from .base import ExportersTestsBase from ..export import * from ..python import PythonExporter #----------------------------------------------------------------------------- # Class #----------------------------------------------------------------------------- class TestExport(ExportersTestsBase): """Contains test functions for export.py""" def test_export_wrong_name(self): """ Is the right error thrown when a bad template name is used? """ try: export_by_name('not_a_name', self._get_notebook()) except ExporterNameError as e: pass def test_export_filename(self): """ Can a notebook be exported by filename? """ (output, resources) = export_by_name('python', self._get_notebook()) assert len(output) > 0 def test_export_nbnode(self): """ Can a notebook be exported by a notebook node handle? """ with open(self._get_notebook(), 'r') as f: notebook = nbformat.read(f, 'json') (output, resources) = export_by_name('python', notebook) assert len(output) > 0 def test_export_filestream(self): """ Can a notebook be exported by a filesteam? """ with open(self._get_notebook(), 'r') as f: (output, resources) = export_by_name('python', f) assert len(output) > 0 def test_export_using_exporter(self): """ Can a notebook be exported using an instanciated exporter? """ (output, resources) = export(PythonExporter(), self._get_notebook()) assert len(output) > 0 def test_export_using_exporter_class(self): """ Can a notebook be exported using an exporter class type? """ (output, resources) = export(PythonExporter, self._get_notebook()) assert len(output) > 0 def test_export_resources(self): """ Can a notebook be exported along with a custom resources dict? """ (output, resources) = export(PythonExporter, self._get_notebook(), resources={}) assert len(output) > 0 def test_no_exporter(self): """ Is the right error thrown if no exporter is provided? """ try: (output, resources) = export(None, self._get_notebook()) except TypeError: pass