summaryrefslogtreecommitdiffstats
path: root/gettext-tools/tests/format-ycp-1
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2003-02-14 14:37:47 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:09:44 +0200
commit7d09134efed67c12803640588c7945eb4a10b6fe (patch)
treee49d2c13156b61cbd6097347a67de33852cf5b6c /gettext-tools/tests/format-ycp-1
parented259a0ce309c98fc1327928ffdccffe299b46ed (diff)
downloadexternal_gettext-7d09134efed67c12803640588c7945eb4a10b6fe.zip
external_gettext-7d09134efed67c12803640588c7945eb4a10b6fe.tar.gz
external_gettext-7d09134efed67c12803640588c7945eb4a10b6fe.tar.bz2
Move tests/format-ycp-1 to gettext-tools/tests/format-ycp-1.
Diffstat (limited to 'gettext-tools/tests/format-ycp-1')
-rwxr-xr-xgettext-tools/tests/format-ycp-165
1 files changed, 65 insertions, 0 deletions
diff --git a/gettext-tools/tests/format-ycp-1 b/gettext-tools/tests/format-ycp-1
new file mode 100755
index 0000000..8cd9941
--- /dev/null
+++ b/gettext-tools/tests/format-ycp-1
@@ -0,0 +1,65 @@
+#! /bin/sh
+
+# Test recognition of YCP format strings.
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="$tmpfiles f-y-1.data"
+cat <<\EOF > f-y-1.data
+# Valid: no argument
+"abc%%def"
+# Valid: one argument
+"abc%1def"
+# Valid: nine arguments
+"abc%9def"
+# Invalid: unterminated
+"abc%%def%"
+# Invalid: non-digit
+"abc%%def%x"
+# Invalid: zero
+"abc%%def%0"
+# Valid: permutation
+"abc%2def%1"
+# Valid: multiple uses of same argument
+"abc%2def%1ghi%2"
+EOF
+
+: ${XGETTEXT=xgettext}
+n=0
+while read comment; do
+ read string
+ n=`expr $n + 1`
+ tmpfiles="$tmpfiles f-y-1-$n.in f-y-1-$n.po"
+ cat <<EOF > f-y-1-$n.in
+_(${string});
+EOF
+ ${XGETTEXT} -L YCP -o f-y-1-$n.po f-y-1-$n.in || exit 1
+ test -f f-y-1-$n.po || exit 1
+ fail=
+ if echo "$comment" | grep 'Valid:' > /dev/null; then
+ if grep ycp-format f-y-1-$n.po > /dev/null; then
+ :
+ else
+ fail=yes
+ fi
+ else
+ if grep ycp-format f-y-1-$n.po > /dev/null; then
+ fail=yes
+ else
+ :
+ fi
+ fi
+ if test -n "$fail"; then
+ echo "Format string recognition error:" 1>&2
+ cat f-y-1-$n.in 1>&2
+ echo "Got:" 1>&2
+ cat f-y-1-$n.po 1>&2
+ exit 1
+ fi
+ rm -f f-y-1-$n.in f-y-1-$n.po
+done < f-y-1.data
+
+rm -fr $tmpfiles
+
+exit 0