diff options
| author | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2013-01-05 23:38:21 +0900 |
|---|---|---|
| committer | Takayuki Shimizukawa <shimizukawa@gmail.com> | 2013-01-05 23:38:21 +0900 |
| commit | b17c588b0d9c61ba71d299c91c1ac06684f9ebb0 (patch) | |
| tree | d74f983ea2a76a753490ba0f9cca9d4c18a00dc2 /tests/test_build_gettext.py | |
| parent | 42c90ee178e5cbc266d7b0406735f0cae6f2d860 (diff) | |
| download | sphinx-git-b17c588b0d9c61ba71d299c91c1ac06684f9ebb0.tar.gz | |
Closes #976: Fix gettext does not extract index entries.
Diffstat (limited to 'tests/test_build_gettext.py')
| -rw-r--r-- | tests/test_build_gettext.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/test_build_gettext.py b/tests/test_build_gettext.py index ab68289e3..dcbff4849 100644 --- a/tests/test_build_gettext.py +++ b/tests/test_build_gettext.py @@ -11,6 +11,7 @@ import gettext import os +import re from subprocess import Popen, PIPE from util import * @@ -79,3 +80,49 @@ def test_gettext(app): _ = gettext.translation('test_root', app.outdir, languages=['en']).gettext assert _("Testing various markup") == u"Testing various markup" + + +@with_app(buildername='gettext', + confoverrides={'gettext_compact': False}) +def test_gettext_index_entries(app): + # regression test for #976 + app.builder.build(['i18n/index_entries']) + + _msgid_getter = re.compile(r'msgid "(.*)"').search + def msgid_getter(msgid): + m = _msgid_getter(msgid) + if m: + return m.groups()[0] + return None + + pot = (app.outdir / 'i18n' / 'index_entries.pot').text(encoding='utf-8') + msgids = filter(None, map(msgid_getter, pot.splitlines())) + + expected_msgids = [ + "i18n with index entries", + "index target section", + "this is :index:`Newsletter` target paragraph.", + "various index entries", + "That's all.", + "Mailing List", + "Newsletter", + "Recipients List", + "First", + "Second", + "Third", + "Entry", + "See", + "Module", + "Keyword", + "Operator", + "Object", + "Exception", + "Statement", + "Builtin", + ] + for expect in expected_msgids: + assert expect in msgids + msgids.remove(expect) + + # unexpected msgid existent + assert msgids == [] |
