Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: tests/standalone/status_expression_test.dart

Issue 15778003: Implement binary "!=" operator in status file parser. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | tools/testing/dart/status_expression.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 library StatusExpressionTest; 5 library StatusExpressionTest;
6 6
7 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 import "../../tools/testing/dart/status_expression.dart"; 8 import "../../tools/testing/dart/status_expression.dart";
9 9
10 10
11 class StatusExpressionTest { 11 class StatusExpressionTest {
12 static void testMain() { 12 static void testMain() {
13 test1(); 13 test1();
14 test2(); 14 test2();
15 test3(); 15 test3();
16 test4(); 16 test4();
17 test5(); 17 test5();
18 test6(); 18 test6();
19 test7();
19 } 20 }
20 21
21 static void test1() { 22 static void test1() {
22 Tokenizer tokenizer = new Tokenizer( 23 Tokenizer tokenizer = new Tokenizer(
23 r" $mode == debug && ($arch == chromium || $arch == dartc) "); 24 r" $mode == debug && ($arch == chromium || $arch == dartc) ");
24 tokenizer.tokenize(); 25 tokenizer.tokenize();
25 Expect.listEquals(tokenizer.tokens, 26 Expect.listEquals(tokenizer.tokens,
26 ["\$", "mode", "==", "debug", "&&", "(", "\$", "arch", "==", 27 ["\$", "mode", "==", "debug", "&&", "(", "\$", "arch", "==",
27 "chromium", "||", "\$", "arch", "==", "dartc", ")"]); 28 "chromium", "||", "\$", "arch", "==", "dartc", ")"]);
28 ExpressionParser parser = 29 ExpressionParser parser =
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 Expect.isTrue(ast.evaluate(environment)); 139 Expect.isTrue(ast.evaluate(environment));
139 environment["checked"] = false; 140 environment["checked"] = false;
140 Expect.isTrue(ast.evaluate(environment)); 141 Expect.isTrue(ast.evaluate(environment));
141 environment["mode"] = "debug"; 142 environment["mode"] = "debug";
142 Expect.isFalse(ast.evaluate(environment)); 143 Expect.isFalse(ast.evaluate(environment));
143 environment["arch"] = "arm"; 144 environment["arch"] = "arm";
144 Expect.isFalse(ast.evaluate(environment)); 145 Expect.isFalse(ast.evaluate(environment));
145 environment["checked"] = true; 146 environment["checked"] = true;
146 Expect.isFalse(ast.evaluate(environment)); 147 Expect.isFalse(ast.evaluate(environment));
147 } 148 }
149
150 static void test7() {
151 // Test the != operator.
152 Tokenizer tokenizer =
153 new Tokenizer(r"$compiler == dart2js && $runtime != ie9");
154 tokenizer.tokenize();
155 ExpressionParser parser =
156 new ExpressionParser(new Scanner(tokenizer.tokens));
157 BooleanExpression ast = parser.parseBooleanExpression();
158 Expect.equals(r"(($compiler == dart2js) && ($runtime != ie9))",
159 ast.toString());
160
161 // Test BooleanExpression.evaluate().
162 Map environment = new Map();
163
164 environment["compiler"] = "none";
165 environment["runtime"] = "ie9";
166 Expect.isFalse(ast.evaluate(environment));
167 environment["runtime"] = "chrome";
168 Expect.isFalse(ast.evaluate(environment));
169
170 environment["compiler"] = "dart2js";
171 environment["runtime"] = "ie9";
172 Expect.isFalse(ast.evaluate(environment));
173 environment["runtime"] = "chrome";
174 Expect.isTrue(ast.evaluate(environment));
175 }
148 } 176 }
149 177
150 main() { 178 main() {
151 StatusExpressionTest.testMain(); 179 StatusExpressionTest.testMain();
152 } 180 }
OLDNEW
« no previous file with comments | « no previous file | tools/testing/dart/status_expression.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698