##// END OF EJS Templates
Fix notebook tests w/ new stream capturing API.
Fix notebook tests w/ new stream capturing API.

File last commit:

r13353:0ca701d5
r13839:58f3bbb5
Show More
test_json.py
72 lines | 2.3 KiB | text/x-python | PythonLexer
Brian E. Granger
Added collapsed field to the code cell.
r4533 import pprint
MinRK
test that PNG / JPEG output data are unicode
r12390 from base64 import decodestring
Brian E. Granger
Full versioning added to nbformat.
r4406 from unittest import TestCase
Thomas Kluyver
Replace references to unicode and basestring
r13353 from IPython.utils.py3compat import unicode_type
Brian E. Granger
Full versioning added to nbformat.
r4406 from ..nbjson import reads, writes
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 from .. import nbjson
Brian E. Granger
Full versioning added to nbformat.
r4406 from .nbexamples import nb0
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 from . import formattest
Brian E. Granger
Full versioning added to nbformat.
r4406
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 from .nbexamples import nb0
MinRK
NBFormatTest is now a mixin, rather than a base class
r6476 class TestJSON(formattest.NBFormatTest, TestCase):
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209
nb0_ref = None
ext = 'ipynb'
mod = nbjson
Brian E. Granger
Full versioning added to nbformat.
r4406
MinRK
split likely multiline strings when writing to/from JSON
r5278 def test_roundtrip_nosplit(self):
"""Ensure that multiline blobs are still readable"""
# ensures that notebooks written prior to splitlines change
# are still readable.
s = writes(nb0, split_lines=False)
Bradley M. Froehle
s/assertEquals/assertEqual/
r7874 self.assertEqual(nbjson.reads(s),nb0)
MinRK
split likely multiline strings when writing to/from JSON
r5278
def test_roundtrip_split(self):
"""Ensure that splitting multiline blocks is safe"""
# This won't differ from test_roundtrip unless the default changes
s = writes(nb0, split_lines=True)
Bradley M. Froehle
s/assertEquals/assertEqual/
r7874 self.assertEqual(nbjson.reads(s),nb0)
Brian E. Granger
Full versioning added to nbformat.
r4406
MinRK
test that PNG / JPEG output data are unicode
r12390 def test_read_png(self):
"""PNG output data is b64 unicode"""
s = writes(nb0)
nb1 = nbjson.reads(s)
found_png = False
for cell in nb1.worksheets[0].cells:
if not 'outputs' in cell:
continue
for output in cell.outputs:
if 'png' in output:
found_png = True
pngdata = output['png']
Thomas Kluyver
Replace references to unicode and basestring
r13353 self.assertEqual(type(pngdata), unicode_type)
MinRK
test that PNG / JPEG output data are unicode
r12390 # test that it is valid b64 data
b64bytes = pngdata.encode('ascii')
raw_bytes = decodestring(b64bytes)
assert found_png, "never found png output"
def test_read_jpeg(self):
"""JPEG output data is b64 unicode"""
s = writes(nb0)
nb1 = nbjson.reads(s)
found_jpeg = False
for cell in nb1.worksheets[0].cells:
if not 'outputs' in cell:
continue
for output in cell.outputs:
if 'jpeg' in output:
found_jpeg = True
jpegdata = output['jpeg']
Thomas Kluyver
Replace references to unicode and basestring
r13353 self.assertEqual(type(jpegdata), unicode_type)
MinRK
test that PNG / JPEG output data are unicode
r12390 # test that it is valid b64 data
b64bytes = jpegdata.encode('ascii')
raw_bytes = decodestring(b64bytes)
assert found_jpeg, "never found jpeg output"
Brian E. Granger
Full versioning added to nbformat.
r4406