示例#1
0
    def test_ddf_fixed(self):

        arc = CabArchive()
        with open("data/ddf-fixed.cab", "rb") as f:
            arc.parse(f.read())
        self.assertEqual(len(arc), 2)
        cff = arc.find_file("*.txt")
        self.assertEqual(cff.buf, b"test123")
示例#2
0
    def test_compressed(self):

        with open("data/compressed.cab", "rb") as f:
            old = f.read()
        arc = CabArchive()
        arc.parse(old)
        cff = arc.find_file("*.txt")
        self.assertEqual(cff.buf, b"test123")
        _check_range(arc.save(compress=True), old)
示例#3
0
    def test_multi_folder(self):

        # open a folder with multiple folders
        arc = CabArchive()
        with open("data/multi-folder.cab", "rb") as f:
            arc.parse(f.read())
        self.assertEqual(len(arc), 2)
        cff = arc.find_file("*.txt")
        self.assertEqual(cff.buf, b"test123")
示例#4
0
    def test_utf8(self):

        with open("data/utf8.cab", "rb") as f:
            old = f.read()
        arc = CabArchive()
        arc.parse(old)
        cff = arc.find_file("tést.dat")
        self.assertEqual(cff.filename, "tést.dat")
        self.assertEqual(cff.buf, "tést123".encode())
        self.assertEqual(len(cff.buf), 8)
        self.assertEqual(cff.date.year, 2015)
        _check_range(arc.save(), old)