# HG changeset patch # User cmlenz # Date 1271847529 0 # Node ID bf76a0fe20ae80a4ad9de12da7aacf5024ade4df # Parent 1de952fd479e93034922b36dc52d4465814877fd i18n: Another unit test related to #380. diff --git a/genshi/filters/tests/i18n.py b/genshi/filters/tests/i18n.py --- a/genshi/filters/tests/i18n.py +++ b/genshi/filters/tests/i18n.py @@ -289,7 +289,42 @@

Siehe bitte Hilfe

""", tmpl.generate().render(encoding=None)) - def test_extract_i18n_msg_elt_with_attributes(self): + def test_extract_i18n_msg_with_dynamic_attributes(self): + tmpl = MarkupTemplate(""" +

+ Please see Help +

+ """) + translator = Translator() + translator.setup(tmpl) + messages = list(translator.extract(tmpl.stream)) + self.assertEqual(3, len(messages)) + self.assertEqual('A helpful paragraph', messages[0][2]) + self.assertEqual(3, messages[0][0]) + self.assertEqual('Click for help', messages[1][2]) + self.assertEqual(4, messages[1][0]) + self.assertEqual('Please see [1:Help]', messages[2][2]) + self.assertEqual(3, messages[2][0]) + + def test_translate_i18n_msg_with_dynamic_attributes(self): + tmpl = MarkupTemplate(""" +

+ Please see Help +

+ """) + translator = Translator(lambda msgid: { + 'A helpful paragraph': 'Ein hilfreicher Absatz', + 'Click for help': u'Klicken für Hilfe', + 'Please see [1:Help]': u'Siehe bitte [1:Hilfe]' + }[msgid]) + translator.setup(tmpl) + self.assertEqual(u""" +

Siehe bitte Hilfe

+ """, tmpl.generate(_=translator.translate).render(encoding=None)) + + def test_extract_i18n_msg_as_element_with_attributes(self): tmpl = MarkupTemplate(""" @@ -305,7 +340,7 @@ self.assertEqual('Please see [1:Help]', messages[1][2]) self.assertEqual(3, messages[1][0]) - def test_translate_i18n_msg_elt_with_attributes(self): + def test_translate_i18n_msg_as_element_with_attributes(self): tmpl = MarkupTemplate("""