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

Side by Side Diff: grit/node/message_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/node/message.py ('k') | grit/node/misc.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.node.message'''
7
8
9 import os
10 import sys
11 if __name__ == '__main__':
12 sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
13
14 import unittest
15 import StringIO
16
17 from grit import tclib
18 from grit import util
19 from grit.node import message
20
21 class MessageUnittest(unittest.TestCase):
22 def testMessage(self):
23 root = util.ParseGrdForUnittest('''
24 <messages>
25 <message name="IDS_GREETING"
26 desc="Printed to greet the currently logged in user">
27 Hello <ph name="USERNAME">%s<ex>Joi</ex></ph>, how are you doing today?
28 </message>
29 </messages>''')
30 msg, = root.GetChildrenOfType(message.MessageNode)
31 cliques = msg.GetCliques()
32 content = cliques[0].GetMessage().GetPresentableContent()
33 self.failUnless(content == 'Hello USERNAME, how are you doing today?')
34
35 def testMessageWithWhitespace(self):
36 root = util.ParseGrdForUnittest("""\
37 <messages>
38 <message name="IDS_BLA" desc="">
39 ''' Hello there <ph name="USERNAME">%s</ph> '''
40 </message>
41 </messages>""")
42 msg, = root.GetChildrenOfType(message.MessageNode)
43 content = msg.GetCliques()[0].GetMessage().GetPresentableContent()
44 self.failUnless(content == 'Hello there USERNAME')
45 self.failUnless(msg.ws_at_start == ' ')
46 self.failUnless(msg.ws_at_end == ' ')
47
48 def testConstruct(self):
49 msg = tclib.Message(text=" Hello USERNAME, how are you? BINGO\t\t",
50 placeholders=[tclib.Placeholder('USERNAME', '%s', 'Joi') ,
51 tclib.Placeholder('BINGO', '%d', '11')])
52 msg_node = message.MessageNode.Construct(None, msg, 'BINGOBONGO')
53 self.failUnless(msg_node.children[0].name == 'ph')
54 self.failUnless(msg_node.children[0].children[0].name == 'ex')
55 self.failUnless(msg_node.children[0].children[0].GetCdata() == 'Joi')
56 self.failUnless(msg_node.children[1].children[0].GetCdata() == '11')
57 self.failUnless(msg_node.ws_at_start == ' ')
58 self.failUnless(msg_node.ws_at_end == '\t\t')
59
60 def testUnicodeConstruct(self):
61 text = u'Howdie \u00fe'
62 msg = tclib.Message(text=text)
63 msg_node = message.MessageNode.Construct(None, msg, 'BINGOBONGO')
64 msg_from_node = msg_node.GetCdata()
65 self.failUnless(msg_from_node == text)
66
67 def testFormatterData(self):
68 root = util.ParseGrdForUnittest("""\
69 <messages>
70 <message name="IDS_BLA" desc="" formatter_data=" foo=123 bar qux=low">
71 Text
72 </message>
73 </messages>""")
74 msg, = root.GetChildrenOfType(message.MessageNode)
75 expected_formatter_data = {
76 'foo': '123',
77 'bar': '',
78 'qux': 'low'}
79
80 # Can't use assertDictEqual, not available in Python 2.6, so do it
81 # by hand.
82 self.failUnlessEqual(len(expected_formatter_data),
83 len(msg.formatter_data))
84 for key in expected_formatter_data:
85 self.failUnlessEqual(expected_formatter_data[key],
86 msg.formatter_data[key])
87
88
89 if __name__ == '__main__':
90 unittest.main()
OLDNEW
« no previous file with comments | « grit/node/message.py ('k') | grit/node/misc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698