def test_cffolder_add_file(self): reserve = {'cbCFHeader': 0, 'cbCFFolder': 0, 'cbCFData': 0} cfheader = CFHEADER(flags=0, reserve=reserve) cffolder = CFFOLDER(cfheader=cfheader) cffile = CFFILE(cffolder=cffolder, filename="trav.txt") cffolder.add_file(cffile) self.assertEquals(1, cfheader.cFiles)
def test_cffolder_add_data(self): reserve = {'cbCFHeader': 0, 'cbCFFolder': 0, 'cbCFData': 0} cfheader = CFHEADER(flags=0, reserve=reserve) cffolder = CFFOLDER(cfheader=cfheader) cfdata = CFDATA(data="testdata1") cffolder.add_data(cfdata) cfdata = CFDATA(data="testdata2") cffolder.add_data(cfdata) self.assertEquals(2, cffolder.cCFData)
def test_cfdata_with_reserve(self): data = "this is the data" reserve = {'cbCFHeader': 0, 'cbCFFolder': 0, 'cbCFData': 20} cfheader = CFHEADER(flags=CFHEADER.cfhdrRESERVE_PRESENT, reserve=reserve) cffolder = CFFOLDER(cfheader=cfheader) cfdata = CFDATA(cffolder=cffolder, data=data) self.assertEquals(20, len(cfdata.abReserve)) self.assertEquals(len(cfdata), len(repr(cfdata)))
def read_folders(self, handle): result = [] for i in range(self.cfheader.cFolders): parameters = {} parameters["coffCabStart"] = self._read_dword(handle) parameters["cCFData"] = self._read_word(handle) parameters["typeCompress"] = self._read_word(handle) if self.cfheader.flags & CFHEADER.cfhdrRESERVE_PRESENT: parameters["abReserve"] = handle.read(self.cfheader.cbCFFolder) else: parameters["abReserve"] = "" result.append(CFFOLDER.create_from_parameters(parameters=parameters)) return result
def _create_cffolder(self, folder_name): new_cffolder = CFFOLDER(self.cfheader, folder_id=self.folder_id) new_cffolder.name = folder_name self.folder_id += 1 self.cfheader.add_folder(cffolder=new_cffolder) return new_cffolder
def test_cfheader_add_folder(self): reserve = {'cbCFHeader': 0, 'cbCFFolder': 0, 'cbCFData': 0} cfheader = CFHEADER(flags=0, reserve=reserve) cffolder = CFFOLDER(cfheader=cfheader) cfheader.add_folder(cffolder) self.assertEquals(1, cfheader.cFolders)
def test_cffolder_with_reserve(self): reserve = {'cbCFHeader': 0, 'cbCFFolder': 20, 'cbCFData': 0} cfheader = CFHEADER(flags=CFHEADER.cfhdrRESERVE_PRESENT, reserve=reserve) cffolder = CFFOLDER(cfheader=cfheader) self.assertEquals(20, len(cffolder.abReserve))