diff options
Diffstat (limited to 'gettext-tools/tests/format-lua-1')
-rwxr-xr-x | gettext-tools/tests/format-lua-1 | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/gettext-tools/tests/format-lua-1 b/gettext-tools/tests/format-lua-1 new file mode 100755 index 0000000..6a213d7 --- /dev/null +++ b/gettext-tools/tests/format-lua-1 @@ -0,0 +1,91 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test recognition of Lua format strings. + +cat <<\EOF > f-lu-1.data +# Valid: no argument +"abc%%" +# Valid: one string argument +"abc%s" +# Valid: one string argument +"abc%q" +# Valid: one character argument +"abc%c" +# Valid: one integer argument +"abc%i" +# Valid: one integer argument +"abc%d" +# Valid: one integer argument +"abc%o" +# Valid: one integer argument +"abc%u" +# Valid: one integer argument +"abc%X" +# Valid: one integer argument +"abc%x" +# Valid: one float argument +"abc%e" +# Valid: one float argument +"abc%E" +# Valid: one float argument +"abc%f" +# Valid: one float argument +"abc%g" +# Valid: one float argument +"abc%G" +# Valid: one float argument with width +"abc%4f" +# Valid: one float argument with precision +"abc%.8f" +# Valid: one float argument with width and precision +"abc%12.4f" +# Valid: three arguments +"abc%c%d%e" +# Valid: three arguments with width and/or precision +"abc%4.3s%.3f%0e" +# Invalid: unterminated +"abc%" +# Invalid: unknown format specifier +"abc%T" +# Invalid: unknown modifier +"abc%lf" +# Invalid: extra precision +"abc%1.1.1f" +# Invalid: unterminated +"abc%3" +EOF +: ${XGETTEXT=xgettext} +n=0 +while read comment; do + read string + n=`expr $n + 1` + echo "gettext.gettext(${string});" > f-lu-1-$n.in + ${XGETTEXT} -L Lua -o f-lu-1-$n.po f-lu-1-$n.in || exit 1 + test -f f-lu-1-$n.po || exit 1 + fail= + if echo "$comment" | grep 'Valid:' > /dev/null; then + if grep lua-format f-lu-1-$n.po > /dev/null; then + : + else + fail=yes + fi + else + if grep lua-format f-lu-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-lu-1-$n.in 1>&2 + echo "Got:" 1>&2 + cat f-lu-1-$n.po 1>&2 + exit 1 + fi + rm -f f-lu-1-$n.in f-lu-1-$n.po +done < f-lu-1.data + +exit 0 + |