OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Unittests for generate_resources_map.py""" | 6 """Unittests for generate_ui_string_overrider.py""" |
7 | 7 |
8 import unittest | 8 import unittest |
9 | 9 |
10 import generate_resources_map | 10 import generate_ui_string_overrider |
11 | 11 |
12 | 12 |
13 class GenerateResourcesMapUnittest(unittest.TestCase): | 13 class GenerateResourcesMapUnittest(unittest.TestCase): |
| 14 NAMESPACE = "chrome_variations" |
| 15 OUT_HEADER = "components/variations/service/ui_string_overrider_factory.h" |
14 TEST_INPUT = """ | 16 TEST_INPUT = """ |
15 // This file is automatically generated by GRIT. Do not edit. | 17 // This file is automatically generated by GRIT. Do not edit. |
16 | 18 |
17 #pragma once | 19 #pragma once |
18 | 20 |
19 #define IDS_BOOKMARKS_NO_ITEMS 12500 | 21 #define IDS_BOOKMARKS_NO_ITEMS 12500 |
20 #define IDS_BOOKMARK_BAR_IMPORT_LINK 12501 | 22 #define IDS_BOOKMARK_BAR_IMPORT_LINK 12501 |
21 #define IDS_BOOKMARK_GROUP_FROM_IE 12502 | 23 #define IDS_BOOKMARK_GROUP_FROM_IE 12502 |
22 #define IDS_BOOKMARK_GROUP_FROM_FIREFOX 12503 | 24 #define IDS_BOOKMARK_GROUP_FROM_FIREFOX 12503 |
23 """ | 25 """ |
24 | 26 |
25 def testGetResourceListFromString(self): | 27 def testGetResourceListFromString(self): |
26 expected_tuples = [(301430091, "IDS_BOOKMARKS_NO_ITEMS", "12500"), | 28 expected_tuples = [(301430091, "IDS_BOOKMARKS_NO_ITEMS", "12500"), |
27 (2654138887, "IDS_BOOKMARK_BAR_IMPORT_LINK", "12501"), | 29 (2654138887, "IDS_BOOKMARK_BAR_IMPORT_LINK", "12501"), |
28 (2894469061, "IDS_BOOKMARK_GROUP_FROM_IE", "12502"), | 30 (2894469061, "IDS_BOOKMARK_GROUP_FROM_IE", "12502"), |
29 (3847176170, "IDS_BOOKMARK_GROUP_FROM_FIREFOX", "12503")] | 31 (3847176170, "IDS_BOOKMARK_GROUP_FROM_FIREFOX", "12503")] |
30 expected = [generate_resources_map.Resource(*t) for t in expected_tuples] | 32 expected = [ |
| 33 generate_ui_string_overrider.Resource(*t) for t in expected_tuples] |
31 | 34 |
32 actual_tuples = generate_resources_map._GetResourceListFromString( | 35 actual_tuples = generate_ui_string_overrider._GetResourceListFromString( |
33 self.TEST_INPUT) | 36 self.TEST_INPUT) |
34 | 37 |
35 self.assertEqual(expected_tuples, actual_tuples) | 38 self.assertEqual(expected_tuples, actual_tuples) |
36 | 39 |
37 | 40 |
38 def testCheckForHashCollisions(self): | 41 def testCheckForHashCollisions(self): |
39 collisions_tuples = [(123, "IDS_FOO", "12500"), | 42 collisions_tuples = [(123, "IDS_FOO", "12500"), |
40 (456, "IDS_BAR", "12501"), | 43 (456, "IDS_BAR", "12501"), |
41 (456, "IDS_BAZ", "12502"), | 44 (456, "IDS_BAZ", "12502"), |
42 (890, "IDS_QUX", "12503"), | 45 (890, "IDS_QUX", "12503"), |
43 (899, "IDS_NO", "12504"), | 46 (899, "IDS_NO", "12504"), |
44 (899, "IDS_YES", "12505")] | 47 (899, "IDS_YES", "12505")] |
45 list_with_collisions = [generate_resources_map.Resource(*t) | 48 list_with_collisions = [generate_ui_string_overrider.Resource(*t) |
46 for t in collisions_tuples] | 49 for t in collisions_tuples] |
47 | 50 |
48 expected_collision_tuples = [(456, "IDS_BAR", "12501"), | 51 expected_collision_tuples = [(456, "IDS_BAR", "12501"), |
49 (456, "IDS_BAZ", "12502"), | 52 (456, "IDS_BAZ", "12502"), |
50 (899, "IDS_NO", "12504"), | 53 (899, "IDS_NO", "12504"), |
51 (899, "IDS_YES", "12505")] | 54 (899, "IDS_YES", "12505")] |
52 expected_collisions = [generate_resources_map.Resource(*t) | 55 expected_collisions = [generate_ui_string_overrider.Resource(*t) |
53 for t in expected_collision_tuples] | 56 for t in expected_collision_tuples] |
54 | 57 |
55 actual_collisions = sorted( | 58 actual_collisions = sorted( |
56 generate_resources_map._CheckForHashCollisions(list_with_collisions)) | 59 generate_ui_string_overrider._CheckForHashCollisions( |
| 60 list_with_collisions)) |
57 actual_collisions | 61 actual_collisions |
58 | 62 |
59 self.assertEqual(expected_collisions, actual_collisions) | 63 self.assertEqual(expected_collisions, actual_collisions) |
60 | 64 |
61 def testGenerateFileContent(self): | 65 def testGenerateSourceFileContent(self): |
62 expected = ( | 66 expected = ( |
63 """// This file was generated by generate_resources_map.py. Do not edit. | 67 """\ |
| 68 // This file was generated by generate_ui_string_overrider.py. Do not edit. |
64 | 69 |
65 | 70 #include "components/variations/service/ui_string_overrider_factory.h" |
66 #include "chrome/browser/metrics/variations/generated_resources_map.h" | |
67 | 71 |
68 namespace chrome_variations { | 72 namespace chrome_variations { |
69 | 73 |
| 74 namespace { |
| 75 |
70 const size_t kNumResources = 4; | 76 const size_t kNumResources = 4; |
71 | 77 |
72 const uint32_t kResourceHashes[] = { | 78 const uint32_t kResourceHashes[] = { |
73 301430091U, // IDS_BOOKMARKS_NO_ITEMS | 79 301430091U, // IDS_BOOKMARKS_NO_ITEMS |
74 2654138887U, // IDS_BOOKMARK_BAR_IMPORT_LINK | 80 2654138887U, // IDS_BOOKMARK_BAR_IMPORT_LINK |
75 2894469061U, // IDS_BOOKMARK_GROUP_FROM_IE | 81 2894469061U, // IDS_BOOKMARK_GROUP_FROM_IE |
76 3847176170U, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | 82 3847176170U, // IDS_BOOKMARK_GROUP_FROM_FIREFOX |
77 }; | 83 }; |
78 | 84 |
79 const int kResourceIndices[] = { | 85 const int kResourceIndices[] = { |
80 12500, // IDS_BOOKMARKS_NO_ITEMS | 86 12500, // IDS_BOOKMARKS_NO_ITEMS |
81 12501, // IDS_BOOKMARK_BAR_IMPORT_LINK | 87 12501, // IDS_BOOKMARK_BAR_IMPORT_LINK |
82 12502, // IDS_BOOKMARK_GROUP_FROM_IE | 88 12502, // IDS_BOOKMARK_GROUP_FROM_IE |
83 12503, // IDS_BOOKMARK_GROUP_FROM_FIREFOX | 89 12503, // IDS_BOOKMARK_GROUP_FROM_FIREFOX |
84 }; | 90 }; |
85 | 91 |
| 92 } // namespace |
| 93 |
| 94 variations::UIStringOverrider CreateUIStringOverrider() { |
| 95 return variations::UIStringOverrider( |
| 96 kResourceHashes, kResourceIndices, kNumResources); |
| 97 } |
| 98 |
86 } // namespace chrome_variations | 99 } // namespace chrome_variations |
87 """) | 100 """) |
88 actual = generate_resources_map._GenerateFileContent(self.TEST_INPUT) | 101 actual = generate_ui_string_overrider._GenerateSourceFileContent( |
| 102 self.TEST_INPUT, self.NAMESPACE, self.OUT_HEADER) |
89 | 103 |
90 self.assertEqual(expected, actual) | 104 self.assertEqual(expected, actual) |
91 | 105 |
| 106 |
| 107 def testGenerateHeaderFileContent(self): |
| 108 expected = ( |
| 109 """\ |
| 110 // This file was generated by generate_ui_string_overrider.py. Do not edit. |
| 111 |
| 112 #ifndef COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_ |
| 113 #define COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_ |
| 114 |
| 115 #include "components/variations/service/ui_string_overrider.h" |
| 116 |
| 117 namespace chrome_variations { |
| 118 |
| 119 // Returns an initialized UIStringOverrider. |
| 120 variations::UIStringOverrider CreateUIStringOverrider(); |
| 121 |
| 122 } // namespace chrome_variations |
| 123 |
| 124 #endif // COMPONENTS_VARIATIONS_SERVICE_UI_STRING_OVERRIDER_FACTORY_H_ |
| 125 """) |
| 126 actual = generate_ui_string_overrider._GenerateHeaderFileContent( |
| 127 self.NAMESPACE, self.OUT_HEADER) |
| 128 |
| 129 self.assertEqual(expected, actual) |
| 130 |
92 if __name__ == '__main__': | 131 if __name__ == '__main__': |
93 unittest.main() | 132 unittest.main() |
OLD | NEW |