summaryrefslogtreecommitdiffstats
path: root/gettext-tools/tests/xgettext-csharp-1
blob: cbb3c32f64baadc9edcf9adc752351bdd20c40e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Some tests for C# support

cat <<EOF > xg-cs-1.cs
using GNU.Gettext;
class TestCase {
  public TestCase() {
    GettextResourceManager rm = new GettextResourceManager("test");
    // standard usage
    String test1 = rm.GetString("Test String 1");
    /* C style comment */
    String test2 = rm.GetString("Test String 2");
    // C# "multiline" string
    String test3 = rm.GetString("Test " +
    "String " +
    "3");
    // empty string
    String test4 = rm.GetString("");
#if false
    // commented out through #if
    String test5 = rm.GetString("Test String 5");
#endif
    // verbatim string
    String test5 = rm.GetString(@"first line
second line
third line");
  }
}
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} --omit-header --no-location -c -d xg-cs-1.tmp xg-cs-1.cs || Exit 1
LC_ALL=C tr -d '\r' < xg-cs-1.tmp.po > xg-cs-1.po || Exit 1

cat <<EOF > xg-cs-1.ok
#. standard usage
msgid "Test String 1"
msgstr ""

#. C style comment
msgid "Test String 2"
msgstr ""

#. C# "multiline" string
msgid "Test String 3"
msgstr ""

#. empty string
msgid ""
msgstr ""

#. commented out through #if
msgid "Test String 5"
msgstr ""

#. verbatim string
msgid ""
"first line\n"
"second line\n"
"third line"
msgstr ""
EOF

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

exit $result