OLD | NEW |
| (Empty) |
1 library verify_messages; | |
2 | |
3 import "print_to_list.dart"; | |
4 import "package:unittest/unittest.dart"; | |
5 | |
6 verifyResult(ignored) { | |
7 test("Verify message translation output", actuallyVerifyResult); | |
8 } | |
9 actuallyVerifyResult() { | |
10 var lineIterator; | |
11 verify(String s) { | |
12 lineIterator.moveNext(); | |
13 var value = lineIterator.current; | |
14 expect(value, s); | |
15 } | |
16 | |
17 var expanded = lines.expand((line) => line.split("\n")).toList(); | |
18 lineIterator = expanded.iterator..moveNext(); | |
19 verify("Printing messages for en_US"); | |
20 verify("This is a message"); | |
21 verify("Another message with parameter hello"); | |
22 verify("Characters that need escaping, e.g slashes \\ dollars \${ " | |
23 "(curly braces are ok) and xml reserved characters <& and " | |
24 "quotes \" parameters 1, 2, and 3"); | |
25 verify("This string extends across multiple lines."); | |
26 verify("1, b, [c, d]"); | |
27 verify('"So-called"'); | |
28 verify("Cette chaîne est toujours traduit"); | |
29 verify("Interpolation is tricky when it ends a sentence like this."); | |
30 verify("This comes from a method"); | |
31 verify("This method is not a lambda"); | |
32 verify("This comes from a static method"); | |
33 verify("This is missing some translations"); | |
34 verify("Ancient Greek hangman characters: 𐅆𐅇."); | |
35 verify("Escapable characters here: "); | |
36 | |
37 verify('Is zero plural?'); | |
38 verify('This is singular.'); | |
39 verify('This is plural (2).'); | |
40 verify('This is plural (3).'); | |
41 verify('This is plural (4).'); | |
42 verify('This is plural (5).'); | |
43 verify('This is plural (6).'); | |
44 verify('This is plural (7).'); | |
45 verify('This is plural (8).'); | |
46 verify('This is plural (9).'); | |
47 verify('This is plural (10).'); | |
48 verify('This is plural (11).'); | |
49 verify('This is plural (20).'); | |
50 verify('This is plural (100).'); | |
51 verify('This is plural (101).'); | |
52 verify('This is plural (100000).'); | |
53 verify('Alice went to her house'); | |
54 verify('Bob went to his house'); | |
55 verify('cat went to its litter box'); | |
56 verify('Alice, Bob sont allés au magasin'); | |
57 verify('Alice est allée au magasin'); | |
58 verify('Personne n\'est allé au magasin'); | |
59 verify('Bob, Bob sont allés au magasin'); | |
60 verify('Alice, Alice sont allées au magasin'); | |
61 verify('none'); | |
62 verify('one'); | |
63 verify('m'); | |
64 verify('f'); | |
65 verify('7 male'); | |
66 verify('7 Canadian dollars'); | |
67 verify('5 some currency or other.'); | |
68 verify('1 Canadian dollar'); | |
69 verify('2 Canadian dollars'); | |
70 verify('1 thing:'); | |
71 verify('2 things:'); | |
72 verify('Hello World'); | |
73 verify('Hello World'); | |
74 verify('rent'); | |
75 verify('rent'); | |
76 | |
77 var fr_lines = expanded.skip(1).skipWhile( | |
78 (line) => !line.contains('----')).toList(); | |
79 lineIterator = fr_lines.iterator..moveNext(); | |
80 verify("Printing messages for fr"); | |
81 verify("Il s'agit d'un message"); | |
82 verify("Un autre message avec un seul paramètre hello"); | |
83 verify( | |
84 "Caractères qui doivent être échapper, par exemple barres \\ " | |
85 "dollars \${ (les accolades sont ok), et xml/html réservés <& et " | |
86 "des citations \" " | |
87 "avec quelques paramètres ainsi 1, 2, et 3"); | |
88 verify("Cette message prend plusiers lignes."); | |
89 verify("1, b, [c, d]"); | |
90 verify('"Soi-disant"'); | |
91 verify("Cette chaîne est toujours traduit"); | |
92 verify( | |
93 "L'interpolation est délicate quand elle se termine une " | |
94 "phrase comme this."); | |
95 verify("Cela vient d'une méthode"); | |
96 verify("Cette méthode n'est pas un lambda"); | |
97 verify("Cela vient d'une méthode statique"); | |
98 verify("Ce manque certaines traductions"); | |
99 verify("Anciens caractères grecs jeux du pendu: 𐅆𐅇."); | |
100 verify("Escapes: "); | |
101 verify("\r\f\b\t\v."); | |
102 | |
103 verify('Est-ce que nulle est pluriel?'); | |
104 verify('C\'est singulier'); | |
105 verify('C\'est pluriel (2).'); | |
106 verify('C\'est pluriel (3).'); | |
107 verify('C\'est pluriel (4).'); | |
108 verify('C\'est pluriel (5).'); | |
109 verify('C\'est pluriel (6).'); | |
110 verify('C\'est pluriel (7).'); | |
111 verify('C\'est pluriel (8).'); | |
112 verify('C\'est pluriel (9).'); | |
113 verify('C\'est pluriel (10).'); | |
114 verify('C\'est pluriel (11).'); | |
115 verify('C\'est pluriel (20).'); | |
116 verify('C\'est pluriel (100).'); | |
117 verify('C\'est pluriel (101).'); | |
118 verify('C\'est pluriel (100000).'); | |
119 verify('Alice est allée à sa house'); | |
120 verify('Bob est allé à sa house'); | |
121 verify('cat est allé à sa litter box'); | |
122 verify('Alice, Bob étaient allés à la magasin'); | |
123 verify('Alice était allée à la magasin'); | |
124 verify('Personne n\'avait allé à la magasin'); | |
125 verify('Bob, Bob étaient allés à la magasin'); | |
126 verify('Alice, Alice étaient allées à la magasin'); | |
127 verify('rien'); | |
128 verify('un'); | |
129 verify('homme'); | |
130 verify('femme'); | |
131 verify('7 homme'); | |
132 verify('7 dollars Canadiens'); | |
133 verify('5 certaine devise ou autre.'); | |
134 verify('1 dollar Canadien'); | |
135 verify('2 dollars Canadiens'); | |
136 verify('1 chose:'); | |
137 verify('2 choses:'); | |
138 verify('Bonjour tout le monde'); | |
139 verify('Bonjour tout le monde'); | |
140 verify('louer'); | |
141 verify('loyer'); | |
142 | |
143 var de_lines = fr_lines.skip(1).skipWhile( | |
144 (line) => !line.contains('----')).toList(); | |
145 lineIterator = de_lines.iterator..moveNext(); | |
146 verify("Printing messages for de_DE"); | |
147 verify("Dies ist eine Nachricht"); | |
148 verify("Eine weitere Meldung mit dem Parameter hello"); | |
149 verify( | |
150 "Zeichen, die Flucht benötigen, zB Schrägstriche \\ Dollar " | |
151 "\${ (geschweiften Klammern sind ok) und xml reservierte Zeichen <& und " | |
152 "Zitate \" Parameter 1, 2 und 3"); | |
153 verify("Dieser String erstreckt sich über mehrere " | |
154 "Zeilen erstrecken."); | |
155 verify("1, b, [c, d]"); | |
156 verify('"Sogenannt"'); | |
157 // This is correct, the message is forced to French, even in a German locale. | |
158 verify("Cette chaîne est toujours traduit"); | |
159 verify( | |
160 "Interpolation ist schwierig, wenn es einen Satz wie dieser endet this."); | |
161 verify("Dies ergibt sich aus einer Methode"); | |
162 verify("Diese Methode ist nicht eine Lambda"); | |
163 verify("Dies ergibt sich aus einer statischen Methode"); | |
164 verify("This is missing some translations"); | |
165 verify("Antike griechische Galgenmännchen Zeichen: 𐅆𐅇"); | |
166 verify("Escapes: "); | |
167 verify("\r\f\b\t\v."); | |
168 | |
169 verify('Ist Null Plural?'); | |
170 verify('Dies ist einmalig'); | |
171 verify('Dies ist Plural (2).'); | |
172 verify('Dies ist Plural (3).'); | |
173 verify('Dies ist Plural (4).'); | |
174 verify('Dies ist Plural (5).'); | |
175 verify('Dies ist Plural (6).'); | |
176 verify('Dies ist Plural (7).'); | |
177 verify('Dies ist Plural (8).'); | |
178 verify('Dies ist Plural (9).'); | |
179 verify('Dies ist Plural (10).'); | |
180 verify('Dies ist Plural (11).'); | |
181 verify('Dies ist Plural (20).'); | |
182 verify('Dies ist Plural (100).'); | |
183 verify('Dies ist Plural (101).'); | |
184 verify('Dies ist Plural (100000).'); | |
185 verify('Alice ging zu ihrem house'); | |
186 verify('Bob ging zu seinem house'); | |
187 verify('cat ging zu seinem litter box'); | |
188 verify('Alice, Bob gingen zum magasin'); | |
189 verify('Alice ging in dem magasin'); | |
190 verify('Niemand ging zu magasin'); | |
191 verify('Bob, Bob gingen zum magasin'); | |
192 verify('Alice, Alice gingen zum magasin'); | |
193 verify('Null'); | |
194 verify('ein'); | |
195 verify('Mann'); | |
196 verify('Frau'); | |
197 verify('7 Mann'); | |
198 verify('7 Kanadischen dollar'); | |
199 verify('5 einige Währung oder anderen.'); | |
200 verify('1 Kanadischer dollar'); | |
201 verify('2 Kanadischen dollar'); | |
202 verify('eins:'); | |
203 verify('2 Dinge:'); | |
204 verify('Hallo Welt'); | |
205 verify('Hallo Welt'); | |
206 verify('mieten'); | |
207 verify('Miete'); | |
208 } | |
OLD | NEW |