#!/bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test Python support: --from-code option and encoding recognition. cat <<\EOF > xg-py-3a.py #!/usr/bin/env python # TRANSLATORS: François Pinard is a hero. print gettext.gettext("日本語"); EOF cat <<\EOF > xg-py-3b.py #!/usr/bin/env python # Hey Emacs! -*- coding: euc-jp -*- # TRANSLATORS: François Pinard is a hero. print gettext.gettext("日本語"); EOF cat <<\EOF > xg-py-3.ok # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. TRANSLATORS: Fran巽ois Pinard is a hero. msgid "ユ茯" msgstr "" EOF # Verify that if the source file has no magic coding comment, xgettext fails # if no --from-code option is given but succeeds if it is given. : ${XGETTEXT=xgettext} ${XGETTEXT} --add-comments=TRANSLATORS: --no-location \ -d xg-py-3a xg-py-3a.py > /dev/null 2>&1 test $? = 1 || { Exit 1; } ${XGETTEXT} --add-comments=TRANSLATORS: --no-location --from-code=euc-jp \ -o xg-py-3a.tmp xg-py-3a.py || Exit 1 # Don't simplify this to "grep ... < xg-py-3a.tmp", otherwise OpenBSD 4.0 grep # only outputs "Binary file (standard input) matches". cat xg-py-3a.tmp | grep -v 'POT-Creation-Date' | LC_ALL=C tr -d '\r' > xg-py-3a.pot : ${DIFF=diff} ${DIFF} xg-py-3.ok xg-py-3a.pot || Exit 1 # Verify that if the source file has a magic coding comment, xgettext succeeds. ${XGETTEXT} --add-comments=TRANSLATORS: --no-location \ -o xg-py-3b.tmp xg-py-3b.py || Exit 1 # Don't simplify this to "grep ... < xg-py-3b.tmp", otherwise OpenBSD 4.0 grep # only outputs "Binary file (standard input) matches". cat xg-py-3b.tmp | grep -v 'POT-Creation-Date' | LC_ALL=C tr -d '\r' > xg-py-3b.pot ${DIFF} xg-py-3.ok xg-py-3b.pot || Exit 1 # Verify that if the source file has a magic coding comment and a --from-code # option is given, the magic coding comment takes precedence over it. ${XGETTEXT} --add-comments=TRANSLATORS: --no-location --from-code=iso-8859-1 \ -o xg-py-3c.tmp xg-py-3b.py || Exit 1 # Don't simplify this to "grep ... < xg-py-3c.tmp", otherwise OpenBSD 4.0 grep # only outputs "Binary file (standard input) matches". cat xg-py-3c.tmp | grep -v 'POT-Creation-Date' | LC_ALL=C tr -d '\r' > xg-py-3c.pot ${DIFF} xg-py-3.ok xg-py-3c.pot || Exit 1 # Verify that backslashes in and second bytes with value 0x5C are correctly # distinguished in weird encodings like BIG5. cat <<\EOF > xg-py-3d.py #!/usr/bin/env python # Hey Emacs! -*- coding: big5 -*- print gettext.gettext(u"\u0021"); print gettext.gettext(u"\\u0021"); EOF ${XGETTEXT} --add-comments=TRANSLATORS: \ -o xg-py-3d.tmp xg-py-3d.py || Exit 1 # Don't simplify this to "grep ... < xg-py-3d.tmp", otherwise OpenBSD 4.0 grep # only outputs "Binary file (standard input) matches". cat xg-py-3d.tmp | grep -v 'POT-Creation-Date' | LC_ALL=C tr -d '\r' > xg-py-3d.pot cat <<\EOF > xg-py-3d.ok # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: xg-py-3d.py:3 msgid "u0021" msgstr "" #: xg-py-3d.py:4 msgid "!" msgstr "" EOF ${DIFF} xg-py-3d.ok xg-py-3d.pot || Exit 1 Exit 0