1#! /bin/sh
2
3# Test C support: extraction of contexts specified in GNOME glib syntax.
4
5tmpfiles=""
6trap 'rm -fr $tmpfiles' 1 2 3 15
7
8tmpfiles="$tmpfiles xg-c-15.c"
9cat <<\EOF > xg-c-15.c
10/* (glib) The 1-argument Q_ macro is a gettext with context. */
11print (Q_ ("Printer|Open"));
12/* (hypothetical) The 2-argument Q_ macro is an ngettext with contexts. */
13print (Q_ ("Menu|Recent File", "Menu|Recent Files"));
14EOF
15
16tmpfiles="$tmpfiles xg-c-15.po"
17: ${XGETTEXT=xgettext}
18${XGETTEXT} --omit-header --no-location \
19  --keyword=Q_:1g --keyword=Q_:1g,2g \
20  -d xg-c-15 xg-c-15.c
21test $? = 0 || { rm -fr $tmpfiles; exit 1; }
22
23tmpfiles="$tmpfiles xg-c-15.ok"
24cat <<EOF > xg-c-15.ok
25msgctxt "Printer"
26msgid "Open"
27msgstr ""
28
29msgctxt "Menu"
30msgid "Recent File"
31msgid_plural "Recent Files"
32msgstr[0] ""
33msgstr[1] ""
34EOF
35
36: ${DIFF=diff}
37${DIFF} xg-c-15.ok xg-c-15.po
38result=$?
39
40rm -fr $tmpfiles
41
42exit $result
43