##// END OF EJS Templates
DEV: Allow CheckpointManagers to optimize for shared backends....
DEV: Allow CheckpointManagers to optimize for shared backends. On `create_checkpoint` and `restore_checkpoint`, pass a path and a `ContentsManager` to `CheckpointManager` instead of an already-loaded model. The `CheckpointManager` base class provides a correct implementation of these methods that's generic across any ContentsManager, but subclasses are free to specialize when the storage backend of `ContentsManager` is shared.

File last commit:

r18605:9867311c
r19828:adba75fe
Show More
test_notebook.py
39 lines | 1.3 KiB | text/x-python | PythonLexer
"""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 IPython.nbformat import validate
from IPython.testing.tools 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)