Edgewall Software

Changeset 1092 for trunk


Ignore:
Timestamp:
Nov 28, 2009, 4:42:49 PM (14 years ago)
Author:
cmlenz
Message:

Apply patch for I18n message extraction bug as reported in #358. Thanks to cboos for the patch, again.

Location:
trunk/genshi/filters
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/genshi/filters/i18n.py

    r1079 r1092  
    187187            msgbuf.append(*previous)
    188188            previous = event
    189         if previous[0] is not END:
    190             msgbuf.append(*previous)
     189        msgbuf.append(*previous)
    191190
    192191        yield None, msgbuf.format(), comment_stack[-1:]
  • trunk/genshi/filters/tests/i18n.py

    r1081 r1092  
    207207        self.assertEqual("""<html>
    208208          <p>Für Details siehe bitte <a href="help.html">Hilfe</a>.</p>
     209        </html>""", tmpl.generate().render())
     210
     211    def test_extract_i18n_msg_nonewline(self):
     212        tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
     213            xmlns:i18n="http://genshi.edgewall.org/i18n">
     214          <p i18n:msg="">Please see <a href="help.html">Help</a></p>
     215        </html>""")
     216        translator = Translator()
     217        tmpl.add_directives(Translator.NAMESPACE, translator)
     218        messages = list(translator.extract(tmpl.stream))
     219        self.assertEqual(1, len(messages))
     220        self.assertEqual('Please see [1:Help]', messages[0][2])
     221
     222    def test_translate_i18n_msg_nonewline(self):
     223        tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
     224            xmlns:i18n="http://genshi.edgewall.org/i18n">
     225          <p i18n:msg="">Please see <a href="help.html">Help</a></p>
     226        </html>""")
     227        gettext = lambda s: u"Für Details siehe bitte [1:Hilfe]"
     228        translator = Translator(gettext)
     229        translator.setup(tmpl)
     230        self.assertEqual("""<html>
     231          <p>Für Details siehe bitte <a href="help.html">Hilfe</a></p>
     232        </html>""", tmpl.generate().render())
     233
     234    def test_extract_i18n_msg_elt_nonewline(self):
     235        tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
     236            xmlns:i18n="http://genshi.edgewall.org/i18n">
     237          <i18n:msg>Please see <a href="help.html">Help</a></i18n:msg>
     238        </html>""")
     239        translator = Translator()
     240        tmpl.add_directives(Translator.NAMESPACE, translator)
     241        messages = list(translator.extract(tmpl.stream))
     242        self.assertEqual(1, len(messages))
     243        self.assertEqual('Please see [1:Help]', messages[0][2])
     244
     245    def test_translate_i18n_msg_elt_nonewline(self):
     246        tmpl = MarkupTemplate("""<html xmlns:py="http://genshi.edgewall.org/"
     247            xmlns:i18n="http://genshi.edgewall.org/i18n">
     248          <i18n:msg>Please see <a href="help.html">Help</a></i18n:msg>
     249        </html>""")
     250        gettext = lambda s: u"Für Details siehe bitte [1:Hilfe]"
     251        translator = Translator(gettext)
     252        translator.setup(tmpl)
     253        self.assertEqual("""<html>
     254          Für Details siehe bitte <a href="help.html">Hilfe</a>
    209255        </html>""", tmpl.generate().render())
    210256
Note: See TracChangeset for help on using the changeset viewer.