##// END OF EJS Templates
skip permission -> 403 test on Windows...
skip permission -> 403 test on Windows The test actually passes on my VM (Win 7), but not on Jenkins (Server 2012). I haven't figured out how to identify the subset of Windows systems where it won't work, but since the problem appears to be in the test, not the tested code, skipping on Windows seems the right way to go.

File last commit:

r18589:135227ac
r20575:7211fc10
Show More
test_json.py
69 lines | 2.4 KiB | text/x-python | PythonLexer
MinRK
copy nbformat.v3 to v4
r18568 from base64 import decodestring
from unittest import TestCase
from IPython.utils.py3compat import unicode_type
from ..nbjson import reads, writes
from .. import nbjson
from .nbexamples import nb0
from . import formattest
class TestJSON(formattest.NBFormatTest, TestCase):
nb0_ref = None
ext = 'ipynb'
mod = nbjson
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)
self.assertEqual(nbjson.reads(s),nb0)
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)
self.assertEqual(nbjson.reads(s),nb0)
def test_read_png(self):
"""PNG output data is b64 unicode"""
s = writes(nb0)
nb1 = nbjson.reads(s)
found_png = False
MinRK
first complete pass on v4...
r18573 for cell in nb1.cells:
MinRK
copy nbformat.v3 to v4
r18568 if not 'outputs' in cell:
continue
for output in cell.outputs:
MinRK
move mime-bundle data to rich output.data...
r18589 if not 'data' in output:
continue
if 'image/png' in output.data:
MinRK
copy nbformat.v3 to v4
r18568 found_png = True
MinRK
move mime-bundle data to rich output.data...
r18589 pngdata = output.data['image/png']
MinRK
copy nbformat.v3 to v4
r18568 self.assertEqual(type(pngdata), unicode_type)
# 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
MinRK
first complete pass on v4...
r18573 for cell in nb1.cells:
MinRK
copy nbformat.v3 to v4
r18568 if not 'outputs' in cell:
continue
for output in cell.outputs:
MinRK
move mime-bundle data to rich output.data...
r18589 if not 'data' in output:
continue
if 'image/jpeg' in output.data:
MinRK
copy nbformat.v3 to v4
r18568 found_jpeg = True
MinRK
move mime-bundle data to rich output.data...
r18589 jpegdata = output.data['image/jpeg']
MinRK
copy nbformat.v3 to v4
r18568 self.assertEqual(type(jpegdata), unicode_type)
# test that it is valid b64 data
b64bytes = jpegdata.encode('ascii')
raw_bytes = decodestring(b64bytes)
assert found_jpeg, "never found jpeg output"