예제 #1
0
 def test_page_max_size(self):
     page = OggPage()
     page.packets = ["1" * 255 * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [""]
     page2.sequence = 1
     page2.continued = True
     self.failUnlessEqual(["1" * 255 * 255], OggPage.to_packets([page, page2]))
예제 #2
0
 def test_packet_exactly_255(self):
     page = OggPage()
     page.packets = [b"1" * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [b""]
     page2.sequence = 1
     page2.continued = True
     self.failUnlessEqual([b"1" * 255], OggPage.to_packets([page, page2]))
예제 #3
0
 def test_packet_exactly_255(self):
     page = OggPage()
     page.packets = [b"1" * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [b""]
     page2.sequence = 1
     page2.continued = True
     self.failUnlessEqual([b"1" * 255], OggPage.to_packets([page, page2]))
예제 #4
0
 def test_page_max_size(self):
     page = OggPage()
     page.packets = ["1" * 255 * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [""]
     page2.sequence = 1
     page2.continued = True
     self.failUnlessEqual(["1" * 255 * 255],
                          OggPage.to_packets([page, page2]))
예제 #5
0
 def test_read_max_size(self):
     page = OggPage()
     page.packets = [b"1" * 255 * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [b"", b"foo"]
     page2.sequence = 1
     page2.continued = True
     data = page.write() + page2.write()
     fileobj = BytesIO(data)
     self.failUnlessEqual(OggPage(fileobj), page)
     self.failUnlessEqual(OggPage(fileobj), page2)
     self.failUnlessRaises(EOFError, OggPage, fileobj)
예제 #6
0
 def test_read_max_size(self):
     page = OggPage()
     page.packets = [b"1" * 255 * 255]
     page.complete = False
     page2 = OggPage()
     page2.packets = [b"", b"foo"]
     page2.sequence = 1
     page2.continued = True
     data = page.write() + page2.write()
     fileobj = BytesIO(data)
     self.failUnlessEqual(OggPage(fileobj), page)
     self.failUnlessEqual(OggPage(fileobj), page2)
     self.failUnlessRaises(EOFError, OggPage, fileobj)
예제 #7
0
 def test_theora_bad_version(self):
     page = OggPage(open(self.filename, "rb"))
     packet = page.packets[0]
     packet = packet[:7] + b"\x03\x00" + packet[9:]
     page.packets = [packet]
     fileobj = cBytesIO(page.write())
     self.failUnlessRaises(IOError, OggTheoraInfo, fileobj)
예제 #8
0
    def test_crc_py25(self):
        # Make sure page.write can handle both signed/unsigned int
        # return values of crc32.
        # http://code.google.com/p/mutagen/issues/detail?id=63
        # http://docs.python.org/library/zlib.html#zlib.crc32

        import zlib
        old_crc = zlib.crc32

        def zlib_uint(*args):
            return (old_crc(*args) & 0xffffffff)

        def zlib_int(*args):
            return cdata.int_be(cdata.to_uint_be(old_crc(*args) & 0xffffffff))

        try:
            page = OggPage()
            page.packets = [b"abc"]
            zlib.crc32 = zlib_uint
            uint_data = page.write()
            zlib.crc32 = zlib_int
            int_data = page.write()
        finally:
            zlib.crc32 = old_crc

        self.failUnlessEqual(uint_data, int_data)
예제 #9
0
파일: test_ogg.py 프로젝트: svetlio2/hackbg
    def test_crc_py25(self):
        # Make sure page.write can handle both signed/unsigned int
        # return values of crc32.
        # http://code.google.com/p/mutagen/issues/detail?id=63
        # http://docs.python.org/library/zlib.html#zlib.crc32

        import zlib
        old_crc = zlib.crc32

        def zlib_uint(*args):
            return (old_crc(*args) & 0xffffffff)

        def zlib_int(*args):
            return cdata.int_be(cdata.to_uint_be(old_crc(*args) & 0xffffffff))

        try:
            page = OggPage()
            page.packets = [b"abc"]
            zlib.crc32 = zlib_uint
            uint_data = page.write()
            zlib.crc32 = zlib_int
            int_data = page.write()
        finally:
            zlib.crc32 = old_crc

        self.failUnlessEqual(uint_data, int_data)
예제 #10
0
 def test_page_max_size_alone_too_big(self):
     page = OggPage()
     page.packets = [b"1" * 255 * 255]
     page.complete = True
     self.failUnlessRaises(ValueError, page.write)
예제 #11
0
 def test_page_max_size_alone_too_big(self):
     page = OggPage()
     page.packets = [b"1" * 255 * 255]
     page.complete = True
     self.failUnlessRaises(ValueError, page.write)