OLD | NEW |
| (Empty) |
1 #!/usr/bin/python | |
2 # Copyright 2014 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 """Unittests for generate_resources_map.py""" | |
7 | |
8 import unittest | |
9 | |
10 import generate_resources_map | |
11 | |
12 | |
13 class GenerateResourcesMapUnittest(unittest.TestCase): | |
14 TEST_INPUT = """ | |
15 // This file is automatically generated by GRIT. Do not edit. | |
16 | |
17 #pragma once | |
18 | |
19 #define IDS_BOOKMARKS_NO_ITEMS 12500 | |
20 #define IDS_BOOKMARK_BAR_IMPORT_LINK 12501 | |
21 #define IDS_BOOKMARK_GROUP_FROM_IE 12502 | |
22 #define IDS_BOOKMARK_GROUP_FROM_FIREFOX 12503 | |
23 """ | |
24 | |
25 def testGetResourceListFromString(self): | |
26 expected_tuples = [(301430091, "IDS_BOOKMARKS_NO_ITEMS", "12500"), | |
27 (2654138887, "IDS_BOOKMARK_BAR_IMPORT_LINK", "12501"), | |
28 (2894469061, "IDS_BOOKMARK_GROUP_FROM_IE", "12502"), | |
29 (3847176170, "IDS_BOOKMARK_GROUP_FROM_FIREFOX", "12503")] | |
30 expected = [generate_resources_map.Resource(*t) for t in expected_tuples] | |
31 | |
32 actual_tuples = generate_resources_map._GetResourceListFromString( | |
33 self.TEST_INPUT) | |
34 | |
35 self.assertEqual(expected_tuples, actual_tuples) | |
36 | |
37 | |
38 def testCheckForHashCollisions(self): | |
39 collisions_tuples = [(123, "IDS_FOO", "12500"), | |
40 (456, "IDS_BAR", "12501"), | |
41 (456, "IDS_BAZ", "12502"), | |
42 (890, "IDS_QUX", "12503"), | |
43 (899, "IDS_NO", "12504"), | |
44 (899, "IDS_YES", "12505")] | |
45 list_with_collisions = [generate_resources_map.Resource(*t) | |
46 for t in collisions_tuples] | |
47 | |
48 expected_collision_tuples = [(456, "IDS_BAR", "12501"), | |
49 (456, "IDS_BAZ", "12502"), | |
50 (899, "IDS_NO", "12504"), | |
51 (899, "IDS_YES", "12505")] | |
52 expected_collisions = [generate_resources_map.Resource(*t) | |
53 for t in expected_collision_tuples] | |
54 | |
55 actual_collisions = sorted( | |
56 generate_resources_map._CheckForHashCollisions(list_with_collisions)) | |
57 actual_collisions | |
58 | |
59 self.assertEqual(expected_collisions, actual_collisions) | |
60 | |
61 def testGenerateFileContent(self): | |
62 expected = ( | |
63 """// This file was generated by generate_resources_map.py. Do not edit. | |
64 | |
65 | |
66 #include "chrome/browser/metrics/variations/generated_resources_map.h" | |
67 | |
68 namespace chrome_variations { | |
69 | |
70 const size_t kNumResources = 4; | |
71 | |
72 const uint32_t kResourceHashes[] = { | |
73 301430091U, // IDS_BOOKMARKS_NO_ITEMS | |
74 2654138887U, // IDS_BOOKMARK_BAR_IMPORT_LINK | |
75 2894469061U, // IDS_BOOKMARK_GROUP_FROM_IE | |
76 3847176170U, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | |
77 }; | |
78 | |
79 const int kResourceIndices[] = { | |
80 12500, // IDS_BOOKMARKS_NO_ITEMS | |
81 12501, // IDS_BOOKMARK_BAR_IMPORT_LINK | |
82 12502, // IDS_BOOKMARK_GROUP_FROM_IE | |
83 12503, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | |
84 }; | |
85 | |
86 } // namespace chrome_variations | |
87 """) | |
88 actual = generate_resources_map._GenerateFileContent(self.TEST_INPUT) | |
89 | |
90 self.assertEqual(expected, actual) | |
91 | |
92 if __name__ == '__main__': | |
93 unittest.main() | |
OLD | NEW |