formattest.py
63 lines
| 1.5 KiB
| text/x-python
|
PythonLexer
MinRK
|
r6209 | # -*- 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 | ||||
MinRK
|
r6212 | def open_utf8(fname, mode): | ||
return io.open(fname, mode=mode, encoding='utf-8') | ||||
MinRK
|
r6476 | class NBFormatTest: | ||
"""Mixin for writing notebook format tests""" | ||||
MinRK
|
r6209 | |||
# 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): | ||||
Bradley M. Froehle
|
r7874 | self.assertEqual(nba, nbb) | ||
MinRK
|
r6209 | |||
def test_writes(self): | ||||
s = self.mod.writes(nb0) | ||||
if self.nb0_ref: | ||||
Bradley M. Froehle
|
r7874 | self.assertEqual(s, self.nb0_ref) | ||
MinRK
|
r6209 | |||
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): | ||||
MinRK
|
r6212 | with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f: | ||
MinRK
|
r6209 | self.mod.write(nb0, f) | ||
def test_read_file(self): | ||||
MinRK
|
r6212 | with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'w') as f: | ||
MinRK
|
r6209 | self.mod.write(nb0, f) | ||
MinRK
|
r6212 | with open_utf8(pjoin(self.wd, "nb0.%s" % self.ext), 'r') as f: | ||
MinRK
|
r6209 | nb = self.mod.read(f) | ||
MinRK
|
r6476 | |||