1#! /bin/sh 2. "${srcdir=.}/init.sh"; path_prepend_ . ../src 3 4# Test recognition of KDE format strings. 5 6cat <<\EOF > f-kd-1.data 7# Unrecognized: no argument 8"abc%%def" 9# Valid: one argument 10"abc%1def" 11# Unrecognized: no argument (digit sequence starting with a zero) 12"abc%09def" 13# Valid: one argument, digit sequence starting with a zero 14"abc%1def%0" 15# Valid: one argument, digit sequence starting with a zero 16"abc%1def%00" 17# Valid: 9 arguments 18"abc%1%2%3%4%9%7%8%5%6def" 19# Valid: 9 arguments, missing one of them 20"abc%1%2%3%4%9%7%5%6def" 21# Invalid: one argument but missing arguments %1 ... %8 22"abc%9def" 23# Valid: more than ten arguments, missing one of them 24"abc%1%2%3%4%9%7%5%6%12%10%11def" 25# Invalid: one argument specified by two digits but missing arguments %1 ... %98 26"abc%99def" 27# Valid: unterminated 28"abc%1def%" 29# Valid: unterminated 30"abc%1def%L" 31# Valid: non-digit 32"abc%1def%x" 33# Valid: permutation 34"abc%2def%1" 35# Valid: multiple uses of same argument 36"abc%2def%1ghi%2" 37# Unrecognized: no argument 38"abc%L1def" 39# Unrecognized: no argument 40"abc%L12def" 41EOF 42 43: ${XGETTEXT=xgettext} 44n=0 45while read comment; do 46 read string 47 n=`expr $n + 1` 48 cat <<EOF > f-kd-1-$n.in 49_(${string}); 50EOF 51 ${XGETTEXT} -L C++ --kde -k_ -o f-kd-1-$n.po f-kd-1-$n.in || Exit 1 52 test -f f-kd-1-$n.po || Exit 1 53 fail= 54 if echo "$comment" | grep 'Valid:' > /dev/null; then 55 if grep kde-format f-kd-1-$n.po > /dev/null; then 56 : 57 else 58 fail=yes 59 fi 60 else 61 if grep kde-format f-kd-1-$n.po > /dev/null; then 62 fail=yes 63 else 64 : 65 fi 66 fi 67 if test -n "$fail"; then 68 echo "Format string recognition error:" 1>&2 69 cat f-kd-1-$n.in 1>&2 70 echo "Got:" 1>&2 71 cat f-kd-1-$n.po 1>&2 72 Exit 1 73 fi 74 rm -f f-kd-1-$n.in f-kd-1-$n.po 75done < f-kd-1.data 76 77Exit 0 78