| Index: grit/gather/muppet_strings_unittest.py
 | 
| ===================================================================
 | 
| --- grit/gather/muppet_strings_unittest.py	(revision 0)
 | 
| +++ grit/gather/muppet_strings_unittest.py	(revision 0)
 | 
| @@ -0,0 +1,66 @@
 | 
| +#!/usr/bin/python2.4
 | 
| +# Copyright (c) 2006-2008 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.gather.muppet_strings'''
 | 
| +
 | 
| +import os
 | 
| +import sys
 | 
| +if __name__ == '__main__':
 | 
| +  sys.path.append(os.path.join(os.path.dirname(sys.argv[0]), '../..'))
 | 
| +
 | 
| +import unittest
 | 
| +
 | 
| +from grit.gather import muppet_strings
 | 
| +
 | 
| +class MuppetStringsUnittest(unittest.TestCase):
 | 
| +  def testParsing(self):
 | 
| +    original = '''<strings><BLA desc="Says hello">hello!</BLA><BINGO>YEEEESSS!!!</BINGO></strings>'''
 | 
| +    gatherer = muppet_strings.MuppetStrings(original)
 | 
| +    gatherer.Parse()
 | 
| +    self.failUnless(len(gatherer.GetCliques()) == 2)
 | 
| +    self.failUnless(gatherer.Translate('en').replace('\n', '') == original)
 | 
| +
 | 
| +  def testEscapingAndLinebreaks(self):
 | 
| +    original = ('''\
 | 
| +<strings>
 | 
| +<LINEBREAK desc="Howdie">Hello
 | 
| +there
 | 
| +how
 | 
| +are
 | 
| +you?</LINEBREAK>   <ESCAPED meaning="bingo">4 < 6</ESCAPED>
 | 
| +</strings>''')
 | 
| +    gatherer = muppet_strings.MuppetStrings(original)
 | 
| +    gatherer.Parse()
 | 
| +    self.failUnless(gatherer.GetCliques()[0].translateable)
 | 
| +    self.failUnless(len(gatherer.GetCliques()) == 2)
 | 
| +    self.failUnless(gatherer.GetCliques()[0].GetMessage().GetRealContent() ==
 | 
| +                    'Hello\nthere\nhow\nare\nyou?')
 | 
| +    self.failUnless(gatherer.GetCliques()[0].GetMessage().GetDescription() == 'Howdie')
 | 
| +    self.failUnless(gatherer.GetCliques()[1].GetMessage().GetRealContent() ==
 | 
| +                    '4 < 6')
 | 
| +    self.failUnless(gatherer.GetCliques()[1].GetMessage().GetMeaning() == 'bingo')
 | 
| +
 | 
| +  def testPlaceholders(self):
 | 
| +    original = "<strings><MESSAGE translateable='True'>Hello [![USER]!] how are you? [![HOUR]!]:[![MINUTE]!]</MESSAGE></strings>"
 | 
| +    gatherer = muppet_strings.MuppetStrings(original)
 | 
| +    gatherer.Parse()
 | 
| +    self.failUnless(gatherer.GetCliques()[0].translateable)
 | 
| +    msg = gatherer.GetCliques()[0].GetMessage()
 | 
| +    self.failUnless(len(msg.GetPlaceholders()) == 3)
 | 
| +    ph = msg.GetPlaceholders()[0]
 | 
| +    self.failUnless(ph.GetOriginal() == '[![USER]!]')
 | 
| +    self.failUnless(ph.GetPresentation() == 'USER')
 | 
| +
 | 
| +  def testTranslateable(self):
 | 
| +    original = "<strings><BINGO translateable='false'>Yo yo hi there</BINGO></strings>"
 | 
| +    gatherer = muppet_strings.MuppetStrings(original)
 | 
| +    gatherer.Parse()
 | 
| +    msg = gatherer.GetCliques()[0].GetMessage()
 | 
| +    self.failUnless(msg.GetRealContent() == "Yo yo hi there")
 | 
| +    self.failUnless(not gatherer.GetCliques()[0].translateable)
 | 
| +
 | 
| +if __name__ == '__main__':
 | 
| +  unittest.main()
 | 
| +
 | 
| 
 | 
| Property changes on: grit/gather/muppet_strings_unittest.py
 | 
| ___________________________________________________________________
 | 
| Added: svn:eol-style
 | 
|    + LF
 | 
| 
 | 
| 
 |