xref: /aosp_15_r20/external/cldr/common/testData/messageFormat/test-functions.json (revision 912701f9769bb47905792267661f0baf2b85bed5)
1*912701f9SAndroid Build Coastguard Worker{
2*912701f9SAndroid Build Coastguard Worker  "date": [
3*912701f9SAndroid Build Coastguard Worker    { "src": "{:date}", "exp": "{:date}", "errors": [{ "type": "bad-input" }] },
4*912701f9SAndroid Build Coastguard Worker    {
5*912701f9SAndroid Build Coastguard Worker      "src": "{horse :date}",
6*912701f9SAndroid Build Coastguard Worker      "exp": "{|horse|}",
7*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
8*912701f9SAndroid Build Coastguard Worker    },
9*912701f9SAndroid Build Coastguard Worker    { "src": "{|2006-01-02| :date}" },
10*912701f9SAndroid Build Coastguard Worker    { "src": "{|2006-01-02T15:04:06| :date}" },
11*912701f9SAndroid Build Coastguard Worker    { "src": "{|2006-01-02| :date style=long}" },
12*912701f9SAndroid Build Coastguard Worker    {
13*912701f9SAndroid Build Coastguard Worker      "src": ".local $d = {|2006-01-02| :date style=long} {{{$d :date}}}"
14*912701f9SAndroid Build Coastguard Worker    },
15*912701f9SAndroid Build Coastguard Worker    {
16*912701f9SAndroid Build Coastguard Worker      "src": ".local $t = {|2006-01-02T15:04:06| :time} {{{$t :date}}}"
17*912701f9SAndroid Build Coastguard Worker    }
18*912701f9SAndroid Build Coastguard Worker  ],
19*912701f9SAndroid Build Coastguard Worker  "time": [
20*912701f9SAndroid Build Coastguard Worker    { "src": "{:time}", "exp": "{:time}", "errors": [{ "type": "bad-input" }] },
21*912701f9SAndroid Build Coastguard Worker    {
22*912701f9SAndroid Build Coastguard Worker      "src": "{horse :time}",
23*912701f9SAndroid Build Coastguard Worker      "exp": "{|horse|}",
24*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
25*912701f9SAndroid Build Coastguard Worker    },
26*912701f9SAndroid Build Coastguard Worker    { "src": "{|2006-01-02T15:04:06| :time}" },
27*912701f9SAndroid Build Coastguard Worker    {
28*912701f9SAndroid Build Coastguard Worker      "src": "{|2006-01-02T15:04:06| :time style=medium}"
29*912701f9SAndroid Build Coastguard Worker    },
30*912701f9SAndroid Build Coastguard Worker    {
31*912701f9SAndroid Build Coastguard Worker      "src": ".local $t = {|2006-01-02T15:04:06| :time style=medium} {{{$t :time}}}"
32*912701f9SAndroid Build Coastguard Worker    },
33*912701f9SAndroid Build Coastguard Worker    {
34*912701f9SAndroid Build Coastguard Worker      "src": ".local $d = {|2006-01-02T15:04:06| :date} {{{$d :time}}}"
35*912701f9SAndroid Build Coastguard Worker    }
36*912701f9SAndroid Build Coastguard Worker  ],
37*912701f9SAndroid Build Coastguard Worker  "datetime": [
38*912701f9SAndroid Build Coastguard Worker    {
39*912701f9SAndroid Build Coastguard Worker      "src": "{:datetime}",
40*912701f9SAndroid Build Coastguard Worker      "exp": "{:datetime}",
41*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
42*912701f9SAndroid Build Coastguard Worker    },
43*912701f9SAndroid Build Coastguard Worker    {
44*912701f9SAndroid Build Coastguard Worker      "src": "{$x :datetime}",
45*912701f9SAndroid Build Coastguard Worker      "exp": "{$x}",
46*912701f9SAndroid Build Coastguard Worker      "params": { "x": true },
47*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
48*912701f9SAndroid Build Coastguard Worker    },
49*912701f9SAndroid Build Coastguard Worker    {
50*912701f9SAndroid Build Coastguard Worker      "src": "{horse :datetime}",
51*912701f9SAndroid Build Coastguard Worker      "exp": "{|horse|}",
52*912701f9SAndroid Build Coastguard Worker      "errors": [{ "name": "RangeError" }]
53*912701f9SAndroid Build Coastguard Worker    },
54*912701f9SAndroid Build Coastguard Worker    { "src": "{|2006-01-02T15:04:06| :datetime}" },
55*912701f9SAndroid Build Coastguard Worker    {
56*912701f9SAndroid Build Coastguard Worker      "src": "{|2006-01-02T15:04:06| :datetime year=numeric month=|2-digit|}"
57*912701f9SAndroid Build Coastguard Worker    },
58*912701f9SAndroid Build Coastguard Worker    {
59*912701f9SAndroid Build Coastguard Worker      "src": "{|2006-01-02T15:04:06| :datetime dateStyle=long}"
60*912701f9SAndroid Build Coastguard Worker    },
61*912701f9SAndroid Build Coastguard Worker    {
62*912701f9SAndroid Build Coastguard Worker      "src": "{|2006-01-02T15:04:06| :datetime timeStyle=medium}"
63*912701f9SAndroid Build Coastguard Worker    },
64*912701f9SAndroid Build Coastguard Worker    {
65*912701f9SAndroid Build Coastguard Worker      "src": "{$dt :datetime}",
66*912701f9SAndroid Build Coastguard Worker      "params": { "dt": "2006-01-02T15:04:06" }
67*912701f9SAndroid Build Coastguard Worker    }
68*912701f9SAndroid Build Coastguard Worker  ],
69*912701f9SAndroid Build Coastguard Worker  "integer": [
70*912701f9SAndroid Build Coastguard Worker    { "src": "hello {4.2 :integer}", "exp": "hello 4" },
71*912701f9SAndroid Build Coastguard Worker    { "src": "hello {-4.20 :integer}", "exp": "hello -4" },
72*912701f9SAndroid Build Coastguard Worker    { "src": "hello {0.42e+1 :integer}", "exp": "hello 4" },
73*912701f9SAndroid Build Coastguard Worker    {
74*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :integer} one {{one}} * {{other}}",
75*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1.2 },
76*912701f9SAndroid Build Coastguard Worker      "exp": "one"
77*912701f9SAndroid Build Coastguard Worker    }
78*912701f9SAndroid Build Coastguard Worker  ],
79*912701f9SAndroid Build Coastguard Worker  "number": [
80*912701f9SAndroid Build Coastguard Worker    { "src": "hello {4.2 :number}", "exp": "hello 4.2" },
81*912701f9SAndroid Build Coastguard Worker    { "src": "hello {-4.20 :number}", "exp": "hello -4.2" },
82*912701f9SAndroid Build Coastguard Worker    { "src": "hello {0.42e+1 :number}", "exp": "hello 4.2" },
83*912701f9SAndroid Build Coastguard Worker    {
84*912701f9SAndroid Build Coastguard Worker      "src": "hello {foo :number}",
85*912701f9SAndroid Build Coastguard Worker      "exp": "hello {|foo|}",
86*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
87*912701f9SAndroid Build Coastguard Worker    },
88*912701f9SAndroid Build Coastguard Worker    {
89*912701f9SAndroid Build Coastguard Worker      "src": "invalid number literal {.1 :number}",
90*912701f9SAndroid Build Coastguard Worker      "exp": "invalid number literal {|.1|}",
91*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
92*912701f9SAndroid Build Coastguard Worker    },
93*912701f9SAndroid Build Coastguard Worker    {
94*912701f9SAndroid Build Coastguard Worker      "src": "invalid number literal {1. :number}",
95*912701f9SAndroid Build Coastguard Worker      "exp": "invalid number literal {|1.|}",
96*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
97*912701f9SAndroid Build Coastguard Worker    },
98*912701f9SAndroid Build Coastguard Worker    {
99*912701f9SAndroid Build Coastguard Worker      "src": "invalid number literal {01 :number}",
100*912701f9SAndroid Build Coastguard Worker      "exp": "invalid number literal {|01|}",
101*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
102*912701f9SAndroid Build Coastguard Worker    },
103*912701f9SAndroid Build Coastguard Worker    {
104*912701f9SAndroid Build Coastguard Worker      "src": "invalid number literal {|+1| :number}",
105*912701f9SAndroid Build Coastguard Worker      "exp": "invalid number literal {|+1|}",
106*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
107*912701f9SAndroid Build Coastguard Worker    },
108*912701f9SAndroid Build Coastguard Worker    {
109*912701f9SAndroid Build Coastguard Worker      "src": "invalid number literal {0x1 :number}",
110*912701f9SAndroid Build Coastguard Worker      "exp": "invalid number literal {|0x1|}",
111*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
112*912701f9SAndroid Build Coastguard Worker    },
113*912701f9SAndroid Build Coastguard Worker    {
114*912701f9SAndroid Build Coastguard Worker      "src": "hello {:number}",
115*912701f9SAndroid Build Coastguard Worker      "exp": "hello {:number}",
116*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
117*912701f9SAndroid Build Coastguard Worker    },
118*912701f9SAndroid Build Coastguard Worker    {
119*912701f9SAndroid Build Coastguard Worker      "src": "hello {4.2 :number minimumFractionDigits=2}",
120*912701f9SAndroid Build Coastguard Worker      "exp": "hello 4.20"
121*912701f9SAndroid Build Coastguard Worker    },
122*912701f9SAndroid Build Coastguard Worker    {
123*912701f9SAndroid Build Coastguard Worker      "src": "hello {|4.2| :number minimumFractionDigits=|2|}",
124*912701f9SAndroid Build Coastguard Worker      "exp": "hello 4.20"
125*912701f9SAndroid Build Coastguard Worker    },
126*912701f9SAndroid Build Coastguard Worker    {
127*912701f9SAndroid Build Coastguard Worker      "src": "hello {4.2 :number minimumFractionDigits=$foo}",
128*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 2 },
129*912701f9SAndroid Build Coastguard Worker      "exp": "hello 4.20"
130*912701f9SAndroid Build Coastguard Worker    },
131*912701f9SAndroid Build Coastguard Worker    {
132*912701f9SAndroid Build Coastguard Worker      "src": "hello {|4.2| :number minimumFractionDigits=$foo}",
133*912701f9SAndroid Build Coastguard Worker      "params": { "foo": "2" },
134*912701f9SAndroid Build Coastguard Worker      "exp": "hello 4.20"
135*912701f9SAndroid Build Coastguard Worker    },
136*912701f9SAndroid Build Coastguard Worker    {
137*912701f9SAndroid Build Coastguard Worker      "src": ".local $foo = {$bar :number} {{bar {$foo}}}",
138*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 4.2 },
139*912701f9SAndroid Build Coastguard Worker      "exp": "bar 4.2"
140*912701f9SAndroid Build Coastguard Worker    },
141*912701f9SAndroid Build Coastguard Worker    {
142*912701f9SAndroid Build Coastguard Worker      "src": ".local $foo = {$bar :number minimumFractionDigits=2} {{bar {$foo}}}",
143*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 4.2 },
144*912701f9SAndroid Build Coastguard Worker      "exp": "bar 4.20"
145*912701f9SAndroid Build Coastguard Worker    },
146*912701f9SAndroid Build Coastguard Worker    {
147*912701f9SAndroid Build Coastguard Worker      "src": ".local $foo = {$bar :number minimumFractionDigits=foo} {{bar {$foo}}}",
148*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 4.2 },
149*912701f9SAndroid Build Coastguard Worker      "exp": "bar {$bar}",
150*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-option" }]
151*912701f9SAndroid Build Coastguard Worker    },
152*912701f9SAndroid Build Coastguard Worker    {
153*912701f9SAndroid Build Coastguard Worker      "src": ".local $foo = {$bar :number} {{bar {$foo}}}",
154*912701f9SAndroid Build Coastguard Worker      "params": { "bar": "foo" },
155*912701f9SAndroid Build Coastguard Worker      "exp": "bar {$bar}",
156*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
157*912701f9SAndroid Build Coastguard Worker    },
158*912701f9SAndroid Build Coastguard Worker    {
159*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number} {{bar {$foo}}}",
160*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 4.2 },
161*912701f9SAndroid Build Coastguard Worker      "exp": "bar 4.2"
162*912701f9SAndroid Build Coastguard Worker    },
163*912701f9SAndroid Build Coastguard Worker    {
164*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number minimumFractionDigits=2} {{bar {$foo}}}",
165*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 4.2 },
166*912701f9SAndroid Build Coastguard Worker      "exp": "bar 4.20"
167*912701f9SAndroid Build Coastguard Worker    },
168*912701f9SAndroid Build Coastguard Worker    {
169*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number minimumFractionDigits=foo} {{bar {$foo}}}",
170*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 4.2 },
171*912701f9SAndroid Build Coastguard Worker      "exp": "bar {$foo}",
172*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-option" }]
173*912701f9SAndroid Build Coastguard Worker    },
174*912701f9SAndroid Build Coastguard Worker    {
175*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number} {{bar {$foo}}}",
176*912701f9SAndroid Build Coastguard Worker      "params": { "foo": "foo" },
177*912701f9SAndroid Build Coastguard Worker      "exp": "bar {$foo}",
178*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "bad-input" }]
179*912701f9SAndroid Build Coastguard Worker    },
180*912701f9SAndroid Build Coastguard Worker    {
181*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} one {{one}} * {{other}}",
182*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
183*912701f9SAndroid Build Coastguard Worker      "exp": "one"
184*912701f9SAndroid Build Coastguard Worker    },
185*912701f9SAndroid Build Coastguard Worker    {
186*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} 1 {{=1}} one {{one}} * {{other}}",
187*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
188*912701f9SAndroid Build Coastguard Worker      "exp": "=1"
189*912701f9SAndroid Build Coastguard Worker    },
190*912701f9SAndroid Build Coastguard Worker    {
191*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} one {{one}} 1 {{=1}} * {{other}}",
192*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
193*912701f9SAndroid Build Coastguard Worker      "exp": "=1"
194*912701f9SAndroid Build Coastguard Worker    },
195*912701f9SAndroid Build Coastguard Worker    {
196*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} {$bar :number} one one {{one one}} one * {{one other}} * * {{other}}",
197*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1, "bar": 1 },
198*912701f9SAndroid Build Coastguard Worker      "exp": "one one"
199*912701f9SAndroid Build Coastguard Worker    },
200*912701f9SAndroid Build Coastguard Worker    {
201*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} {$bar :number} one one {{one one}} one * {{one other}} * * {{other}}",
202*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1, "bar": 2 },
203*912701f9SAndroid Build Coastguard Worker      "exp": "one other"
204*912701f9SAndroid Build Coastguard Worker    },
205*912701f9SAndroid Build Coastguard Worker    {
206*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :number} {$bar :number} one one {{one one}} one * {{one other}} * * {{other}}",
207*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 2, "bar": 2 },
208*912701f9SAndroid Build Coastguard Worker      "exp": "other"
209*912701f9SAndroid Build Coastguard Worker    },
210*912701f9SAndroid Build Coastguard Worker    {
211*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number} .match {$foo} one {{one}} * {{other}}",
212*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
213*912701f9SAndroid Build Coastguard Worker      "exp": "one"
214*912701f9SAndroid Build Coastguard Worker    },
215*912701f9SAndroid Build Coastguard Worker    {
216*912701f9SAndroid Build Coastguard Worker      "src": ".local $foo = {$bar :number} .match {$foo} one {{one}} * {{other}}",
217*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 1 },
218*912701f9SAndroid Build Coastguard Worker      "exp": "one"
219*912701f9SAndroid Build Coastguard Worker    },
220*912701f9SAndroid Build Coastguard Worker    {
221*912701f9SAndroid Build Coastguard Worker      "src": ".input {$foo :number} .local $bar = {$foo} .match {$bar} one {{one}} * {{other}}",
222*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
223*912701f9SAndroid Build Coastguard Worker      "exp": "one"
224*912701f9SAndroid Build Coastguard Worker    },
225*912701f9SAndroid Build Coastguard Worker    {
226*912701f9SAndroid Build Coastguard Worker      "src": ".input {$bar :number} .match {$bar} one {{one}} * {{other}}",
227*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 2 },
228*912701f9SAndroid Build Coastguard Worker      "exp": "other"
229*912701f9SAndroid Build Coastguard Worker    },
230*912701f9SAndroid Build Coastguard Worker    {
231*912701f9SAndroid Build Coastguard Worker      "src": ".input {$bar} .match {$bar :number} one {{one}} * {{other}}",
232*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 1 },
233*912701f9SAndroid Build Coastguard Worker      "exp": "one"
234*912701f9SAndroid Build Coastguard Worker    },
235*912701f9SAndroid Build Coastguard Worker    {
236*912701f9SAndroid Build Coastguard Worker      "src": ".input {$bar} .match {$bar :number} one {{one}} * {{other}}",
237*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 2 },
238*912701f9SAndroid Build Coastguard Worker      "exp": "other"
239*912701f9SAndroid Build Coastguard Worker    },
240*912701f9SAndroid Build Coastguard Worker    {
241*912701f9SAndroid Build Coastguard Worker      "src": ".input {$bar} .match {$bar :number} one {{one}} * {{other}}",
242*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 1 },
243*912701f9SAndroid Build Coastguard Worker      "exp": "one"
244*912701f9SAndroid Build Coastguard Worker    },
245*912701f9SAndroid Build Coastguard Worker    {
246*912701f9SAndroid Build Coastguard Worker      "src": ".input {$bar} .match {$bar :number} one {{one}} * {{other}}",
247*912701f9SAndroid Build Coastguard Worker      "params": { "bar": 2 },
248*912701f9SAndroid Build Coastguard Worker      "exp": "other"
249*912701f9SAndroid Build Coastguard Worker    },
250*912701f9SAndroid Build Coastguard Worker    {
251*912701f9SAndroid Build Coastguard Worker      "src": ".input {$none} .match {$foo :number} one {{one}} * {{{$none}}}",
252*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
253*912701f9SAndroid Build Coastguard Worker      "exp": "one"
254*912701f9SAndroid Build Coastguard Worker    },
255*912701f9SAndroid Build Coastguard Worker    {
256*912701f9SAndroid Build Coastguard Worker      "src": ".local $bar = {$none} .match {$foo :number} one {{one}} * {{{$bar}}}",
257*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
258*912701f9SAndroid Build Coastguard Worker      "exp": "one"
259*912701f9SAndroid Build Coastguard Worker    },
260*912701f9SAndroid Build Coastguard Worker    {
261*912701f9SAndroid Build Coastguard Worker      "src": ".local $bar = {$none} .match {$foo :number} one {{one}} * {{{$bar}}}",
262*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 2 },
263*912701f9SAndroid Build Coastguard Worker      "exp": "{$none}",
264*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "unresolved-var" }]
265*912701f9SAndroid Build Coastguard Worker    },
266*912701f9SAndroid Build Coastguard Worker    {
267*912701f9SAndroid Build Coastguard Worker      "src": "{42 :number @foo @bar=13}",
268*912701f9SAndroid Build Coastguard Worker      "exp": "42",
269*912701f9SAndroid Build Coastguard Worker      "parts": [
270*912701f9SAndroid Build Coastguard Worker        { "type": "number", "parts": [{ "type": "integer", "value": "42" }] }
271*912701f9SAndroid Build Coastguard Worker      ]
272*912701f9SAndroid Build Coastguard Worker    }
273*912701f9SAndroid Build Coastguard Worker  ],
274*912701f9SAndroid Build Coastguard Worker  "ordinal": [
275*912701f9SAndroid Build Coastguard Worker    {
276*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :ordinal} one {{st}} two {{nd}} few {{rd}} * {{th}}",
277*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
278*912701f9SAndroid Build Coastguard Worker      "exp": "th",
279*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "missing-func" }, { "type": "not-selectable" }]
280*912701f9SAndroid Build Coastguard Worker    },
281*912701f9SAndroid Build Coastguard Worker    {
282*912701f9SAndroid Build Coastguard Worker      "src": "hello {42 :ordinal}",
283*912701f9SAndroid Build Coastguard Worker      "exp": "hello {|42|}",
284*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "missing-func" }]
285*912701f9SAndroid Build Coastguard Worker    }
286*912701f9SAndroid Build Coastguard Worker  ],
287*912701f9SAndroid Build Coastguard Worker  "plural": [
288*912701f9SAndroid Build Coastguard Worker    {
289*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :plural} one {{one}} * {{other}}",
290*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
291*912701f9SAndroid Build Coastguard Worker      "exp": "other",
292*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "missing-func" }, { "type": "not-selectable" }]
293*912701f9SAndroid Build Coastguard Worker    },
294*912701f9SAndroid Build Coastguard Worker    {
295*912701f9SAndroid Build Coastguard Worker      "src": "hello {42 :plural}",
296*912701f9SAndroid Build Coastguard Worker      "exp": "hello {|42|}",
297*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "missing-func" }]
298*912701f9SAndroid Build Coastguard Worker    }
299*912701f9SAndroid Build Coastguard Worker  ],
300*912701f9SAndroid Build Coastguard Worker  "string": [
301*912701f9SAndroid Build Coastguard Worker    {
302*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :string} |1| {{one}} * {{other}}",
303*912701f9SAndroid Build Coastguard Worker      "params": { "foo": "1" },
304*912701f9SAndroid Build Coastguard Worker      "exp": "one"
305*912701f9SAndroid Build Coastguard Worker    },
306*912701f9SAndroid Build Coastguard Worker    {
307*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :string} 1 {{one}} * {{other}}",
308*912701f9SAndroid Build Coastguard Worker      "params": { "foo": 1 },
309*912701f9SAndroid Build Coastguard Worker      "exp": "one"
310*912701f9SAndroid Build Coastguard Worker    },
311*912701f9SAndroid Build Coastguard Worker    {
312*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :string} 1 {{one}} * {{other}}",
313*912701f9SAndroid Build Coastguard Worker      "params": { "foo": null },
314*912701f9SAndroid Build Coastguard Worker      "exp": "other"
315*912701f9SAndroid Build Coastguard Worker    },
316*912701f9SAndroid Build Coastguard Worker    {
317*912701f9SAndroid Build Coastguard Worker      "src": ".match {$foo :string} 1 {{one}} * {{other}}",
318*912701f9SAndroid Build Coastguard Worker      "exp": "other",
319*912701f9SAndroid Build Coastguard Worker      "errors": [{ "type": "unresolved-var" }]
320*912701f9SAndroid Build Coastguard Worker    }
321*912701f9SAndroid Build Coastguard Worker  ]
322*912701f9SAndroid Build Coastguard Worker}
323