summaryrefslogtreecommitdiff
path: root/gettext-tools/tests/xgettext-c-17
diff options
context:
space:
mode:
Diffstat (limited to 'gettext-tools/tests/xgettext-c-17')
-rwxr-xr-xgettext-tools/tests/xgettext-c-1736
1 files changed, 36 insertions, 0 deletions
diff --git a/gettext-tools/tests/xgettext-c-17 b/gettext-tools/tests/xgettext-c-17
new file mode 100755
index 0000000..0789c04
--- /dev/null
+++ b/gettext-tools/tests/xgettext-c-17
@@ -0,0 +1,36 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test C++ support: test kde-format and format recognition heuristics.
+
+cat <<\EOF > xg-c-17.cc
+/* When xgettext has no info, it flags both c-format and kde-format, based
+ on the heuristics. */
+gettext ("used time: %1m %2s");
+
+/* When the programmer says it's kde-format, xgettext does not apply the
+ heuristics. */
+/* xgettext: kde-format */
+gettext ("remaining time: %1m %2s");
+EOF
+
+: ${XGETTEXT=xgettext}
+${XGETTEXT} --omit-header --no-location -d xg-c-17.tmp --language=C++ --kde \
+ xg-c-17.cc || exit 1
+LC_ALL=C tr -d '\r' < xg-c-17.tmp.po > xg-c-17.po || exit 1
+
+cat <<EOF > xg-c-17.ok
+#, c-format, kde-format
+msgid "used time: %1m %2s"
+msgstr ""
+
+#, kde-format
+msgid "remaining time: %1m %2s"
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} xg-c-17.ok xg-c-17.po
+result=$?
+
+exit $result