123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- # -*- coding: utf8 -*-
- import io
- import os
- import shutil
- import tempfile
- pjoin = os.path.join
- from ..nbbase import (
- NotebookNode,
- new_code_cell, new_text_cell, new_worksheet, new_notebook
- )
- from ..nbpy import reads, writes, read, write
- from .nbexamples import nb0, nb0_py
- def open_utf8(fname, mode):
- return io.open(fname, mode=mode, encoding='utf-8')
- class NBFormatTest:
- """Mixin for writing notebook format tests"""
- # override with appropriate values in subclasses
- nb0_ref = None
- ext = None
- mod = None
-
- def setUp(self):
- self.wd = tempfile.mkdtemp()
-
- def tearDown(self):
- shutil.rmtree(self.wd)
-
- def assertNBEquals(self, nba, nbb):
- self.assertEqual(nba, nbb)
-
- def test_writes(self):
- s = self.mod.writes(nb0)
- if self.nb0_ref:
- self.assertEqual(s, self.nb0_ref)
- def test_reads(self):
- s = self.mod.writes(nb0)
- nb = self.mod.reads(s)
- def test_roundtrip(self):
- s = self.mod.writes(nb0)
- self.assertNBEquals(self.mod.reads(s),nb0)
- def test_write_file(self):
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f:
- self.mod.write(nb0, f)
-
- def test_read_file(self):
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f:
- self.mod.write(nb0, f)
-
- with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'r') as f:
- nb = self.mod.read(f)
-
|