Пример #1
0
    def test_strip_transient(self):
        """transient values aren't written to files"""
        nb = copy.deepcopy(nb0)
        nb.orig_nbformat = 2
        nb.orig_nbformat_minor = 3
        nb.worksheets[0].cells[0].metadata.trusted = False
        nbs = nbjson.writes(nb)

        nb2 = from_dict(json.loads(nbs))
        self.assertNotIn("orig_nbformat", nb2)
        self.assertNotIn("orig_nbformat_minor", nb2)
        for cell in nb2.worksheets[0].cells:
            self.assertNotIn("trusted", cell.metadata)
Пример #2
0
 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 "outputs" not in cell:
             continue
         for output in cell.outputs:
             if "jpeg" in output:
                 found_jpeg = True
                 jpegdata = output["jpeg"]
                 self.assertEqual(type(jpegdata), str)
                 # test that it is valid b64 data
                 b64bytes = jpegdata.encode("ascii")
                 raw_bytes = decodebytes(b64bytes)
     assert found_jpeg, "never found jpeg output"
Пример #3
0
 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)
Пример #4
0
 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)