OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
Mads Ager (google)
2011/10/26 12:37:47
We need to create a new class of tests in dart/tes
| |
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 void main() { | |
8 TestStatusExpressions.doTests(); | |
9 } | |
10 | |
11 class TestStatusExpressions { | |
12 static void doTests() { | |
13 test_1(); | |
14 test_2(); | |
15 test_3(); | |
16 test_4(); | |
17 test_5(); | |
18 } | |
19 | |
20 static void test_1() { | |
21 Tokenizer tokenizer = new Tokenizer( | |
22 @" $mode == debug && ($arch == chromium || $arch == dartc) "); | |
23 tokenizer.tokenize(); | |
24 Expect.listEquals(tokenizer.tokens, | |
25 ["\$", "mode", "==", "debug", "&&", "(", "\$", "arch", "==", | |
26 "chromium", "||", "\$", "arch", "==", "dartc", ")"]); | |
27 ExpressionParser parser = | |
28 new ExpressionParser(new Scanner(tokenizer.tokens)); | |
29 BooleanExpression ast = parser.parseBooleanExpression(); | |
30 print(ast.toString()); | |
ngeoffray
2011/10/26 12:01:37
You should not need to call toString when giving s
Mads Ager (google)
2011/10/26 12:37:47
Just remove the print? However, you should verify
| |
31 } | |
32 | |
33 static void test_2() { | |
34 Tokenizer tokenizer = new Tokenizer( | |
35 @"($arch == dartc || $arch == chromium) && $mode == release"); | |
36 tokenizer.tokenize(); | |
37 Expect.listEquals(tokenizer.tokens, | |
38 ["(", "\$", "arch", "==", "dartc", "||", "\$", "arch", "==", "chromium", | |
39 ")", "&&", "\$", "mode", "==", "release"]); | |
Mads Ager (google)
2011/10/26 12:37:47
Parse and verify as well?
| |
40 } | |
41 | |
42 static void test_3() { | |
Mads Ager (google)
2011/10/26 12:37:47
Use Expect calls so this test can be run by the te
| |
43 Tokenizer tokenizer = new Tokenizer( | |
44 @" $mode == debug && ($arch == chromium || *$arch == dartc) "); | |
45 try { | |
46 tokenizer.tokenize(); | |
47 } catch (Exception e) { | |
48 print(e.toString()); | |
49 } | |
50 } | |
51 | |
52 static void test_4() { | |
Mads Ager (google)
2011/10/26 12:37:47
Ditto.
| |
53 Tokenizer tokenizer = new Tokenizer( | |
54 @"($arch == (-dartc || $arch == chromium) && $mode == release"); | |
55 try { | |
56 tokenizer.tokenize(); | |
57 } catch (Exception e) { | |
58 print(e.toString()); | |
59 } | |
60 } | |
61 | |
62 static void test_5() { | |
63 Tokenizer tokenizer = new Tokenizer( | |
64 @"Skip , Pass if $arch == dartc, (Fail || Timeout) if " + | |
65 @"$arch == chromium && $mode == release"); | |
66 tokenizer.tokenize(); | |
67 ExpressionParser parser = | |
68 new ExpressionParser(new Scanner(tokenizer.tokens)); | |
69 SetExpression ast = parser.parseSetExpression(); | |
70 print(ast.toString()); | |
Mads Ager (google)
2011/10/26 12:37:47
Verify the AST with Expect calls.
| |
71 | |
72 } | |
73 } | |
OLD | NEW |