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

Side by Side Diff: tools/testing/dart/test_status_expressions.dart

Issue 8394043: Start adding files for Dart version of test script test.py. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed comments, added and tested boolean variables. Created 9 years, 1 month 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
OLDNEW
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
Mads Ager (google) 2011/10/27 07:07:47 This file should be moved to tests/standalone/Test
William Hesse 2011/10/27 15:04:35 Done.
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.
4
5 #import("status_expressions_lib.dart");
6
7 main() {
Mads Ager (google) 2011/10/27 07:07:47 I would move main to the bottom of the file. I bel
William Hesse 2011/10/27 15:04:35 Done.
8 TestStatusExpressions.doTests();
9 }
10
11 class TestStatusExpressions {
12 static void doTests() {
13 test_1();
kasperl 2011/10/27 10:43:31 camelCase -- no underscores
14 test_2();
15 test_3();
16 test_4();
17 test_5();
18 test_6();
19 }
20
21 static void test_1() {
22 Tokenizer tokenizer = new Tokenizer(
23 @" $mode == debug && ($arch == chromium || $arch == dartc) ");
24 tokenizer.tokenize();
25 Expect.listEquals(tokenizer.tokens,
26 ["\$", "mode", "==", "debug", "&&", "(", "\$", "arch", "==",
27 "chromium", "||", "\$", "arch", "==", "dartc", ")"]);
28 ExpressionParser parser =
29 new ExpressionParser(new Scanner(tokenizer.tokens));
30 BooleanExpression ast = parser.parseBooleanExpression();
31 Expect.equals(
32 @"(($mode == debug) && (($arch == chromium) || ($arch == dartc)))",
33 ast.toString());
Mads Ager (google) 2011/10/27 07:07:47 For all of the ASTs that we generate we should cal
William Hesse 2011/10/27 15:04:35 Done.
34 }
35
36 static void test_2() {
37 Tokenizer tokenizer = new Tokenizer(
38 @"($arch == dartc || $arch == chromium) && $mode == release");
39 tokenizer.tokenize();
40 Expect.listEquals(tokenizer.tokens,
41 ["(", "\$", "arch", "==", "dartc", "||", "\$", "arch", "==", "chromium",
42 ")", "&&", "\$", "mode", "==", "release"]);
43 }
44
45 static void test_3() {
46 var thrown;
47 Tokenizer tokenizer = new Tokenizer(
48 @" $mode == debug && ($arch == chromium || *$arch == dartc) ");
Mads Ager (google) 2011/10/27 07:07:47 Extract this string into a variable and use it in
William Hesse 2011/10/27 15:04:35 Done.
49 try {
50 tokenizer.tokenize();
51 } catch (Exception e) {
52 thrown = e;
53 }
54 Expect.equals(
55 @"Syntax error in ' $mode == debug && ($arch == chromium || *$arch == " +
56 @"dartc) '",
57 thrown.toString());
58 }
59
60 static void test_4() {
61 var thrown;
62 Tokenizer tokenizer = new Tokenizer(
63 @"($arch == (-dartc || $arch == chromium) && $mode == release");
Mads Ager (google) 2011/10/27 07:07:47 Same here.
William Hesse 2011/10/27 15:04:35 Done.
64 try {
65 tokenizer.tokenize();
66 } catch (Exception e) {
67 thrown = e;
68 }
69 Expect.equals(
70 @"Syntax error in '($arch == (-dartc || $arch == chromium) && " +
71 @"$mode == release'",
72 thrown.toString());
73 }
74
75 static void test_5() {
76 Tokenizer tokenizer = new Tokenizer(
77 @"Skip , Pass if $arch == dartc, Fail || Timeout if " +
78 @"$arch == chromium && $mode == release");
79 tokenizer.tokenize();
80 ExpressionParser parser =
81 new ExpressionParser(new Scanner(tokenizer.tokens));
82 SetExpression ast = parser.parseSetExpression();
83 Expect.equals(
84 @"((Skip || (Pass if ($arch == dartc))) || ((Fail || Timeout) " +
85 @"if (($arch == chromium) && ($mode == release))))",
86 ast.toString());
87 }
88
89 static void test_6() {
90 Tokenizer tokenizer = new Tokenizer(
91 @" $arch == ia32 && $checked || $mode == release ");
92 tokenizer.tokenize();
93 ExpressionParser parser =
94 new ExpressionParser(new Scanner(tokenizer.tokens));
95 BooleanExpression ast = parser.parseBooleanExpression();
96 Expect.equals(
97 @"((($arch == ia32) && (bool $checked)) || ($mode == release))",
98 ast.toString());
99 }
100 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698