예제 #1
0
파일: CabUnitTests.py 프로젝트: n3k/PyCAB
 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)
예제 #2
0
 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)
예제 #3
0
파일: CabUnitTests.py 프로젝트: n3k/PyCAB
 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)
예제 #4
0
 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)))
예제 #5
0
 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
예제 #6
0
 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)
예제 #7
0
 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
예제 #8
0
 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)
예제 #9
0
 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))
예제 #10
0
파일: CabWriter.py 프로젝트: n3k/PyCAB
 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