12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- """Tests for ScriptExporter"""
- # Copyright (c) IPython Development Team.
- # Distributed under the terms of the Modified BSD License.
- import os
- import sys
- from nbformat import v4
- import nbconvert
- from .base import ExportersTestsBase
- from ..script import ScriptExporter
- class TestScriptExporter(ExportersTestsBase):
- """Tests for ScriptExporter"""
- exporter_class = ScriptExporter
- def test_constructor(self):
- """Construct ScriptExporter"""
- e = self.exporter_class()
- def test_export(self):
- """ScriptExporter can export something"""
- (output, resources) = self.exporter_class().from_filename(self._get_notebook())
- assert len(output) > 0
- def test_export_python(self):
- """delegate to custom exporter from language_info"""
- exporter = self.exporter_class()
- pynb = v4.new_notebook()
- (output, resources) = self.exporter_class().from_notebook_node(pynb)
- self.assertNotIn('# coding: utf-8', output)
- pynb.metadata.language_info = {
- 'name': 'python',
- 'mimetype': 'text/x-python',
- 'nbconvert_exporter': 'python',
- }
- (output, resources) = self.exporter_class().from_notebook_node(pynb)
- self.assertIn('# coding: utf-8', output)
- def test_export_config_transfer(self):
- """delegate config to custom exporter from language_info"""
- nb = v4.new_notebook()
- nb.metadata.language_info = {
- 'name': 'python',
- 'mimetype': 'text/x-python',
- 'nbconvert_exporter': 'python',
- }
- exporter = self.exporter_class()
- exporter.from_notebook_node(nb)
- assert exporter._exporters['python'] != exporter
- assert exporter._exporters['python'].config == exporter.config
- def test_script_exporter_entrypoint():
- nb = v4.new_notebook()
- nb.metadata.language_info = {
- 'name': 'dummy',
- 'mimetype': 'text/x-dummy',
- }
- p = os.path.join(os.path.dirname(nbconvert.tests.__file__), 'exporter_entrypoint')
- sys.path.insert(0, p)
- try:
- output, _ = ScriptExporter().from_notebook_node(nb)
- assert output == 'dummy-script-exported'
- finally:
- sys.path.remove(p)
|