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

Unified Diff: tools/grit/grit/node/message_unittest.py

Issue 1410853008: Move grit from DEPS into src. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: webview licenses 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/grit/grit/node/message.py ('k') | tools/grit/grit/node/misc.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/grit/grit/node/message_unittest.py
diff --git a/tools/grit/grit/node/message_unittest.py b/tools/grit/grit/node/message_unittest.py
new file mode 100755
index 0000000000000000000000000000000000000000..a058257a74cbcbc7c3b74174247735e7a94ab84b
--- /dev/null
+++ b/tools/grit/grit/node/message_unittest.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+'''Unit tests for grit.node.message'''
+
+
+import os
+import sys
+if __name__ == '__main__':
+ sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
+
+import unittest
+import StringIO
+
+from grit import tclib
+from grit import util
+from grit.node import message
+
+class MessageUnittest(unittest.TestCase):
+ def testMessage(self):
+ root = util.ParseGrdForUnittest('''
+ <messages>
+ <message name="IDS_GREETING"
+ desc="Printed to greet the currently logged in user">
+ Hello <ph name="USERNAME">%s<ex>Joi</ex></ph>, how are you doing today?
+ </message>
+ </messages>''')
+ msg, = root.GetChildrenOfType(message.MessageNode)
+ cliques = msg.GetCliques()
+ content = cliques[0].GetMessage().GetPresentableContent()
+ self.failUnless(content == 'Hello USERNAME, how are you doing today?')
+
+ def testMessageWithWhitespace(self):
+ root = util.ParseGrdForUnittest("""\
+ <messages>
+ <message name="IDS_BLA" desc="">
+ ''' Hello there <ph name="USERNAME">%s</ph> '''
+ </message>
+ </messages>""")
+ msg, = root.GetChildrenOfType(message.MessageNode)
+ content = msg.GetCliques()[0].GetMessage().GetPresentableContent()
+ self.failUnless(content == 'Hello there USERNAME')
+ self.failUnless(msg.ws_at_start == ' ')
+ self.failUnless(msg.ws_at_end == ' ')
+
+ def testConstruct(self):
+ msg = tclib.Message(text=" Hello USERNAME, how are you? BINGO\t\t",
+ placeholders=[tclib.Placeholder('USERNAME', '%s', 'Joi'),
+ tclib.Placeholder('BINGO', '%d', '11')])
+ msg_node = message.MessageNode.Construct(None, msg, 'BINGOBONGO')
+ self.failUnless(msg_node.children[0].name == 'ph')
+ self.failUnless(msg_node.children[0].children[0].name == 'ex')
+ self.failUnless(msg_node.children[0].children[0].GetCdata() == 'Joi')
+ self.failUnless(msg_node.children[1].children[0].GetCdata() == '11')
+ self.failUnless(msg_node.ws_at_start == ' ')
+ self.failUnless(msg_node.ws_at_end == '\t\t')
+
+ def testUnicodeConstruct(self):
+ text = u'Howdie \u00fe'
+ msg = tclib.Message(text=text)
+ msg_node = message.MessageNode.Construct(None, msg, 'BINGOBONGO')
+ msg_from_node = msg_node.GetCdata()
+ self.failUnless(msg_from_node == text)
+
+ def testFormatterData(self):
+ root = util.ParseGrdForUnittest("""\
+ <messages>
+ <message name="IDS_BLA" desc="" formatter_data=" foo=123 bar qux=low">
+ Text
+ </message>
+ </messages>""")
+ msg, = root.GetChildrenOfType(message.MessageNode)
+ expected_formatter_data = {
+ 'foo': '123',
+ 'bar': '',
+ 'qux': 'low'}
+
+ # Can't use assertDictEqual, not available in Python 2.6, so do it
+ # by hand.
+ self.failUnlessEqual(len(expected_formatter_data),
+ len(msg.formatter_data))
+ for key in expected_formatter_data:
+ self.failUnlessEqual(expected_formatter_data[key],
+ msg.formatter_data[key])
+
+
+if __name__ == '__main__':
+ unittest.main()
« no previous file with comments | « tools/grit/grit/node/message.py ('k') | tools/grit/grit/node/misc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698