| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test C++ support: test boost-format. |
| |
| cat <<\EOF > xg-c-format-5.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 |
| |
| : ${XGETTEXT=xgettext} |
| ${XGETTEXT} --omit-header --no-location -d xg-c-format-5.tmp --boost xg-c-format-5.cc || Exit 1 |
| LC_ALL=C tr -d '\r' < xg-c-format-5.tmp.po > xg-c-format-5.po || 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. |
| cat <<\EOF > xg-c-format-5.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-format-5.ok xg-c-format-5.po |
| result=$? |
| |
| exit $result |