#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test checking of librep format strings.

cat <<\EOF > f-lr-2.data
# Valid: %% doesn't count
msgid  "abc%%def"
msgstr "xyz"
# Invalid: invalid msgstr
msgid  "abc%%def"
msgstr "xyz%"
# Valid: same arguments
msgid  "abc%s%xdef"
msgstr "xyz%s%x"
# Valid: same arguments, with different widths
msgid  "abc%2sdef"
msgstr "xyz%3s"
# Valid: same arguments but in numbered syntax
msgid  "abc%s%xdef"
msgstr "xyz%1$s%2$x"
# Valid: permutation
msgid  "abc%s%x%cdef"
msgstr "xyz%3$c%2$x%1$s"
# Invalid: too few arguments
msgid  "abc%2$xdef%1$s"
msgstr "xyz%1$s"
# Invalid: too few arguments
msgid  "abc%sdef%x"
msgstr "xyz%s"
# Invalid: too many arguments
msgid  "abc%xdef"
msgstr "xyz%xvw%c"
# Valid: same numbered arguments, with different widths
msgid  "abc%2$5s%1$4s"
msgstr "xyz%2$4s%1$5s"
# Invalid: missing argument
msgid  "abc%2$sdef%1$x"
msgstr "xyz%1$x"
# Invalid: missing argument
msgid  "abc%1$sdef%2$x"
msgstr "xyz%2$x"
# Invalid: added argument
msgid  "abc%1$xdef"
msgstr "xyz%1$xvw%2$c"
# Valid: type compatibility
msgid  "abc%d"
msgstr "xyz%x"
# Valid: type compatibility
msgid  "abc%d"
msgstr "xyz%X"
# Valid: type compatibility
msgid  "abc%d"
msgstr "xyz%o"
# Valid: type compatibility
msgid  "abc%x"
msgstr "xyz%X"
# Valid: type compatibility
msgid  "abc%x"
msgstr "xyz%o"
# Valid: type compatibility
msgid  "abc%X"
msgstr "xyz%o"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%d"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%x"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%X"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%o"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%c"
msgstr "xyz%S"
# Invalid: type incompatibility
msgid  "abc%d"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%d"
msgstr "xyz%S"
# Invalid: type incompatibility
msgid  "abc%x"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%x"
msgstr "xyz%S"
# Invalid: type incompatibility
msgid  "abc%X"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%X"
msgstr "xyz%S"
# Invalid: type incompatibility
msgid  "abc%o"
msgstr "xyz%s"
# Invalid: type incompatibility
msgid  "abc%o"
msgstr "xyz%S"
# Invalid: type incompatibility
msgid  "abc%s"
msgstr "xyz%S"
EOF

: ${MSGFMT=msgfmt}
n=0
while read comment; do
  read msgid_line
  read msgstr_line
  n=`expr $n + 1`
  cat <<EOF > f-lr-2-$n.po
#, librep-format
${msgid_line}
${msgstr_line}
EOF
  fail=
  if echo "$comment" | grep 'Valid:' > /dev/null; then
    if ${MSGFMT} --check-format -o f-lr-2-$n.mo f-lr-2-$n.po; then
      :
    else
      fail=yes
    fi
  else
    ${MSGFMT} --check-format -o f-lr-2-$n.mo f-lr-2-$n.po 2> /dev/null
    if test $? = 1; then
      :
    else
      fail=yes
    fi
  fi
  if test -n "$fail"; then
    echo "Format string checking error:" 1>&2
    cat f-lr-2-$n.po 1>&2
    Exit 1
  fi
  rm -f f-lr-2-$n.po f-lr-2-$n.mo
done < f-lr-2.data

Exit 0
