OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 import 'parser_helper.dart'; | 6 import 'parser_helper.dart'; |
7 import 'package:compiler/src/tree/tree.dart'; | 7 import 'package:compiler/src/tree/tree.dart'; |
8 | 8 |
9 void testStatement(String statement) { | 9 void testStatement(String statement) { |
10 Node node = parseStatement(statement); | 10 Node node = parseStatement(statement); |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 node = parseStatement("a ?? b ? c : d;"); | 148 node = parseStatement("a ?? b ? c : d;"); |
149 // Should parse as: (a ?? b) ? c : d; | 149 // Should parse as: (a ?? b) ? c : d; |
150 conditional = node.expression; | 150 conditional = node.expression; |
151 Expect.isNotNull(conditional.condition.asSend()); | 151 Expect.isNotNull(conditional.condition.asSend()); |
152 Expect.isTrue(conditional.condition.asSend().isIfNull); | 152 Expect.isTrue(conditional.condition.asSend().isIfNull); |
153 Expect.isNotNull(conditional.thenExpression.asSend()); | 153 Expect.isNotNull(conditional.thenExpression.asSend()); |
154 Expect.isNotNull(conditional.elseExpression.asSend()); | 154 Expect.isNotNull(conditional.elseExpression.asSend()); |
155 } | 155 } |
156 | 156 |
157 void testNullOperators() { | 157 void testNullOperators() { |
158 Expression node = parseStatement("a ?? b;").expression; | 158 ExpressionStatement statement = parseStatement("a ?? b;"); |
| 159 Expression node = statement.expression; |
159 Expect.isNotNull(node.asSend()); | 160 Expect.isNotNull(node.asSend()); |
160 Expect.isTrue(node.asSend().isIfNull); | 161 Expect.isTrue(node.asSend().isIfNull); |
161 | 162 |
162 node = parseStatement("a ??= b;").expression; | 163 statement = parseStatement("a ??= b;"); |
| 164 node = statement.expression; |
163 Expect.isNotNull(node.asSendSet()); | 165 Expect.isNotNull(node.asSendSet()); |
164 Expect.isTrue(node.asSendSet().isIfNullAssignment); | 166 Expect.isTrue(node.asSendSet().isIfNullAssignment); |
165 | 167 |
166 node = parseStatement("a?.b;").expression; | 168 statement = parseStatement("a?.b;"); |
| 169 node = statement.expression; |
167 Expect.isNotNull(node.asSend()); | 170 Expect.isNotNull(node.asSend()); |
168 Expect.isTrue(node.asSend().isConditional); | 171 Expect.isTrue(node.asSend().isConditional); |
169 | 172 |
170 node = parseStatement("a?.m();").expression; | 173 statement = parseStatement("a?.m();"); |
| 174 node = statement.expression; |
171 Expect.isNotNull(node.asSend()); | 175 Expect.isNotNull(node.asSend()); |
172 Expect.isTrue(node.asSend().isConditional); | 176 Expect.isTrue(node.asSend().isConditional); |
173 } | 177 } |
174 | 178 |
175 void testAssignment() { | 179 void testAssignment() { |
176 ExpressionStatement node; | 180 ExpressionStatement node; |
177 Expression expression; | 181 Expression expression; |
178 SendSet sendSet; | 182 SendSet sendSet; |
179 | 183 |
180 node = parseStatement("a = b;"); | 184 node = parseStatement("a = b;"); |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 testConditionalExpression(); | 375 testConditionalExpression(); |
372 testNullOperators(); | 376 testNullOperators(); |
373 testAssignment(); | 377 testAssignment(); |
374 testIndex(); | 378 testIndex(); |
375 testPostfix(); | 379 testPostfix(); |
376 testOperatorParse(); | 380 testOperatorParse(); |
377 testMissingCloseParen(); | 381 testMissingCloseParen(); |
378 testMissingCloseBraceInClass(); | 382 testMissingCloseBraceInClass(); |
379 testUnmatchedAngleBracket(); | 383 testUnmatchedAngleBracket(); |
380 } | 384 } |
OLD | NEW |