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.pseudo''' 7 8from __future__ import print_function 9 10import os 11import sys 12if __name__ == '__main__': 13 sys.path.append(os.path.join(os.path.dirname(__file__), '..')) 14 15import unittest 16 17from grit import pseudo 18from grit import tclib 19 20 21class PseudoUnittest(unittest.TestCase): 22 def testVowelMapping(self): 23 self.failUnless(pseudo.MapVowels('abebibobuby') == 24 u'\u00e5b\u00e9b\u00efb\u00f4b\u00fcb\u00fd') 25 self.failUnless(pseudo.MapVowels('ABEBIBOBUBY') == 26 u'\u00c5B\u00c9B\u00cfB\u00d4B\u00dcB\u00dd') 27 28 def testPseudoString(self): 29 out = pseudo.PseudoString('hello') 30 self.failUnless(out == pseudo.MapVowels(u'hePelloPo', True)) 31 32 def testConsecutiveVowels(self): 33 out = pseudo.PseudoString("beautiful weather, ain't it?") 34 self.failUnless(out == pseudo.MapVowels( 35 u"beauPeautiPifuPul weaPeathePer, aiPain't iPit?", 1)) 36 37 def testCapitals(self): 38 out = pseudo.PseudoString("HOWDIE DOODIE, DR. JONES") 39 self.failUnless(out == pseudo.MapVowels( 40 u"HOPOWDIEPIE DOOPOODIEPIE, DR. JOPONEPES", 1)) 41 42 def testPseudoMessage(self): 43 msg = tclib.Message(text='Hello USERNAME, how are you?', 44 placeholders=[ 45 tclib.Placeholder('USERNAME', '%s', 'Joi')]) 46 trans = pseudo.PseudoMessage(msg) 47 # TODO(joi) It would be nicer if 'you' -> 'youPou' instead of 48 # 'you' -> 'youPyou' and if we handled the silent e in 'are' 49 self.failUnless(trans.GetPresentableContent() == 50 pseudo.MapVowels( 51 u'HePelloPo USERNAME, hoPow aParePe youPyou?', 1)) 52 53 54if __name__ == '__main__': 55 unittest.main() 56