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

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

Issue 2914893003: Revert "Replace the configuration map with a typed object." (Closed)
Patch Set: Created 3 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
« no previous file with comments | « tests/standalone/standalone.status ('k') | tools/testing/dart/browser_controller.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;
6
5 import "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
6
7 import "../../tools/testing/dart/environment.dart";
8 import "../../tools/testing/dart/status_expression.dart"; 8 import "../../tools/testing/dart/status_expression.dart";
9 9
10 class TestEnvironment implements Environment {
11 final Map<String, String> _values;
12
13 TestEnvironment(this._values);
14
15 /// Looks up the value of the variable with [name].
16 String lookUp(String name) => _values[name];
17
18 operator []=(String key, String value) => _values[key] = value;
19 }
20
21 main() { 10 main() {
22 testExpression(); 11 testExpression();
23 testSyntaxError(); 12 testSyntaxError();
24 testBoolean(); 13 testBoolean();
25 testNotEqual(); 14 testNotEqual();
26 } 15 }
27 16
28 void testExpression() { 17 void testExpression() {
29 var expression = Expression 18 var expression = Expression
30 .parse(r" $mode == debug && ($arch == chromium || $arch == dartc) "); 19 .parse(r" $mode == debug && ($arch == chromium || $arch == dartc) ");
31 Expect.equals( 20 Expect.equals(
32 r"(($mode == debug) && (($arch == chromium) || ($arch == dartc)))", 21 r"(($mode == debug) && (($arch == chromium) || ($arch == dartc)))",
33 expression.toString()); 22 expression.toString());
34 23
35 // Test BooleanExpression.evaluate(). 24 // Test BooleanExpression.evaluate().
36 var environment = new TestEnvironment({"arch": "dartc", "mode": "debug"}); 25 var environment = <String, dynamic>{"arch": "dartc", "mode": "debug"};
37 26
38 Expect.isTrue(expression.evaluate(environment)); 27 Expect.isTrue(expression.evaluate(environment));
39 environment["mode"] = "release"; 28 environment["mode"] = "release";
40 Expect.isFalse(expression.evaluate(environment)); 29 Expect.isFalse(expression.evaluate(environment));
41 environment["arch"] = "ia32"; 30 environment["arch"] = "ia32";
42 Expect.isFalse(expression.evaluate(environment)); 31 Expect.isFalse(expression.evaluate(environment));
43 environment["mode"] = "debug"; 32 environment["mode"] = "debug";
44 Expect.isFalse(expression.evaluate(environment)); 33 Expect.isFalse(expression.evaluate(environment));
45 environment["arch"] = "chromium"; 34 environment["arch"] = "chromium";
46 Expect.isTrue(expression.evaluate(environment)); 35 Expect.isTrue(expression.evaluate(environment));
47 } 36 }
48 37
49 void testSyntaxError() { 38 void testSyntaxError() {
50 var input = r"($arch == (-dartc || $arch == chromium) && $mode == release"; 39 var input = r"($arch == (-dartc || $arch == chromium) && $mode == release";
51 Expect.throws(() { 40 Expect.throws(() {
52 Expression.parse(input); 41 Expression.parse(input);
53 }, (e) => e.toString() == "FormatException: Syntax error in '$input'"); 42 }, (e) => e.toString() == "FormatException: Syntax error in '$input'");
54 } 43 }
55 44
56 void testBoolean() { 45 void testBoolean() {
57 var expression = 46 var expression =
58 Expression.parse(r" $arch == ia32 && $checked || $mode == release "); 47 Expression.parse(r" $arch == ia32 && $checked || $mode == release ");
59 Expect.equals(r"((($arch == ia32) && (bool $checked)) || ($mode == release))", 48 Expect.equals(r"((($arch == ia32) && (bool $checked)) || ($mode == release))",
60 expression.toString()); 49 expression.toString());
61 50
62 // Test BooleanExpression.evaluate(). 51 // Test BooleanExpression.evaluate().
63 var environment = 52 var environment = <String, dynamic>{
64 new TestEnvironment({"arch": "ia32", "checked": "true", "mode": "debug"}); 53 "arch": "ia32",
54 "checked": true,
55 "mode": "debug"
56 };
65 57
66 Expect.isTrue(expression.evaluate(environment)); 58 Expect.isTrue(expression.evaluate(environment));
67 environment["mode"] = "release"; 59 environment["mode"] = "release";
68 Expect.isTrue(expression.evaluate(environment)); 60 Expect.isTrue(expression.evaluate(environment));
69 environment["checked"] = false; 61 environment["checked"] = false;
70 Expect.isTrue(expression.evaluate(environment)); 62 Expect.isTrue(expression.evaluate(environment));
71 environment["mode"] = "debug"; 63 environment["mode"] = "debug";
72 Expect.isFalse(expression.evaluate(environment)); 64 Expect.isFalse(expression.evaluate(environment));
73 environment["arch"] = "arm"; 65 environment["arch"] = "arm";
74 Expect.isFalse(expression.evaluate(environment)); 66 Expect.isFalse(expression.evaluate(environment));
75 environment["checked"] = true; 67 environment["checked"] = true;
76 Expect.isFalse(expression.evaluate(environment)); 68 Expect.isFalse(expression.evaluate(environment));
77 } 69 }
78 70
79 void testNotEqual() { 71 void testNotEqual() {
80 // Test the != operator. 72 // Test the != operator.
81 var expression = Expression.parse(r"$compiler == dart2js && $runtime != ie9"); 73 var expression = Expression.parse(r"$compiler == dart2js && $runtime != ie9");
82 Expect.equals( 74 Expect.equals(
83 r"(($compiler == dart2js) && ($runtime != ie9))", expression.toString()); 75 r"(($compiler == dart2js) && ($runtime != ie9))", expression.toString());
84 76
85 // Test BooleanExpression.evaluate(). 77 // Test BooleanExpression.evaluate().
86 var environment = new TestEnvironment({ 78 var environment = <String, dynamic>{
87 "compiler": "none", 79 "compiler": "none",
88 "runtime": "ie9", 80 "runtime": "ie9",
89 }); 81 };
90 82
91 Expect.isFalse(expression.evaluate(environment)); 83 Expect.isFalse(expression.evaluate(environment));
92 environment["runtime"] = "chrome"; 84 environment["runtime"] = "chrome";
93 Expect.isFalse(expression.evaluate(environment)); 85 Expect.isFalse(expression.evaluate(environment));
94 86
95 environment["compiler"] = "dart2js"; 87 environment["compiler"] = "dart2js";
96 environment["runtime"] = "ie9"; 88 environment["runtime"] = "ie9";
97 Expect.isFalse(expression.evaluate(environment)); 89 Expect.isFalse(expression.evaluate(environment));
98 environment["runtime"] = "chrome"; 90 environment["runtime"] = "chrome";
99 Expect.isTrue(expression.evaluate(environment)); 91 Expect.isTrue(expression.evaluate(environment));
100 } 92 }
OLDNEW
« no previous file with comments | « tests/standalone/standalone.status ('k') | tools/testing/dart/browser_controller.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698