Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: grit/format/resource_map_unittest.py

Issue 1442863002: Remove contents of grit's SVN repository. (Closed) Base URL: http://grit-i18n.googlecode.com/svn/trunk/
Patch Set: Created 5 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « grit/format/resource_map.py ('k') | grit/gather/__init__.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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.resource_map'''
7
8 import os
9 import sys
10 if __name__ == '__main__':
11 sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
12
13 import StringIO
14 import unittest
15
16 from grit import grd_reader
17 from grit import util
18 from grit.format import resource_map
19
20
21 class FormatResourceMapUnittest(unittest.TestCase):
22 def testFormatResourceMap(self):
23 grd = grd_reader.Parse(StringIO.StringIO(
24 '''<?xml version="1.0" encoding="UTF-8"?>
25 <grit latest_public_release="2" source_lang_id="en" current_release="3"
26 base_dir=".">
27 <outputs>
28 <output type="rc_header" filename="the_rc_header.h" />
29 <output type="resource_map_header"
30 filename="the_resource_map_header.h" />
31 </outputs>
32 <release seq="3">
33 <structures first_id="300">
34 <structure type="menu" name="IDC_KLONKMENU"
35 file="grit\\testdata\\klonk.rc" encoding="utf-16" />
36 </structures>
37 <includes first_id="10000">
38 <include type="foo" file="abc" name="IDS_FIRSTPRESENT" />
39 <if expr="False">
40 <include type="foo" file="def" name="IDS_MISSING" />
41 </if>
42 <if expr="lang != 'es'">
43 <include type="foo" file="ghi" name="IDS_LANGUAGESPECIFIC" />
44 </if>
45 <if expr="lang == 'es'">
46 <include type="foo" file="jkl" name="IDS_LANGUAGESPECIFIC" />
47 </if>
48 <include type="foo" file="mno" name="IDS_THIRDPRESENT" />
49 </includes>
50 </release>
51 </grit>'''), util.PathFromRoot('.'))
52 grd.SetOutputLanguage('en')
53 grd.RunGatherers()
54 output = util.StripBlankLinesAndComments(''.join(
55 resource_map.GetFormatter('resource_map_header')(grd, 'en', '.')))
56 self.assertEqual('''\
57 #include <stddef.h>
58 #ifndef GRIT_RESOURCE_MAP_STRUCT_
59 #define GRIT_RESOURCE_MAP_STRUCT_
60 struct GritResourceMap {
61 const char* const name;
62 int value;
63 };
64 #endif // GRIT_RESOURCE_MAP_STRUCT_
65 extern const GritResourceMap kTheRcHeader[];
66 extern const size_t kTheRcHeaderSize;''', output)
67 output = util.StripBlankLinesAndComments(''.join(
68 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.')))
69 self.assertEqual('''\
70 #include "the_resource_map_header.h"
71 #include "base/basictypes.h"
72 #include "the_rc_header.h"
73 const GritResourceMap kTheRcHeader[] = {
74 {"IDC_KLONKMENU", IDC_KLONKMENU},
75 {"IDS_FIRSTPRESENT", IDS_FIRSTPRESENT},
76 {"IDS_MISSING", IDS_MISSING},
77 {"IDS_LANGUAGESPECIFIC", IDS_LANGUAGESPECIFIC},
78 {"IDS_THIRDPRESENT", IDS_THIRDPRESENT},
79 };
80 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
81 output = util.StripBlankLinesAndComments(''.join(
82 resource_map.GetFormatter('resource_file_map_source')(grd, 'en', '.')))
83 self.assertEqual('''\
84 #include "the_resource_map_header.h"
85 #include "base/basictypes.h"
86 #include "the_rc_header.h"
87 const GritResourceMap kTheRcHeader[] = {
88 {"grit/testdata/klonk.rc", IDC_KLONKMENU},
89 {"abc", IDS_FIRSTPRESENT},
90 {"def", IDS_MISSING},
91 {"ghi", IDS_LANGUAGESPECIFIC},
92 {"jkl", IDS_LANGUAGESPECIFIC},
93 {"mno", IDS_THIRDPRESENT},
94 };
95 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
96
97 def testFormatResourceMapWithOutputAllEqualsFalseForStructures(self):
98 grd = grd_reader.Parse(StringIO.StringIO(
99 '''<?xml version="1.0" encoding="UTF-8"?>
100 <grit latest_public_release="2" source_lang_id="en" current_release="3"
101 base_dir="." output_all_resource_defines="false">
102 <outputs>
103 <output type="rc_header" filename="the_rc_header.h" />
104 <output type="resource_map_header"
105 filename="the_resource_map_header.h" />
106 <output type="resource_map_source"
107 filename="the_resource_map_header.cc" />
108 </outputs>
109 <release seq="3">
110 <structures first_id="300">
111 <structure type="chrome_scaled_image" name="IDR_KLONKMENU"
112 file="foo.png" />
113 <if expr="False">
114 <structure type="chrome_scaled_image" name="IDR_MISSING"
115 file="bar.png" />
116 </if>
117 </structures>
118 </release>
119 </grit>'''), util.PathFromRoot('.'))
120 grd.SetOutputLanguage('en')
121 grd.RunGatherers()
122 output = util.StripBlankLinesAndComments(''.join(
123 resource_map.GetFormatter('resource_map_header')(grd, 'en', '.')))
124 self.assertEqual('''\
125 #include <stddef.h>
126 #ifndef GRIT_RESOURCE_MAP_STRUCT_
127 #define GRIT_RESOURCE_MAP_STRUCT_
128 struct GritResourceMap {
129 const char* const name;
130 int value;
131 };
132 #endif // GRIT_RESOURCE_MAP_STRUCT_
133 extern const GritResourceMap kTheRcHeader[];
134 extern const size_t kTheRcHeaderSize;''', output)
135 output = util.StripBlankLinesAndComments(''.join(
136 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.')))
137 self.assertEqual('''\
138 #include "the_resource_map_header.h"
139 #include "base/basictypes.h"
140 #include "the_rc_header.h"
141 const GritResourceMap kTheRcHeader[] = {
142 {"IDR_KLONKMENU", IDR_KLONKMENU},
143 };
144 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
145 output = util.StripBlankLinesAndComments(''.join(
146 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.')))
147 self.assertEqual('''\
148 #include "the_resource_map_header.h"
149 #include "base/basictypes.h"
150 #include "the_rc_header.h"
151 const GritResourceMap kTheRcHeader[] = {
152 {"IDR_KLONKMENU", IDR_KLONKMENU},
153 };
154 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
155
156 def testFormatResourceMapWithOutputAllEqualsFalseForIncludes(self):
157 grd = grd_reader.Parse(StringIO.StringIO(
158 '''<?xml version="1.0" encoding="UTF-8"?>
159 <grit latest_public_release="2" source_lang_id="en" current_release="3"
160 base_dir="." output_all_resource_defines="false">
161 <outputs>
162 <output type="rc_header" filename="the_rc_header.h" />
163 <output type="resource_map_header"
164 filename="the_resource_map_header.h" />
165 </outputs>
166 <release seq="3">
167 <structures first_id="300">
168 <structure type="menu" name="IDC_KLONKMENU"
169 file="grit\\testdata\\klonk.rc" encoding="utf-16" />
170 </structures>
171 <includes first_id="10000">
172 <include type="foo" file="abc" name="IDS_FIRSTPRESENT" />
173 <if expr="False">
174 <include type="foo" file="def" name="IDS_MISSING" />
175 </if>
176 <include type="foo" file="mno" name="IDS_THIRDPRESENT" />
177 </includes>
178 </release>
179 </grit>'''), util.PathFromRoot('.'))
180 grd.SetOutputLanguage('en')
181 grd.RunGatherers()
182 output = util.StripBlankLinesAndComments(''.join(
183 resource_map.GetFormatter('resource_map_header')(grd, 'en', '.')))
184 self.assertEqual('''\
185 #include <stddef.h>
186 #ifndef GRIT_RESOURCE_MAP_STRUCT_
187 #define GRIT_RESOURCE_MAP_STRUCT_
188 struct GritResourceMap {
189 const char* const name;
190 int value;
191 };
192 #endif // GRIT_RESOURCE_MAP_STRUCT_
193 extern const GritResourceMap kTheRcHeader[];
194 extern const size_t kTheRcHeaderSize;''', output)
195 output = util.StripBlankLinesAndComments(''.join(
196 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.')))
197 self.assertEqual('''\
198 #include "the_resource_map_header.h"
199 #include "base/basictypes.h"
200 #include "the_rc_header.h"
201 const GritResourceMap kTheRcHeader[] = {
202 {"IDC_KLONKMENU", IDC_KLONKMENU},
203 {"IDS_FIRSTPRESENT", IDS_FIRSTPRESENT},
204 {"IDS_THIRDPRESENT", IDS_THIRDPRESENT},
205 };
206 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
207 output = util.StripBlankLinesAndComments(''.join(
208 resource_map.GetFormatter('resource_file_map_source')(grd, 'en', '.')))
209 self.assertEqual('''\
210 #include "the_resource_map_header.h"
211 #include "base/basictypes.h"
212 #include "the_rc_header.h"
213 const GritResourceMap kTheRcHeader[] = {
214 {"grit/testdata/klonk.rc", IDC_KLONKMENU},
215 {"abc", IDS_FIRSTPRESENT},
216 {"mno", IDS_THIRDPRESENT},
217 };
218 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
219
220 def testFormatStringResourceMap(self):
221 grd = grd_reader.Parse(StringIO.StringIO(
222 '''<?xml version="1.0" encoding="UTF-8"?>
223 <grit latest_public_release="2" source_lang_id="en" current_release="3"
224 base_dir=".">
225 <outputs>
226 <output type="rc_header" filename="the_rc_header.h" />
227 <output type="resource_map_header" filename="the_rc_map_header.h" />
228 <output type="resource_map_source" filename="the_rc_map_source.cc" />
229 </outputs>
230 <release seq="1" allow_pseudo="false">
231 <messages fallback_to_english="true">
232 <message name="IDS_PRODUCT_NAME" desc="The application name">
233 Application
234 </message>
235 <if expr="True">
236 <message name="IDS_DEFAULT_TAB_TITLE_TITLE_CASE"
237 desc="In Title Case: The default title in a tab.">
238 New Tab
239 </message>
240 </if>
241 <if expr="False">
242 <message name="IDS_DEFAULT_TAB_TITLE"
243 desc="The default title in a tab.">
244 New tab
245 </message>
246 </if>
247 </messages>
248 </release>
249 </grit>'''), util.PathFromRoot('.'))
250 grd.SetOutputLanguage('en')
251 grd.RunGatherers()
252 output = util.StripBlankLinesAndComments(''.join(
253 resource_map.GetFormatter('resource_map_header')(grd, 'en', '.')))
254 self.assertEqual('''\
255 #include <stddef.h>
256 #ifndef GRIT_RESOURCE_MAP_STRUCT_
257 #define GRIT_RESOURCE_MAP_STRUCT_
258 struct GritResourceMap {
259 const char* const name;
260 int value;
261 };
262 #endif // GRIT_RESOURCE_MAP_STRUCT_
263 extern const GritResourceMap kTheRcHeader[];
264 extern const size_t kTheRcHeaderSize;''', output)
265 output = util.StripBlankLinesAndComments(''.join(
266 resource_map.GetFormatter('resource_map_source')(grd, 'en', '.')))
267 self.assertEqual('''\
268 #include "the_rc_map_header.h"
269 #include "base/basictypes.h"
270 #include "the_rc_header.h"
271 const GritResourceMap kTheRcHeader[] = {
272 {"IDS_PRODUCT_NAME", IDS_PRODUCT_NAME},
273 {"IDS_DEFAULT_TAB_TITLE_TITLE_CASE", IDS_DEFAULT_TAB_TITLE_TITLE_CASE},
274 };
275 const size_t kTheRcHeaderSize = arraysize(kTheRcHeader);''', output)
276
277
278 if __name__ == '__main__':
279 unittest.main()
OLDNEW
« no previous file with comments | « grit/format/resource_map.py ('k') | grit/gather/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698