diff options
author | Daiki Ueno <ueno@gnu.org> | 2014-12-01 13:41:28 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2014-12-01 14:55:19 +0900 |
commit | 0d2b9cd3c499ae73c91557bc970e17e32a0ba77c (patch) | |
tree | c58eea930192fb54e7d8bd90b8325e7212a2ed39 /gettext-tools | |
parent | 6aad665c4854f6dd4039bdb592f95037e9c30cb7 (diff) | |
download | external_gettext-0d2b9cd3c499ae73c91557bc970e17e32a0ba77c.zip external_gettext-0d2b9cd3c499ae73c91557bc970e17e32a0ba77c.tar.gz external_gettext-0d2b9cd3c499ae73c91557bc970e17e32a0ba77c.tar.bz2 |
tests: Add test for Unicode surrogate characters in C#
* xgettext-csharp-8: New file.
* Makefile.am (TESTS): Add new test.
Diffstat (limited to 'gettext-tools')
-rw-r--r-- | gettext-tools/tests/ChangeLog | 6 | ||||
-rw-r--r-- | gettext-tools/tests/Makefile.am | 2 | ||||
-rwxr-xr-x | gettext-tools/tests/xgettext-csharp-8 | 67 |
3 files changed, 74 insertions, 1 deletions
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index 0daf510..746e6ac 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -1,3 +1,9 @@ +2014-12-01 Daiki Ueno <ueno@gnu.org> + + tests: Add test for Unicode surrogate characters in C# + * xgettext-csharp-8: New file. + * Makefile.am (TESTS): Add new test. + 2014-11-28 Daiki Ueno <ueno@gnu.org> tests: Add test for empty msgstr passed to msgfilter diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index d4d567e..f5766cc 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -79,7 +79,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ xgettext-c-16 xgettext-c-17 xgettext-c-18 xgettext-c-19 \ xgettext-csharp-1 xgettext-csharp-2 xgettext-csharp-3 \ xgettext-csharp-4 xgettext-csharp-5 xgettext-csharp-6 \ - xgettext-csharp-7 \ + xgettext-csharp-7 xgettext-csharp-8 \ xgettext-elisp-1 xgettext-elisp-2 \ xgettext-glade-1 xgettext-glade-2 xgettext-glade-3 xgettext-glade-4 \ xgettext-glade-5 xgettext-glade-6 xgettext-glade-7 \ diff --git a/gettext-tools/tests/xgettext-csharp-8 b/gettext-tools/tests/xgettext-csharp-8 new file mode 100755 index 0000000..f5e5694 --- /dev/null +++ b/gettext-tools/tests/xgettext-csharp-8 @@ -0,0 +1,67 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test C# support: Unicode character escape handling + +cat <<\EOF > xg-cs-8.cs +// Valid: +string s1 = "\U00020213"; // Codepoint U+20213 +string s2 = "\uD840\uDE13"; // Encoded form of U+20213 +string s3 = "\uD840\U0000DE13"; // Encoded form of U+20213 +string s4 = "\U0000D840\uDE13"; // Encoded form of U+20213 +string s5 = "\U0000D840\U0000DE13"; // Encoded form of U+20213 +string s6 = "\xD840\xDE13"; // Encoded form of U+20213 + +// Invalid: +string i1 = "\U0020213"; // Unterminated +string i2 = "\uD840\u3032"; // Missing low surrogate +string i3 = "\uD840\uDE1"; // Unterminated after a high surrogate +EOF + +: ${XGETTEXT=xgettext} +${XGETTEXT} --output - --add-location xg-cs-8.cs -a 2>/dev/null | \ + sed '/\"POT-Creation-Date:.*/d' | LC_ALL=C tr -d '\r' > xg-cs-8.po || \ + exit 1 + +cat <<\EOF > xg-cs-8.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=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: xg-cs-8.cs:2 xg-cs-8.cs:3 xg-cs-8.cs:4 xg-cs-8.cs:5 xg-cs-8.cs:6 +#: xg-cs-8.cs:7 +msgid "𠈓" +msgstr "" + +#: xg-cs-8.cs:10 +msgid "\\U0020213" +msgstr "" + +#: xg-cs-8.cs:11 +msgid "�〲" +msgstr "" + +#: xg-cs-8.cs:12 +msgid "�\\uDE1" +msgstr "" +EOF + +: ${DIFF=diff} +${DIFF} xg-cs-8.ok xg-cs-8.po +result=$? + +exit $result |