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")
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)
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")
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)