#!/bin/sh

# Test of position dependent recognition of format strings.

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

tmpfiles="$tmpfiles xg-test6.c"
cat <<\EOF > xg-test6.c
fprintf (fp, gettext ("c-format positive1"), gettext ("c-format negative1"));
printk (gettext ("c-format negative2"));
EOF

tmpfiles="$tmpfiles xg-test6.sh"
cat <<\EOF > xg-test6.sh
eval_gettext "sh-format positive1" "`gettext \"sh-format negative1\"`"
echo "`gettext \"sh-format negative2\"`"
EOF

tmpfiles="$tmpfiles xg-test6.py"
cat <<\EOF > xg-test6.py
my_printf (gettext ("python-format positive1"),
           gettext ("python-format negative1"));
printk (gettext ("python-format negative2"));
EOF

tmpfiles="$tmpfiles xg-test6.lisp"
cat <<\EOF > xg-test6.lisp
(format t (gettext "lisp-format positive1") (gettext "lisp-format negative1"))
(prin1 (gettext "lisp-format negative2"))
EOF

tmpfiles="$tmpfiles xg-test6.el"
cat <<\EOF > xg-test6.el
(format (_ "elisp-format positive1") (_ "elisp-format negative1"))
(printk (_ "elisp-format negative2"))
EOF

tmpfiles="$tmpfiles xg-test6.jl"
cat <<\EOF > xg-test6.jl
(format stream (_ "librep-format positive1") (_ "librep-format negative1"))
(printk (_ "librep-format negative2"))
EOF

tmpfiles="$tmpfiles xg-test6.java"
cat <<\EOF > xg-test6.java
MessageFormat.format(gettext("java-format positive1"),
                     gettext("java-format negative1"));
System.err.println(gettext("java-format negative2"));
EOF

tmpfiles="$tmpfiles xg-test6.awk"
cat <<\EOF > xg-test6.awk
printf dcgettext ("awk-format positive1"), dcgettext ("awk-format negative1");
printf (dcgettext ("awk-format positive2"), dcgettext ("awk-format negative2"));
printf dcgettext ("awk-format positive3"); dcgettext ("awk-format negative3");
printk dcgettext ("awk-format negative4");
EOF

tmpfiles="$tmpfiles xg-test6.ycp"
cat <<\EOF > xg-test6.ycp
sformat (_("ycp-format positive1"), _("ycp-format negative1"));
printk (_("ycp-format negative2"));
EOF

tmpfiles="$tmpfiles xg-test6.tcl"
cat <<\EOF > xg-test6.tcl
[format [::msgcat::mc "tcl-format positive1"]
        [::msgcat::mc "tcl-format negative1"]]
[print [::msgcat::mc "tcl-format negative2"]]
EOF

tmpfiles="$tmpfiles xg-test6.pl"
cat <<\EOF > xg-test6.pl
printf gettext "perl-format positive1", gettext ("perl-format negative1");
gettext ("perl-format negative2");
printf gettext "perl-format positive2"; gettext ("perl-format negative3");
gettext ("perl-format negative4");
print sprintf gettext "perl-format positive3";
print kprintf gettext "perl-format negative5";
EOF

tmpfiles="$tmpfiles xg-test6.php"
cat <<\EOF > xg-test6.php
<? php
printf (_ ("php-format positive1"), _ ("php-format negative1"));
printk (_ ("php-format negative2"));
EOF

tmpfiles="$tmpfiles xg-test6.po"
: ${XGETTEXT=xgettext}
${XGETTEXT} --omit-header --no-location -d xg-test6 \
  --flag=my_printf:1:python-format \
  xg-test6.c xg-test6.sh xg-test6.py xg-test6.lisp xg-test6.el \
  xg-test6.jl xg-test6.java xg-test6.awk xg-test6.ycp xg-test6.tcl \
  xg-test6.pl xg-test6.php 
test $? = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles xg-test6.ok"
cat <<\EOF > xg-test6.ok
#, c-format
msgid "c-format positive1"
msgstr ""

msgid "c-format negative1"
msgstr ""

msgid "c-format negative2"
msgstr ""

#, sh-format
msgid "sh-format positive1"
msgstr ""

msgid "sh-format negative1"
msgstr ""

msgid "sh-format negative2"
msgstr ""

#, python-format
msgid "python-format positive1"
msgstr ""

msgid "python-format negative1"
msgstr ""

msgid "python-format negative2"
msgstr ""

#, lisp-format
msgid "lisp-format positive1"
msgstr ""

msgid "lisp-format negative1"
msgstr ""

msgid "lisp-format negative2"
msgstr ""

#, elisp-format
msgid "elisp-format positive1"
msgstr ""

msgid "elisp-format negative1"
msgstr ""

msgid "elisp-format negative2"
msgstr ""

#, librep-format
msgid "librep-format positive1"
msgstr ""

msgid "librep-format negative1"
msgstr ""

msgid "librep-format negative2"
msgstr ""

#, java-format
msgid "java-format positive1"
msgstr ""

msgid "java-format negative1"
msgstr ""

msgid "java-format negative2"
msgstr ""

#, awk-format
msgid "awk-format positive1"
msgstr ""

msgid "awk-format negative1"
msgstr ""

#, awk-format
msgid "awk-format positive2"
msgstr ""

msgid "awk-format negative2"
msgstr ""

#, awk-format
msgid "awk-format positive3"
msgstr ""

msgid "awk-format negative3"
msgstr ""

msgid "awk-format negative4"
msgstr ""

#, ycp-format
msgid "ycp-format positive1"
msgstr ""

msgid "ycp-format negative1"
msgstr ""

msgid "ycp-format negative2"
msgstr ""

#, tcl-format
msgid "tcl-format positive1"
msgstr ""

msgid "tcl-format negative1"
msgstr ""

msgid "tcl-format negative2"
msgstr ""

#, perl-format
msgid "perl-format positive1"
msgstr ""

msgid "perl-format negative1"
msgstr ""

msgid "perl-format negative2"
msgstr ""

#, perl-format
msgid "perl-format positive2"
msgstr ""

msgid "perl-format negative3"
msgstr ""

msgid "perl-format negative4"
msgstr ""

#, perl-format
msgid "perl-format positive3"
msgstr ""

msgid "perl-format negative5"
msgstr ""

#, php-format
msgid "php-format positive1"
msgstr ""

msgid "php-format negative1"
msgstr ""

msgid "php-format negative2"
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-test6.ok xg-test6.po
result=$?

rm -fr $tmpfiles

exit $result
