test_notebook.py
39 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
Jonathan Frederic
|
r16847 | """Tests for notebook.py""" | ||
Julia Evans
|
r16822 | |||
Julia Evans
|
r16823 | # Copyright (c) IPython Development Team. | ||
Julia Evans
|
r16822 | # Distributed under the terms of the Modified BSD License. | ||
MinRK
|
r18247 | import json | ||
Julia Evans
|
r16822 | from .base import ExportersTestsBase | ||
from ..notebook import NotebookExporter | ||||
MinRK
|
r18605 | from IPython.nbformat import validate | ||
MinRK
|
r18248 | from IPython.testing.tools import assert_big_text_equal | ||
Julia Evans
|
r16822 | class TestNotebookExporter(ExportersTestsBase): | ||
"""Contains test functions for notebook.py""" | ||||
exporter_class = NotebookExporter | ||||
def test_export(self): | ||||
""" | ||||
Does the NotebookExporter return the file unchanged? | ||||
""" | ||||
with open(self._get_notebook()) as f: | ||||
file_contents = f.read() | ||||
MinRK
|
r18247 | (output, resources) = self.exporter_class().from_filename(self._get_notebook()) | ||
Julia Evans
|
r16822 | assert len(output) > 0 | ||
MinRK
|
r18248 | assert_big_text_equal(output, file_contents) | ||
MinRK
|
r18247 | |||
def test_downgrade_3(self): | ||||
exporter = self.exporter_class(nbformat_version=3) | ||||
(output, resources) = exporter.from_filename(self._get_notebook()) | ||||
nb = json.loads(output) | ||||
MinRK
|
r18596 | validate(nb) | ||
MinRK
|
r18247 | |||
def test_downgrade_2(self): | ||||
exporter = self.exporter_class(nbformat_version=2) | ||||
(output, resources) = exporter.from_filename(self._get_notebook()) | ||||
nb = json.loads(output) | ||||
self.assertEqual(nb['nbformat'], 2) | ||||