#! /bin/sh

# Test handling of format and 'range:' flag.

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles mcomm-test27.in1 mcomm-test27.in2"
cat <<EOF > mcomm-test27.in1
msgid "one day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 1..6
msgid "one week and one day"
msgid_plural "one week and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 1..7
msgid "two weeks and one day"
msgid_plural "two weeks and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 0..6
msgid "three weeks and one day"
msgid_plural "three weeks and %d days"
msgstr[0] ""
msgstr[1] ""
EOF

cat <<EOF > mcomm-test27.in2
#, c-format, range: 1..6
msgid "one day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""

msgid "one week and one day"
msgid_plural "one week and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 0..6
msgid "two weeks and one day"
msgid_plural "two weeks and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 1..7
msgid "three weeks and one day"
msgid_plural "three weeks and %d days"
msgstr[0] ""
msgstr[1] ""
EOF

tmpfiles="$tmpfiles mcomm-test27.tmp mcomm-test27.out"
: ${MSGCOMM=msgcomm}
${MSGCOMM} -o mcomm-test27.tmp mcomm-test27.in1 mcomm-test27.in2
test $? = 0 || { rm -fr $tmpfiles; exit 1; }
LC_ALL=C tr -d '\r' < mcomm-test27.tmp > mcomm-test27.out
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles mcomm-test27.ok"
cat << EOF > mcomm-test27.ok
#, c-format
msgid "one day"
msgid_plural "%d days"
msgstr[0] ""
msgstr[1] ""

#, c-format
msgid "one week and one day"
msgid_plural "one week and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 0..7
msgid "two weeks and one day"
msgid_plural "two weeks and %d days"
msgstr[0] ""
msgstr[1] ""

#, c-format, range: 0..7
msgid "three weeks and one day"
msgid_plural "three weeks and %d days"
msgstr[0] ""
msgstr[1] ""
EOF

: ${DIFF=diff}
${DIFF} mcomm-test27.ok mcomm-test27.out
result=$?

rm -fr $tmpfiles

exit $result
