]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
xgettext: JavaScript: Add one more test.
authorBruno Haible <bruno@clisp.org>
Sat, 19 Jul 2025 06:30:02 +0000 (08:30 +0200)
committerBruno Haible <bruno@clisp.org>
Sat, 19 Jul 2025 06:30:02 +0000 (08:30 +0200)
Reported by <fiurgeist@gmail.com>
at <https://savannah.gnu.org/bugs/index.php?67337>.

* gettext-tools/tests/xgettext-javascript-14: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.

gettext-tools/tests/Makefile.am
gettext-tools/tests/xgettext-javascript-14 [new file with mode: 0755]

index 8b3312414f289a1b435b5c8a9b24218296063530..f3166899936e718114b7423dce0fc06bb7eb2aa5 100644 (file)
@@ -131,7 +131,7 @@ TESTS = gettext-1 gettext-2 \
        xgettext-javascript-4 xgettext-javascript-5 xgettext-javascript-6 \
        xgettext-javascript-7 xgettext-javascript-8 xgettext-javascript-9 \
        xgettext-javascript-10 xgettext-javascript-11 xgettext-javascript-12 \
-       xgettext-javascript-13 \
+       xgettext-javascript-13 xgettext-javascript-14 \
        xgettext-javascript-stackovfl-1 xgettext-javascript-stackovfl-2 \
        xgettext-javascript-stackovfl-3 xgettext-javascript-stackovfl-4 \
        xgettext-javascript-stackovfl-5 xgettext-javascript-stackovfl-6 \
diff --git a/gettext-tools/tests/xgettext-javascript-14 b/gettext-tools/tests/xgettext-javascript-14
new file mode 100755 (executable)
index 0000000..51a990a
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test of JavaScript support: A hairy JSX case.
+
+cat <<\EOF > xg-js-14.js
+const App = () => (
+  <div>
+    {gettext('one')}
+    <Foo>
+      <Foo>{foo && <Bar bar={<span>{gettext('two')}</span>} />}</Foo>
+    </Foo>
+    <Baz title={gettext('three')} />
+  </div>
+);
+EOF
+
+: ${XGETTEXT=xgettext}
+${XGETTEXT} --no-location -o xg-js-14.tmp xg-js-14.js 2>xg-js-14.err
+test $? = 0 || { cat xg-js-14.err; Exit 1; }
+func_filter_POT_Creation_Date xg-js-14.tmp xg-js-14.pot
+
+cat <<\EOF > xg-js-14.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"
+
+msgid "one"
+msgstr ""
+
+msgid "two"
+msgstr ""
+
+msgid "three"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-js-14.ok xg-js-14.pot
+result=$?
+
+exit $result