40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
"""Tests for notebook.py"""
|
||
|
|
||
|
# Copyright (c) IPython Development Team.
|
||
|
# Distributed under the terms of the Modified BSD License.
|
||
|
|
||
|
import json
|
||
|
|
||
|
from .base import ExportersTestsBase
|
||
|
from ..notebook import NotebookExporter
|
||
|
|
||
|
from nbformat import validate
|
||
|
from nbconvert.tests.base import assert_big_text_equal
|
||
|
|
||
|
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()
|
||
|
(output, resources) = self.exporter_class().from_filename(self._get_notebook())
|
||
|
assert len(output) > 0
|
||
|
assert_big_text_equal(output, file_contents)
|
||
|
|
||
|
def test_downgrade_3(self):
|
||
|
exporter = self.exporter_class(nbformat_version=3)
|
||
|
(output, resources) = exporter.from_filename(self._get_notebook())
|
||
|
nb = json.loads(output)
|
||
|
validate(nb)
|
||
|
|
||
|
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)
|