Imported Upstream version 0.18.3.2
[platform/upstream/gettext.git] / gettext-tools / tests / plural-2
1 #! /bin/sh
2
3 tmpfiles=""
4 trap 'rm -fr $tmpfiles' 1 2 3 15
5
6 tmpfiles="$tmpfiles plural-2-dir plural-2-ll.po dataout"
7 : ${MSGFMT=msgfmt}
8 test -d plural-2-dir || mkdir plural-2-dir
9 test -d plural-2-dir/ll || mkdir plural-2-dir/ll
10 test -d plural-2-dir/ll/LC_MESSAGES || mkdir plural-2-dir/ll/LC_MESSAGES
11
12 tmpfiles="$tmpfiles plural-2.data"
13 cat <<EOF > plural-2.data
14 ja
15 0
16 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
17 de
18 n != 1
19 10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
20 fr
21 n>1
22 00111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
23 gd
24 n==1 ? 0 : n==2 ? 1 : 2
25 20122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
26 ro
27 n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2
28 10111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222
29 lt
30 n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2
31 20111111112222222222201111111120111111112011111111201111111120111111112011111111201111111120111111112011111111222222222220111111112011111111201111111120111111112011111111201111111120111111112011111111
32 ru-gettext
33 n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
34 20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222
35 ru-glibc
36 n%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1
37 20111222222222222222201112222220111222222011122222201112222220111222222011122222201112222220111222222011122222222222222220111222222011122222201112222220111222222011122222201112222220111222222011122222
38 sk
39 (n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2
40 20111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
41 pl
42 n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2
43 20111222222222222222221112222222111222222211122222221112222222111222222211122222221112222222111222222211122222222222222222111222222211122222221112222222111222222211122222221112222222111222222211122222
44 sl
45 n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3
46 30122333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333012233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
47 EOF
48 while read lang; do
49   read formula
50   read dataok
51   cat > plural-2-ll.po <<EOF
52 msgid ""
53 msgstr ""
54 "MIME-Version: 1.0\n"
55 "Content-Type: text/plain; charset=ASCII\n"
56 "Content-Transfer-Encoding: 8bit\n"
57 "Plural-Forms: nplurals=10; plural=${formula};\n"
58
59 msgid "X"
60 msgid_plural "Y"
61 msgstr[0] "0"
62 msgstr[1] "1"
63 msgstr[2] "2"
64 msgstr[3] "3"
65 msgstr[4] "4"
66 msgstr[5] "5"
67 msgstr[6] "6"
68 msgstr[7] "7"
69 msgstr[8] "8"
70 msgstr[9] "9"
71 EOF
72   ${MSGFMT} -o plural-2-dir/ll/LC_MESSAGES/plural.mo plural-2-ll.po || exit 1
73   (for i in '' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do
74      LANGUAGE= TEXTDOMAIN=plural TEXTDOMAINDIR=plural-2-dir \
75        $NGETTEXT --env LC_ALL=ll X Y ${i}0 ${i}1 ${i}2 ${i}3 ${i}4 ${i}5 ${i}6 ${i}7 ${i}8 ${i}9
76    done) > dataout
77   test "$dataok" = `cat dataout` || {
78     echo "Formula evaluation error for language $lang" 1>&2
79     echo "plural=${formula}" 1>&2
80     echo "Expected: $dataok" 1>&2
81     echo "Got:      "`cat dataout` 1>&2
82     rm -fr $tmpfiles
83     exit 1
84   }
85 done < plural-2.data
86
87 rm -fr $tmpfiles
88
89 exit 0