| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test basic functioning with Java .properties syntax. |
| |
| test -d mf-p-1 || mkdir mf-p-1 |
| test -d mf-p-1/LC_MESSAGES || mkdir mf-p-1/LC_MESSAGES |
| |
| cat <<\EOF > mf-p-1-1.properties |
| SYS_(C)\n=MSGFMT(3) portable message object file compiler\nCopyright (C) 1995 Free Software Foundation\nReport bugs to <bug-gnu-utils@gnu.org>\n |
| msg\ 1=msg 1 translation |
| help\ 2\ %d=help 2 translation |
| error\ 3=error 3 translation |
| EOF |
| |
| cat <<\EOF > mf-p-1-2.properties |
| # --- |
| mesg\ 4=mesg 4 translation |
| error\ 3=alternate error 3 translation |
| error\ 5=error 5 translation |
| window\ 6=window 6 translation |
| EOF |
| |
| # Without use of msgcat, expect a "duplicate message definition" error. |
| : ${MSGFMT=msgfmt} |
| if ${MSGFMT} --properties-input -o mf-p-1/LC_MESSAGES/gen.mo mf-p-1-1.properties mf-p-1-2.properties 2> /dev/null; then |
| Exit 1 |
| fi |
| |
| # With msgcat, it should work. |
| : ${MSGCAT=msgcat} ${MSGFMT=msgfmt} |
| ${MSGCAT} --properties-input --properties-output --use-first -o mf-p-1-s.properties mf-p-1-1.properties mf-p-1-2.properties || Exit 1 |
| ${MSGFMT} --properties-input -o mf-p-1/LC_MESSAGES/gen.mo mf-p-1-s.properties || Exit 1 |
| |
| : ${GETTEXT=gettext} |
| TEXTDOMAINDIR=. LANGUAGE=mf-p-1 \ |
| ${GETTEXT} --env LC_ALL=en gen 'SYS_(C) |
| ' | LC_ALL=C tr -d '\r' > mf-p-test1.out |
| |
| cat <<EOF > gtmf-p-test1.ok |
| MSGFMT(3) portable message object file compiler |
| Copyright (C) 1995 Free Software Foundation |
| Report bugs to <bug-gnu-utils@gnu.org> |
| EOF |
| |
| : ${DIFF=diff} |
| ${DIFF} gtmf-p-test1.ok mf-p-test1.out |
| result=$? |
| |
| exit $result |