Package elisa :: Package core :: Package tests :: Module test_i18n
[hide private]
[frames] | no frames]

Source Code for Module elisa.core.tests.test_i18n

 1  #-*- coding: utf-8 -*- 
 2  # Elisa - Home multimedia server 
 3  # Copyright (C) 2006-2008 Fluendo Embedded S.L. (www.fluendo.com). 
 4  # All rights reserved. 
 5  # 
 6  # This file is available under one of two license agreements. 
 7  # 
 8  # This file is licensed under the GPL version 3. 
 9  # See "LICENSE.GPL" in the root of this distribution including a special 
10  # exception to use Elisa with Fluendo's plugins. 
11  # 
12  # The GPL part of Elisa is also available under a commercial licensing 
13  # agreement from Fluendo. 
14  # See "LICENSE.Elisa" in the root directory of this distribution package 
15  # for details on that license. 
16   
17  from elisa.core.tests.elisa_test_case import ElisaTestCase 
18   
19  from elisa.extern.translation import gettexter, N_, Translator, Translatable 
20  T_ = gettexter('elisa-test') 
21   
22   
23   
24 -class I18nTest(ElisaTestCase):
25 26
27 - def setUp(self):
28 ElisaTestCase.setUp(self) 29 self._translator = Translator()
30
31 - def test_n(self):
32 text = "some like it hot" 33 34 self.assertEquals(text, N_(text))
35
36 - def test_t(self):
37 artist = T_('By Artist') 38 self.assertTrue(isinstance(artist, Translatable)) 39 self.assertEquals(artist.domain, 'elisa-test')
40
41 - def test_translator(self):
42 43 self._translator.addLocaleDir('elisa-test','../elisa/core/tests/data/') 44 45 # in our test 'deu' this is 'Nach Album' 46 artist = T_('By Artist') 47 translated = self._translator.translateTranslatable(artist, ['deu']) 48 49 # what ever it is translating: it should be unicode! 50 self.assertTrue(isinstance(translated, unicode)) 51 52 # did it translate? 53 self.assertEquals(translated, u'Nach Künstler') 54 55 # in our test 'deu' this is not existing: 56 dvd = T_('DVD') 57 translated = self._translator.translateTranslatable(dvd, ['deu']) 58 self.assertEquals(translated, 'DVD') 59 60 # this is not existing in 'deu' but in 'deu2': 61 file = T_('File device') 62 translated = self._translator.translateTranslatable(file, ['deu', 63 'deu2']) 64 self.assertEquals(translated, 'Festplatte') 65 66 # this is existing in the 'deu' but not in 'deu2', but that is not 67 # important! 68 slide = T_('Slideshow') 69 translated = self._translator.translateTranslatable(slide, ['deu', 70 'deu2']) 71 self.assertEquals(translated, 'Diashow') 72 73 translated = self._translator.translateTranslatable(slide, ['deu2', 74 'deu']) 75 self.assertEquals(translated, 'Diashow') 76 77 78 # okay. lets test priorities. 79 artist = T_('By Artist') 80 translated = self._translator.translateTranslatable(artist, ['deu', 81 'deu3']) 82 self.assertEquals(translated, u'Nach Künstler') 83 84 translated = self._translator.translateTranslatable(artist, ['deu3', 85 'deu']) 86 self.assertEquals(translated, u'Nach Künstler2')
87 88 # NICE! 89