1{
2 "format": [
3 {
4 "expr": "format(null)",
5 "result": { "kind": "String", "value": "" }
6 },
7 {
8 "expr": "format(null, 'some arg')",
9 "result": { "kind": "String", "value": "" }
10 },
11 {
12 "expr": "format('')",
13 "result": { "kind": "String", "value": "" }
14 },
15 {
16 "expr": "format('', 'some arg')",
17 "result": { "kind": "String", "value": "" }
18 },
19 {
20 "expr": "format('123{0}456', 'abc')",
21 "result": { "kind": "String", "value": "123abc456" }
22 },
23 {
24 "expr": "format('123{0}456{0}789', 'abc')",
25 "result": { "kind": "String", "value": "123abc456abc789" }
26 },
27 {
28 "expr": "format('123{0}456{1}789', 'abc', 'def')",
29 "result": { "kind": "String", "value": "123abc456def789" }
30 },
31 {
32 "expr": "format('{0}123', 'abc')",
33 "result": { "kind": "String", "value": "abc123" }
34 },
35 {
36 "expr": "format('123{0}', 'abc')",
37 "result": { "kind": "String", "value": "123abc" }
38 },
39 {
40 "expr": "format('123{0}{1}456', 'abc', 'def')",
41 "result": { "kind": "String", "value": "123abcdef456" }
42 },
43 {
44 "expr": "format('{{0}}', 'abc')",
45 "result": { "kind": "String", "value": "{0}" }
46 },
47 {
48 "expr": "format('{{{{0}}}}', 'abc')",
49 "result": { "kind": "String", "value": "{{0}}" }
50 },
51 {
52 "expr": "format('}}', 'abc')",
53 "result": { "kind": "String", "value": "}" }
54 },
55 {
56 "expr": "format('{{', 'abc')",
57 "result": { "kind": "String", "value": "{" }
58 },
59 {
60 "expr": "format('}}{{', 'abc')",
61 "result": { "kind": "String", "value": "}{" }
62 },
63 {
64 "expr": "format('}}{{}}', 'abc')",
65 "result": { "kind": "String", "value": "}{}" }
66 },
67 {
68 "expr": "format('{0}', Infinity)",
69 "result": { "kind": "String", "value": "Infinity" }
70 },
71 {
72 "expr": "format('{0}', -Infinity)",
73 "result": { "kind": "String", "value": "-Infinity" }
74 },
75 {
76 "expr": "format('{0}', NaN)",
77 "result": { "kind": "String", "value": "NaN" }
78 },
79 {
80 "expr": "format('{0}', -0)",
81 "result": { "kind": "String", "value": "0" }
82 },
83 {
84 "expr": "format('{0}', -0.0)",
85 "result": { "kind": "String", "value": "0" }
86 },
87 {
88 "expr": "format('{0')",
89 "err": {
90 "kind": "evaluation",
91 "value": "The following format string is invalid: {0"
92 }
93 },
94 {
95 "expr": "format('{0', '')",
96 "err": {
97 "kind": "evaluation",
98 "value": "The following format string is invalid: {0"
99 }
100 },
101 {
102 "expr": "format('{0}}', '')",
103 "err": {
104 "kind": "evaluation",
105 "value": "The following format string is invalid: {0}}"
106 }
107 },
108 {
109 "expr": "format('{0}}}}', '')",
110 "err": {
111 "kind": "evaluation",
112 "value": "The following format string is invalid: {0}}}}"
113 }
114 },
115 {
116 "expr": "format('0}')",
117 "err": {
118 "kind": "evaluation",
119 "value": "The following format string is invalid: 0}"
120 }
121 },
122 {
123 "expr": "format('0}', '')",
124 "err": {
125 "kind": "evaluation",
126 "value": "The following format string is invalid: 0}"
127 }
128 },
129 {
130 "expr": "format('{{0}')",
131 "err": {
132 "kind": "evaluation",
133 "value": "The following format string is invalid: {{0}"
134 }
135 },
136 {
137 "expr": "format('{{0}', '')",
138 "err": {
139 "kind": "evaluation",
140 "value": "The following format string is invalid: {{0}"
141 }
142 },
143 {
144 "expr": "format('{{{{0}')",
145 "err": {
146 "kind": "evaluation",
147 "value": "The following format string is invalid: {{{{0}"
148 }
149 },
150 {
151 "expr": "format('{{{{0}', '')",
152 "err": {
153 "kind": "evaluation",
154 "value": "The following format string is invalid: {{{{0}"
155 }
156 },
157 {
158 "expr": "format('}0{')",
159 "err": {
160 "kind": "evaluation",
161 "value": "The following format string is invalid: }0{"
162 }
163 },
164 {
165 "expr": "format('}0{', '')",
166 "err": {
167 "kind": "evaluation",
168 "value": "The following format string is invalid: }0{"
169 }
170 },
171 {
172 "expr": "format('}{0}')",
173 "err": {
174 "kind": "evaluation",
175 "value": "The following format string is invalid: }{0}"
176 }
177 },
178 {
179 "expr": "format('}{0}', '')",
180 "err": {
181 "kind": "evaluation",
182 "value": "The following format string is invalid: }{0}"
183 }
184 },
185 {
186 "expr": "format('{0}{', '')",
187 "err": {
188 "kind": "evaluation",
189 "value": "The following format string is invalid: {0}{"
190 }
191 },
192 {
193 "expr": "format('{0}')",
194 "err": {
195 "kind": "evaluation",
196 "value": "The following format string references more arguments than were supplied: {0}"
197 }
198 },
199 {
200 "expr": "format('{0}{1}', 'abc')",
201 "err": {
202 "kind": "evaluation",
203 "value": "The following format string references more arguments than were supplied: {0}{1}"
204 }
205 }
206 ]
207}