Blame gettext-tools/tests/format-kde-1
|
Packit |
5b56b6 |
#! /bin/sh
|
|
Packit |
5b56b6 |
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
# Test recognition of KDE format strings.
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
cat <<\EOF > f-kd-1.data
|
|
Packit |
5b56b6 |
# Unrecognized: no argument
|
|
Packit |
5b56b6 |
"abc%%def"
|
|
Packit |
5b56b6 |
# Valid: one argument
|
|
Packit |
5b56b6 |
"abc%1def"
|
|
Packit |
5b56b6 |
# Unrecognized: no argument (digit sequence starting with a zero)
|
|
Packit |
5b56b6 |
"abc%09def"
|
|
Packit |
5b56b6 |
# Valid: one argument, digit sequence starting with a zero
|
|
Packit |
5b56b6 |
"abc%1def%0"
|
|
Packit |
5b56b6 |
# Valid: one argument, digit sequence starting with a zero
|
|
Packit |
5b56b6 |
"abc%1def%00"
|
|
Packit |
5b56b6 |
# Valid: 9 arguments
|
|
Packit |
5b56b6 |
"abc%1%2%3%4%9%7%8%5%6def"
|
|
Packit |
5b56b6 |
# Valid: 9 arguments, missing one of them
|
|
Packit |
5b56b6 |
"abc%1%2%3%4%9%7%5%6def"
|
|
Packit |
5b56b6 |
# Invalid: one argument but missing arguments %1 ... %8
|
|
Packit |
5b56b6 |
"abc%9def"
|
|
Packit |
5b56b6 |
# Valid: more than ten arguments, missing one of them
|
|
Packit |
5b56b6 |
"abc%1%2%3%4%9%7%5%6%12%10%11def"
|
|
Packit |
5b56b6 |
# Invalid: one argument specified by two digits but missing arguments %1 ... %98
|
|
Packit |
5b56b6 |
"abc%99def"
|
|
Packit |
5b56b6 |
# Valid: unterminated
|
|
Packit |
5b56b6 |
"abc%1def%"
|
|
Packit |
5b56b6 |
# Valid: unterminated
|
|
Packit |
5b56b6 |
"abc%1def%L"
|
|
Packit |
5b56b6 |
# Valid: non-digit
|
|
Packit |
5b56b6 |
"abc%1def%x"
|
|
Packit |
5b56b6 |
# Valid: permutation
|
|
Packit |
5b56b6 |
"abc%2def%1"
|
|
Packit |
5b56b6 |
# Valid: multiple uses of same argument
|
|
Packit |
5b56b6 |
"abc%2def%1ghi%2"
|
|
Packit |
5b56b6 |
# Unrecognized: no argument
|
|
Packit |
5b56b6 |
"abc%L1def"
|
|
Packit |
5b56b6 |
# Unrecognized: no argument
|
|
Packit |
5b56b6 |
"abc%L12def"
|
|
Packit |
5b56b6 |
EOF
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
: ${XGETTEXT=xgettext}
|
|
Packit |
5b56b6 |
n=0
|
|
Packit |
5b56b6 |
while read comment; do
|
|
Packit |
5b56b6 |
read string
|
|
Packit |
5b56b6 |
n=`expr $n + 1`
|
|
Packit |
5b56b6 |
cat <<EOF > f-kd-1-$n.in
|
|
Packit |
5b56b6 |
_(${string});
|
|
Packit |
5b56b6 |
EOF
|
|
Packit |
5b56b6 |
${XGETTEXT} -L C++ --kde -k_ -o f-kd-1-$n.po f-kd-1-$n.in || exit 1
|
|
Packit |
5b56b6 |
test -f f-kd-1-$n.po || exit 1
|
|
Packit |
5b56b6 |
fail=
|
|
Packit |
5b56b6 |
if echo "$comment" | grep 'Valid:' > /dev/null; then
|
|
Packit |
5b56b6 |
if grep kde-format f-kd-1-$n.po > /dev/null; then
|
|
Packit |
5b56b6 |
:
|
|
Packit |
5b56b6 |
else
|
|
Packit |
5b56b6 |
fail=yes
|
|
Packit |
5b56b6 |
fi
|
|
Packit |
5b56b6 |
else
|
|
Packit |
5b56b6 |
if grep kde-format f-kd-1-$n.po > /dev/null; then
|
|
Packit |
5b56b6 |
fail=yes
|
|
Packit |
5b56b6 |
else
|
|
Packit |
5b56b6 |
:
|
|
Packit |
5b56b6 |
fi
|
|
Packit |
5b56b6 |
fi
|
|
Packit |
5b56b6 |
if test -n "$fail"; then
|
|
Packit |
5b56b6 |
echo "Format string recognition error:" 1>&2
|
|
Packit |
5b56b6 |
cat f-kd-1-$n.in 1>&2
|
|
Packit |
5b56b6 |
echo "Got:" 1>&2
|
|
Packit |
5b56b6 |
cat f-kd-1-$n.po 1>&2
|
|
Packit |
5b56b6 |
exit 1
|
|
Packit |
5b56b6 |
fi
|
|
Packit |
5b56b6 |
rm -f f-kd-1-$n.in f-kd-1-$n.po
|
|
Packit |
5b56b6 |
done < f-kd-1.data
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
exit 0
|