| #!/bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test of Desktop Entry support. |
| |
| : ${XGETTEXT=xgettext} |
| |
| cat <<\EOF >err1.desktop |
| [Desktop Entry] |
| This is an invalid line |
| Name =Foo |
| EOF |
| |
| (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err1.desktop 2>&1; exit) | grep "missing '=' after" || Exit 1 |
| |
| cat <<\EOF >err2.desktop |
| [Desktop Entry |
| EOF |
| |
| (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err2.desktop 2>&1; exit) | grep "unterminated group name" || Exit 1 |
| |
| cat <<\EOF >err3.desktop |
| [Desktop Entry] |
| Not a blank line! |
| EOF |
| |
| (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err3.desktop 2>&1; exit) | grep "invalid non-blank line" || Exit 1 |
| |
| cat <<\EOF >err4.desktop |
| [Desktop Entry]a |
| EOF |
| |
| (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - err4.desktop 2>&1; exit) | grep "invalid non-blank character" || Exit 1 |
| |
| # gettext 0.19.4 issued an baseless warning of this. |
| cat <<\EOF >ok4.desktop |
| [Desktop Entry] |
| EOF |
| |
| (LANGUAGE= LC_ALL=C ${XGETTEXT} --add-comments -o - ok4.desktop 2>&1; exit) | grep "invalid non-blank character" && Exit 1 |
| |
| cat <<\EOF > xg.desktop |
| [Desktop Entry] |
| Type=Application |
| Name =Foo |
| # This is a comment for comment |
| # This is a comment for comment |
| Comment= \sThis is a \nmultiline\t comment; for testing |
| Comment[foo]=Already translated comment |
| X-Foo = bar |
| # This is a comment before a blank line |
| |
| Keywords=Keyword1;Keyword2;Key\;word3; |
| EOF |
| |
| ${XGETTEXT} --add-comments -o xg-de-1.tmp xg.desktop || Exit 1 |
| func_filter_POT_Creation_Date xg-de-1.tmp xg-desktop.pot |
| |
| cat <<\EOF > xg-desktop.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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n" |
| "Language-Team: LANGUAGE <LL@li.org>\n" |
| "Language: \n" |
| "MIME-Version: 1.0\n" |
| "Content-Type: text/plain; charset=CHARSET\n" |
| "Content-Transfer-Encoding: 8bit\n" |
| |
| #: xg.desktop:4 |
| msgid "Foo" |
| msgstr "" |
| |
| #. This is a comment for comment |
| #. This is a comment for comment |
| #: xg.desktop:7 |
| msgid "" |
| " This is a \n" |
| "multiline\t comment; for testing" |
| msgstr "" |
| |
| #: xg.desktop:12 |
| msgid "Keyword1;Keyword2;Key\\;word3;" |
| msgstr "" |
| EOF |
| |
| : ${DIFF=diff} |
| ${DIFF} xg-desktop.ok xg-desktop.pot |
| result=$? |
| |
| exit $result |