예제 #1
0
    def testReadWriteDataPackV5(self):
        expected_data = (
            '\x05\x00\x00\x00'  # version
            '\x01\x00\x00\x00'  # encoding & padding
            '\x03\x00'  # resource_count
            '\x01\x00'  # alias_count
            '\x01\x00\x28\x00\x00\x00'  # index entry 1
            '\x04\x00\x28\x00\x00\x00'  # index entry 4
            '\x06\x00\x34\x00\x00\x00'  # index entry 6
            '\x00\x00\x40\x00\x00\x00'  # extra entry for the size of last
            '\x0a\x00\x01\x00'  # alias table
            'this is id 4this is id 6')  # data
        input_resources = {
            1: '',
            4: 'this is id 4',
            6: 'this is id 6',
            10: 'this is id 4',
        }
        data = data_pack.WriteDataPackToString(input_resources, data_pack.UTF8)
        self.assertEquals(data, expected_data)

        expected_data_pack = data_pack.DataPackContents(
            {
                1: '',
                4: input_resources[4],
                6: input_resources[6],
                10: input_resources[4],
            }, data_pack.UTF8, 5, {10: 4},
            data_pack.DataPackSizes(12, 24, 4, 24))
        loaded = data_pack.ReadDataPackFromString(expected_data)
        self.assertDictEqual(expected_data_pack.__dict__, loaded.__dict__)
예제 #2
0
 def testReadDataPackV4(self):
     expected_data = (
         '\x04\x00\x00\x00'  # header(version
         '\x04\x00\x00\x00'  #        no. entries,
         '\x01'  #        encoding)
         '\x01\x00\x27\x00\x00\x00'  # index entry 1
         '\x04\x00\x27\x00\x00\x00'  # index entry 4
         '\x06\x00\x33\x00\x00\x00'  # index entry 6
         '\x0a\x00\x3f\x00\x00\x00'  # index entry 10
         '\x00\x00\x3f\x00\x00\x00'  # extra entry for the size of last
         'this is id 4this is id 6')  # data
     expected_data_pack = data_pack.DataPackContents(
         {
             1: '',
             4: 'this is id 4',
             6: 'this is id 6',
             10: '',
         }, data_pack.UTF8, 4, {}, data_pack.DataPackSizes(9, 30, 0, 24))
     loaded = data_pack.ReadDataPackFromString(expected_data)
     self.assertDictEqual(expected_data_pack.__dict__, loaded.__dict__)