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

Side by Side Diff: grit/tool/xmb_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/tool/xmb.py ('k') | grit/util.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 xmb' tool.'''
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 unittest
14 import StringIO
15
16 from grit import grd_reader
17 from grit import util
18 from grit.tool import xmb
19
20
21 class XmbUnittest(unittest.TestCase):
22 def setUp(self):
23 self.res_tree = grd_reader.Parse(
24 StringIO.StringIO(u'''<?xml version="1.0" encoding="UTF-8"?>
25 <grit latest_public_release="2" source_lang_id="en-US" current_release="3" base_dir=".">
26 <release seq="3">
27 <includes>
28 <include type="gif" name="ID_LOGO" file="images/logo.gif" />
29 </includes>
30 <messages>
31 <message name="GOOD" desc="sub" sub_variable="true">
32 excellent
33 </message>
34 <message name="IDS_GREETING" desc="Printed to greet the currently lo gged in user">
35 Hello <ph name="USERNAME">%s<ex>Joi</ex></ph>, are you doing [GOOD ] today?
36 </message>
37 <message name="IDS_BONGOBINGO">
38 Yibbee
39 </message>
40 </messages>
41 <structures>
42 <structure type="dialog" name="IDD_SPACYBOX" encoding="utf-16" file= "grit/testdata/klonk.rc" />
43 </structures>
44 </release>
45 </grit>'''), '.')
46 self.xmb_file = StringIO.StringIO()
47
48 def testNormalOutput(self):
49 xmb.OutputXmb().Process(self.res_tree, self.xmb_file)
50 output = self.xmb_file.getvalue()
51 self.failUnless(output.count('Joi') and output.count('Yibbee'))
52
53 def testLimitList(self):
54 limit_file = StringIO.StringIO(
55 'IDS_BONGOBINGO\nIDS_DOES_NOT_EXIST\nIDS_ALSO_DOES_NOT_EXIST')
56 xmb.OutputXmb().Process(self.res_tree, self.xmb_file, limit_file, False)
57 output = self.xmb_file.getvalue()
58 self.failUnless(output.count('Yibbee'))
59 self.failUnless(not output.count('Joi'))
60
61 def testLimitGrd(self):
62 limit_file = StringIO.StringIO('''<?xml version="1.0" encoding="UTF-8"?>
63 <grit latest_public_release="2" source_lang_id="en-US" current_release="3" base_dir=".">
64 <release seq="3">
65 <messages>
66 <message name="IDS_GREETING" desc="Printed to greet the currently lo gged in user">
67 Hello <ph name="USERNAME">%s<ex>Joi</ex></ph>, how are you doing t oday?
68 </message>
69 </messages>
70 </release>
71 </grit>''')
72 tool = xmb.OutputXmb()
73 class DummyOpts(object):
74 extra_verbose = False
75 tool.o = DummyOpts()
76 tool.Process(self.res_tree, self.xmb_file, limit_file, True, dir='.')
77 output = self.xmb_file.getvalue()
78 self.failUnless(output.count('Joi'))
79 self.failUnless(not output.count('Yibbee'))
80
81 def testSubstitution(self):
82 self.res_tree.SetOutputLanguage('en')
83 os.chdir(util.PathFromRoot('.')) # so it can find klonk.rc
84 self.res_tree.RunGatherers()
85 xmb.OutputXmb().Process(self.res_tree, self.xmb_file)
86 output = self.xmb_file.getvalue()
87 self.failUnless(output.count(
88 '<ph name="GOOD_1"><ex>excellent</ex>[GOOD]</ph>'))
89
90 def testLeadingTrailingWhitespace(self):
91 # Regression test for problems outputting messages with leading or
92 # trailing whitespace (these come in via structures only, as
93 # message nodes already strip and store whitespace).
94 self.res_tree.SetOutputLanguage('en')
95 os.chdir(util.PathFromRoot('.')) # so it can find klonk.rc
96 self.res_tree.RunGatherers()
97 xmb.OutputXmb().Process(self.res_tree, self.xmb_file)
98 output = self.xmb_file.getvalue()
99 self.failUnless(output.count('OK ? </msg>'))
100
101
102 if __name__ == '__main__':
103 unittest.main()
OLDNEW
« no previous file with comments | « grit/tool/xmb.py ('k') | grit/util.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698