1{
2 "boolean": [
3 { "expr": "true == true", "result": { "kind": "Boolean", "value": true } },
4 {
5 "expr": "false == false",
6 "result": { "kind": "Boolean", "value": true }
7 },
8 {
9 "expr": "false == true",
10 "result": { "kind": "Boolean", "value": false }
11 }
12 ],
13
14 "number": [
15 { "expr": "0 == -0", "result": { "kind": "Boolean", "value": true } },
16 { "expr": "2 == 2", "result": { "kind": "Boolean", "value": true } },
17 { "expr": "1.001 == 1.002", "result": { "kind": "Boolean", "value": false } },
18 { "expr": "120 == 1.2e2", "result": { "kind": "Boolean", "value": true } },
19 { "expr": "1 == 2", "result": { "kind": "Boolean", "value": false } },
20 { "expr": "NaN == NaN", "result": { "kind": "Boolean", "value": false } },
21 {
22 "expr": "Infinity == Infinity",
23 "result": { "kind": "Boolean", "value": true }
24 },
25 {
26 "expr": "-Infinity == Infinity",
27 "result": { "kind": "Boolean", "value": false }
28 },
29 {
30 "expr": "0 == Infinity",
31 "result": { "kind": "Boolean", "value": false }
32 },
33 {
34 "expr": "1 == Infinity",
35 "result": { "kind": "Boolean", "value": false }
36 }
37 ],
38
39 "string": [
40 { "expr": "'a' == 'a'", "result": { "kind": "Boolean", "value": true } },
41 { "expr": "'a' == 'b'", "result": { "kind": "Boolean", "value": false } }
42 ],
43
44 "null": [
45 { "expr": "null == null", "result": { "kind": "Boolean", "value": true } }
46 ],
47
48 "object": [
49 {
50 "expr": "object1 == object1",
51 "contexts": { "object1": {} },
52 "result": { "kind": "Boolean", "value": true }
53 },
54 {
55 "expr": "object1 == object2",
56 "contexts": { "object1": {}, "object2": {} },
57 "result": { "kind": "Boolean", "value": false }
58 }
59 ],
60
61 "array": [
62 {
63 "expr": "array1 == array1",
64 "contexts": { "array1": [] },
65 "result": { "kind": "Boolean", "value": true }
66 },
67 {
68 "expr": "array1 == array2",
69 "contexts": { "array1": [], "array2": [] },
70 "result": { "kind": "Boolean", "value": false }
71 }
72 ],
73
74 "coerce_bool_number": [
75 { "expr": "false == 0", "result": { "kind": "Boolean", "value": true } },
76 { "expr": "true == 1", "result": { "kind": "Boolean", "value": true } },
77 { "expr": "false == NaN", "result": { "kind": "Boolean", "value": false } },
78 { "expr": "true == 2", "result": { "kind": "Boolean", "value": false } }
79 ],
80
81 "coerce_bool_string": [
82 { "expr": "false == ''", "result": { "kind": "Boolean", "value": true } },
83 {
84 "expr": "false == ' '",
85 "result": { "kind": "Boolean", "value": true }
86 },
87 {
88 "expr": "false == ' 0.0 '",
89 "result": { "kind": "Boolean", "value": true }
90 },
91 {
92 "expr": "true == ' 1.0 '",
93 "result": { "kind": "Boolean", "value": true }
94 },
95 {
96 "expr": "true == ' 1 '",
97 "result": { "kind": "Boolean", "value": true }
98 },
99 {
100 "expr": "false == '-1'",
101 "result": { "kind": "Boolean", "value": false }
102 },
103 { "expr": "true == '2'", "result": { "kind": "Boolean", "value": false } }
104 ],
105
106 "coerce_bool_null": [
107 {
108 "expr": "false == null",
109 "result": { "kind": "Boolean", "value": true }
110 },
111 {
112 "expr": "true == null",
113 "result": { "kind": "Boolean", "value": false }
114 }
115 ],
116
117 "coerce_bool_object-array": [
118 {
119 "expr": "false == test",
120 "contexts": { "test": {} },
121 "result": { "kind": "Boolean", "value": false }
122 },
123 {
124 "expr": "false == test",
125 "contexts": { "test": [] },
126 "result": { "kind": "Boolean", "value": false }
127 },
128 {
129 "expr": "true == test",
130 "contexts": { "test": {} },
131 "result": { "kind": "Boolean", "value": false }
132 },
133 {
134 "expr": "true == test",
135 "contexts": { "test": [] },
136 "result": { "kind": "Boolean", "value": false }
137 }
138 ],
139
140 "coerce_number_bool": [
141 { "expr": "0 == false", "result": { "kind": "Boolean", "value": true } },
142 { "expr": "1 == true", "result": { "kind": "Boolean", "value": true } },
143 {
144 "expr": "NaN == false",
145 "result": { "kind": "Boolean", "value": false }
146 },
147 { "expr": "2 == true", "result": { "kind": "Boolean", "value": false } }
148 ],
149
150 "coerce_number_string": [
151 {
152 "expr": "0 == ' -0.0 '",
153 "result": { "kind": "Boolean", "value": true }
154 },
155 { "expr": "0 == ''", "result": { "kind": "Boolean", "value": true } },
156 { "expr": "0 == ' '", "result": { "kind": "Boolean", "value": true } },
157 {
158 "expr": "120 == ' +1.2e2 '",
159 "result": { "kind": "Boolean", "value": true }
160 },
161 {
162 "expr": "120.0 == ' 1.2E2 '",
163 "result": { "kind": "Boolean", "value": true }
164 },
165 {
166 "expr": "120 == ' 1.2e+2 '",
167 "result": { "kind": "Boolean", "value": true }
168 },
169 {
170 "expr": "-120 == ' -1.2E+2 '",
171 "result": { "kind": "Boolean", "value": true }
172 },
173 {
174 "expr": "0.012 == ' 1.2e-2 '",
175 "result": { "kind": "Boolean", "value": true }
176 },
177 {
178 "expr": "0.012 == ' 1.2E-2 '",
179 "result": { "kind": "Boolean", "value": true }
180 },
181 {
182 "expr": "255.0 == ' 0xff '",
183 "result": { "kind": "Boolean", "value": true }
184 },
185 {
186 "expr": "8.0 == ' 0o10 '",
187 "result": { "kind": "Boolean", "value": true }
188 },
189 {
190 "expr": "Infinity == ' Infinity '",
191 "result": { "kind": "Boolean", "value": true }
192 },
193 {
194 "expr": "-Infinity == ' -Infinity '",
195 "result": { "kind": "Boolean", "value": true }
196 },
197 {
198 "expr": "NaN == 'NaN'",
199 "result": { "kind": "Boolean", "value": false }
200 },
201 { "expr": "1 == '0'", "result": { "kind": "Boolean", "value": false } },
202 { "expr": "1 == 'a'", "result": { "kind": "Boolean", "value": false } }
203 ],
204
205 "coerce_number_null": [
206 { "expr": "0 == null", "result": { "kind": "Boolean", "value": true } }
207 ],
208
209 "coerce_number_object-array": [
210 {
211 "expr": "0 == test",
212 "contexts": { "test": {} },
213 "result": { "kind": "Boolean", "value": false }
214 },
215 {
216 "expr": "1 == test",
217 "contexts": { "test": {} },
218 "result": { "kind": "Boolean", "value": false }
219 },
220 {
221 "expr": "0 == test",
222 "contexts": { "test": [] },
223 "result": { "kind": "Boolean", "value": false }
224 },
225 {
226 "expr": "1 == test",
227 "contexts": { "test": [] },
228 "result": { "kind": "Boolean", "value": false }
229 }
230 ],
231
232 "coerce_string_bool": [
233 { "expr": "'' == false", "result": { "kind": "Boolean", "value": true } },
234 {
235 "expr": "' ' == false",
236 "result": { "kind": "Boolean", "value": true }
237 },
238 {
239 "expr": "' 0.0 ' == false",
240 "result": { "kind": "Boolean", "value": true }
241 },
242 {
243 "expr": "' 1.0 ' == true",
244 "result": { "kind": "Boolean", "value": true }
245 },
246 {
247 "expr": "' 1 ' == true",
248 "result": { "kind": "Boolean", "value": true }
249 },
250 {
251 "expr": "'-1' == false",
252 "result": { "kind": "Boolean", "value": false }
253 },
254 { "expr": "'2' == true", "result": { "kind": "Boolean", "value": false } }
255 ],
256
257 "coerce_string_number": [
258 {
259 "expr": "' -0.0 ' == 0",
260 "result": { "kind": "Boolean", "value": true }
261 },
262 { "expr": "'' == 0", "result": { "kind": "Boolean", "value": true } },
263 { "expr": "' ' == 0", "result": { "kind": "Boolean", "value": true } },
264 {
265 "expr": "' +1.2e2 ' == 120",
266 "result": { "kind": "Boolean", "value": true }
267 },
268 {
269 "expr": "' 1.2E2 ' == 120.0",
270 "result": { "kind": "Boolean", "value": true }
271 },
272 {
273 "expr": "' 1.2e+2 ' == 120",
274 "result": { "kind": "Boolean", "value": true }
275 },
276 {
277 "expr": "' -1.2E+2 ' == -120",
278 "result": { "kind": "Boolean", "value": true }
279 },
280 {
281 "expr": "' 1.2e-2 ' == 0.012",
282 "result": { "kind": "Boolean", "value": true }
283 },
284 {
285 "expr": "' 1.2E-2 ' == 0.012",
286 "result": { "kind": "Boolean", "value": true }
287 },
288 {
289 "expr": "' 0xff ' == 255.0",
290 "result": { "kind": "Boolean", "value": true }
291 },
292 {
293 "expr": "' 0o10 ' == 8.0",
294 "result": { "kind": "Boolean", "value": true }
295 },
296 {
297 "expr": "' Infinity ' == Infinity",
298 "result": { "kind": "Boolean", "value": true }
299 },
300 {
301 "expr": "' -Infinity ' == -Infinity",
302 "result": { "kind": "Boolean", "value": true }
303 },
304 {
305 "expr": "'NaN' == NaN",
306 "result": { "kind": "Boolean", "value": false }
307 },
308 { "expr": "'0' == 1", "result": { "kind": "Boolean", "value": false } },
309 { "expr": "'a' == 1", "result": { "kind": "Boolean", "value": false } }
310 ],
311
312 "coerce_string_null": [
313 { "expr": "'' == null", "result": { "kind": "Boolean", "value": true } },
314 {
315 "expr": "' ' == null",
316 "result": { "kind": "Boolean", "value": true }
317 },
318 { "expr": "'0' == null", "result": { "kind": "Boolean", "value": true } },
319 {
320 "expr": "'false' == null",
321 "result": { "kind": "Boolean", "value": false }
322 },
323 {
324 "expr": "'null' == null",
325 "result": { "kind": "Boolean", "value": false }
326 }
327 ],
328
329 "coerce_string_object": [
330 {
331 "expr": "'' == test",
332 "contexts": { "test": {} },
333 "result": { "kind": "Boolean", "value": false }
334 },
335 {
336 "expr": "'false' == test",
337 "contexts": { "test": {} },
338 "result": { "kind": "Boolean", "value": false }
339 },
340 {
341 "expr": "'0' == test",
342 "contexts": { "test": {} },
343 "result": { "kind": "Boolean", "value": false }
344 },
345 {
346 "expr": "'null' == test",
347 "contexts": { "test": {} },
348 "result": { "kind": "Boolean", "value": false }
349 },
350 {
351 "expr": "'Object' == test",
352 "contexts": { "test": {} },
353 "result": { "kind": "Boolean", "value": false }
354 }
355 ],
356
357 "coerce_string_array": [
358 {
359 "expr": "'' == test",
360 "contexts": { "test": [] },
361 "result": { "kind": "Boolean", "value": false }
362 },
363 {
364 "expr": "'false' == test",
365 "contexts": { "test": [] },
366 "result": { "kind": "Boolean", "value": false }
367 },
368 {
369 "expr": "'0' == test",
370 "contexts": { "test": [] },
371 "result": { "kind": "Boolean", "value": false }
372 },
373 {
374 "expr": "'null' == test",
375 "contexts": { "test": [] },
376 "result": { "kind": "Boolean", "value": false }
377 },
378 {
379 "expr": "'Array' == test",
380 "contexts": { "test": [] },
381 "result": { "kind": "Boolean", "value": false }
382 }
383 ],
384
385 "coerce_null_bool": [
386 {
387 "expr": "null == false",
388 "result": { "kind": "Boolean", "value": true }
389 },
390 {
391 "expr": "null == true",
392 "result": { "kind": "Boolean", "value": false }
393 }
394 ],
395
396 "coerce_null_number": [
397 { "expr": "null == 0", "result": { "kind": "Boolean", "value": true } },
398 { "expr": "false == 1", "result": { "kind": "Boolean", "value": false } }
399 ],
400
401 "coerce_null_string": [
402 { "expr": "null == ''", "result": { "kind": "Boolean", "value": true } },
403 {
404 "expr": "null == ' '",
405 "result": { "kind": "Boolean", "value": true }
406 },
407 { "expr": "null == '0'", "result": { "kind": "Boolean", "value": true } },
408 {
409 "expr": "null == 'false'",
410 "result": { "kind": "Boolean", "value": false }
411 },
412 {
413 "expr": "null == 'null'",
414 "result": { "kind": "Boolean", "value": false }
415 }
416 ],
417
418 "coerce_null_object-array": [
419 {
420 "expr": "null == test",
421 "contexts": { "test": {} },
422 "result": { "kind": "Boolean", "value": false }
423 },
424 {
425 "expr": "null == test",
426 "contexts": { "test": [] },
427 "result": { "kind": "Boolean", "value": false }
428 }
429 ]
430}