1{
2 "operator_precedence_._and_._evaluate_left_to_right": [
3 {
4 "expr": "foo.bar.baz",
5 "contexts": { "foo": { "bar": { "baz": 2 } } },
6 "result": { "kind": "Number", "value": 2.0 }
7 }
8 ],
9 "operator_precedence_._is_higher_than_!": [
10 {
11 "expr": "!foo.bar",
12 "contexts": { "foo": { "bar": true } },
13 "result": { "kind": "Boolean", "value": false }
14 },
15 {
16 "expr": "(!foo).bar",
17 "contexts": { "foo": { "bar": true } },
18 "result": { "kind": "Null", "value": null }
19 }
20 ],
21 "operator_precedence_._is_higher_than_>": [
22 {
23 "expr": "3 > foo.bar",
24 "contexts": { "foo": { "bar": 2 } },
25 "result": { "kind": "Boolean", "value": true }
26 },
27 {
28 "expr": "foo.bar > 2",
29 "contexts": { "foo": { "bar": 3 } },
30 "result": { "kind": "Boolean", "value": true }
31 }
32 ],
33 "operator_precedence_[]_is_higher_than_>": [
34 {
35 "expr": "3 > foo['bar']",
36 "contexts": { "foo": { "bar": 2 } },
37 "result": { "kind": "Boolean", "value": true }
38 },
39 {
40 "expr": "foo['bar'] > 2",
41 "contexts": { "foo": { "bar": 3 } },
42 "result": { "kind": "Boolean", "value": true }
43 }
44 ],
45 "operator_precedence_!_is_higher_than_<": [
46 {
47 "expr": "!2 < 3",
48 "result": { "kind": "Boolean", "value": true }
49 },
50 {
51 "expr": "!(2 < 3)",
52 "result": { "kind": "Boolean", "value": false }
53 }
54 ],
55 "operator_precedence_<_and_<_evaluate_left_to_right": [
56 {
57 "expr": "3 < 2 < 1",
58 "result": { "kind": "Boolean", "value": true }
59 },
60 {
61 "expr": "3 < (2 < 1)",
62 "result": { "kind": "Boolean", "value": false }
63 }
64 ],
65 "operator_precedence_<_and_<=_evaluate_left_to_right": [
66 {
67 "expr": "3 < 2 <= 1",
68 "result": { "kind": "Boolean", "value": true }
69 },
70 {
71 "expr": "3 < (2 <= 1)",
72 "result": { "kind": "Boolean", "value": false }
73 }
74 ],
75 "operator_precedence_<=_and_<_evaluate_left_to_right": [
76 {
77 "expr": "3 <= 2 < 1",
78 "result": { "kind": "Boolean", "value": true }
79 },
80 {
81 "expr": "3 <= (2 < 1)",
82 "result": { "kind": "Boolean", "value": false }
83 }
84 ],
85 "operator_precedence_>_and_<_evaluate_left_to_right": [
86 {
87 "expr": "0 > 0 < 1",
88 "result": { "kind": "Boolean", "value": true }
89 },
90 {
91 "expr": "0 > (0 < 1)",
92 "result": { "kind": "Boolean", "value": false }
93 }
94 ],
95 "operator_precedence_>_and_>_evaluate_left_to_right": [
96 {
97 "expr": "2 > 2 > 0",
98 "result": { "kind": "Boolean", "value": false }
99 },
100 {
101 "expr": "2 > (2 > 0)",
102 "result": { "kind": "Boolean", "value": true }
103 }
104 ],
105 "operator_precedence_<=_is_higher_than_==": [
106 {
107 "expr": "2 <= 3 == true",
108 "result": { "kind": "Boolean", "value": true }
109 },
110 {
111 "expr": "2 <= (3 == true)",
112 "result": { "kind": "Boolean", "value": false }
113 }
114 ],
115 "operator_precedence_==_and_==_evaluate_left_to_right": [
116 {
117 "expr": "2 == 2 == 1",
118 "result": { "kind": "Boolean", "value": true }
119 },
120 {
121 "expr": "2 == (2 == 1)",
122 "result": { "kind": "Boolean", "value": false }
123 }
124 ],
125 "operator_precedence_==_and_!=_evaluate_left_to_right": [
126 {
127 "expr": "2 == 2 != 0",
128 "result": { "kind": "Boolean", "value": true }
129 },
130 {
131 "expr": "2 == (2 != 0)",
132 "result": { "kind": "Boolean", "value": false }
133 }
134 ],
135 "operator_precedence_==_is_higher_than_&&": [
136 {
137 "expr": "1 == 1 && 2",
138 "result": { "kind": "Number", "value": 2.0 }
139 },
140 {
141 "expr": "1 == (1 && 2)",
142 "result": { "kind": "Boolean", "value": false }
143 },
144 {
145 "expr": "'a' == 'a' && 'b'",
146 "result": { "kind": "String", "value": "b" }
147 },
148 {
149 "expr": "'a' == ('a' && 'b')",
150 "result": { "kind": "Boolean", "value": false }
151 }
152 ],
153 "operator_precedence_&&_is_higher_than_||": [
154 {
155 "expr": "false && 0 || null",
156 "result": { "kind": "Null", "value": null }
157 },
158 {
159 "expr": "false && (0 || null)",
160 "result": { "kind": "Boolean", "value": false }
161 },
162 {
163 "expr": "1 || 2 && 3",
164 "result": { "kind": "Number", "value": 1.0 }
165 },
166 {
167 "expr": "(1 || 2) && 3",
168 "result": { "kind": "Number", "value": 3.0 }
169 }
170 ]
171}