#! /bin/sh # Test C++ support: test boost-format. tmpfiles="" trap 'rm -fr $tmpfiles' 1 2 3 15 tmpfiles="$tmpfiles xg-c-14.cc" cat <<\EOF > xg-c-14.cc // These are recognized as boost-format because of the keyword 'format'. format(gettext("%s on, %s off")); format(gettext("%1$d on, %2$d off")); format(gettext("%|1$| on, %|2$| off")); format(gettext("%1% on, %2% off")); // These are recognized as boost-format only through the heuristics. gettext("heuristic %s on, %s off"); gettext("heuristic %1$d on, %2$d off"); gettext("heuristic %|1$| on, %|2$| off"); gettext("heuristic %1% on, %2% off"); EOF tmpfiles="$tmpfiles xg-c-14.po" : ${XGETTEXT=xgettext} ${XGETTEXT} --omit-header --no-location -d xg-c-14 --boost xg-c-14.cc test $? = 0 || { rm -fr $tmpfiles; exit 1; } # The first 4 are not marked as c-format, because they are known as # boost-format. The last 4 are governed by the heuristic. The first two # among them are valid c-format strings. The last one is a valid but unlikely # c-format string, therefore the heuristic doesn't mark it. tmpfiles="$tmpfiles xg-c-14.ok" cat <<\EOF > xg-c-14.ok #, boost-format msgid "%s on, %s off" msgstr "" #, boost-format msgid "%1$d on, %2$d off" msgstr "" #, boost-format msgid "%|1$| on, %|2$| off" msgstr "" #, boost-format msgid "%1% on, %2% off" msgstr "" #, c-format, boost-format msgid "heuristic %s on, %s off" msgstr "" #, c-format, boost-format msgid "heuristic %1$d on, %2$d off" msgstr "" #, boost-format msgid "heuristic %|1$| on, %|2$| off" msgstr "" #, boost-format msgid "heuristic %1% on, %2% off" msgstr "" EOF : ${DIFF=diff} ${DIFF} xg-c-14.ok xg-c-14.po result=$? rm -fr $tmpfiles exit $result |