| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/env python | |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 3 # Use of this source code is governed by a BSD-style license that can be | |
| 4 # found in the LICENSE file. | |
| 5 | |
| 6 '''Unit tests for grit.format.data_pack''' | |
| 7 | |
| 8 | |
| 9 import os | |
| 10 import sys | |
| 11 if __name__ == '__main__': | |
| 12 sys.path.append(os.path.join(os.path.dirname(__file__), '../..')) | |
| 13 | |
| 14 import unittest | |
| 15 | |
| 16 from grit.format import data_pack | |
| 17 | |
| 18 | |
| 19 class FormatDataPackUnittest(unittest.TestCase): | |
| 20 def testWriteDataPack(self): | |
| 21 expected = ( | |
| 22 '\x04\x00\x00\x00' # header(version | |
| 23 '\x04\x00\x00\x00' # no. entries, | |
| 24 '\x01' # encoding) | |
| 25 '\x01\x00\x27\x00\x00\x00' # index entry 1 | |
| 26 '\x04\x00\x27\x00\x00\x00' # index entry 4 | |
| 27 '\x06\x00\x33\x00\x00\x00' # index entry 6 | |
| 28 '\x0a\x00\x3f\x00\x00\x00' # index entry 10 | |
| 29 '\x00\x00\x3f\x00\x00\x00' # extra entry for the size of last | |
| 30 'this is id 4this is id 6') # data | |
| 31 input = {1: '', 4: 'this is id 4', 6: 'this is id 6', 10: ''} | |
| 32 output = data_pack.WriteDataPackToString(input, data_pack.UTF8) | |
| 33 self.failUnless(output == expected) | |
| 34 | |
| 35 def testRePackUnittest(self): | |
| 36 expected_with_whitelist = { | |
| 37 1: 'Never gonna', 10: 'give you up', 20: 'Never gonna let', | |
| 38 30: 'you down', 40: 'Never', 50: 'gonna run around and', | |
| 39 60: 'desert you'} | |
| 40 expected_without_whitelist = { | |
| 41 1: 'Never gonna', 10: 'give you up', 20: 'Never gonna let', 65: 'Close', | |
| 42 30: 'you down', 40: 'Never', 50: 'gonna run around and', 4: 'click', | |
| 43 60: 'desert you', 6: 'chirr', 32: 'oops, try again', 70: 'Awww, snap!'} | |
| 44 inputs = [{1: 'Never gonna', 4: 'click', 6: 'chirr', 10: 'give you up'}, | |
| 45 {20: 'Never gonna let', 30: 'you down', 32: 'oops, try again'}, | |
| 46 {40: 'Never', 50: 'gonna run around and', 60: 'desert you'}, | |
| 47 {65: 'Close', 70: 'Awww, snap!'}] | |
| 48 whitelist = [1, 10, 20, 30, 40, 50, 60] | |
| 49 inputs = [data_pack.DataPackContents(input, data_pack.UTF8) for input | |
| 50 in inputs] | |
| 51 | |
| 52 # RePack using whitelist | |
| 53 output, _ = data_pack.RePackFromDataPackStrings(inputs, whitelist) | |
| 54 self.assertDictEqual(expected_with_whitelist, output, | |
| 55 'Incorrect resource output') | |
| 56 | |
| 57 # RePack a None whitelist | |
| 58 output, _ = data_pack.RePackFromDataPackStrings(inputs, None) | |
| 59 self.assertDictEqual(expected_without_whitelist, output, | |
| 60 'Incorrect resource output') | |
| 61 | |
| 62 | |
| 63 if __name__ == '__main__': | |
| 64 unittest.main() | |
| OLD | NEW |