Chromium Code Reviews
[email protected] (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: components/variations/service/generate_ui_string_overrider_unittest.py

Issue 1374773002: Componentize script to generate UI string overrides mapping. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@get-resources-index
Patch Set: Rebase and fix //components/variations:unit_tests build with gn Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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()
OLDNEW
« no previous file with comments | « components/variations/service/generate_ui_string_overrider.py ('k') | components/variations/service/ui_string_overrider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698