OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Test of Symbol class for operators.. | 5 // Test of Symbol class for operators.. |
6 | 6 |
7 var $ = new Symbolize(); | 7 var $ = new Symbolize(); |
8 | 8 |
9 main() { | 9 main() { |
10 testSymbol(#+, $+$, "+"); | 10 testSymbol(#+, $+$, "+"); |
(...skipping 10 matching lines...) Expand all Loading... |
21 testSymbol(#^, $^$, "^"); | 21 testSymbol(#^, $^$, "^"); |
22 testSymbol(#<, $<$, "<"); | 22 testSymbol(#<, $<$, "<"); |
23 testSymbol(#<=, $<=$, "<="); | 23 testSymbol(#<=, $<=$, "<="); |
24 testSymbol(#>, $>$, ">"); | 24 testSymbol(#>, $>$, ">"); |
25 testSymbol(#>=, $>=$, ">="); | 25 testSymbol(#>=, $>=$, ">="); |
26 testSymbol(#==, new Symbol("=="), "=="); // Can't hit noSuchMethod. | 26 testSymbol(#==, new Symbol("=="), "=="); // Can't hit noSuchMethod. |
27 testSymbol(#[], $[$], "[]"); | 27 testSymbol(#[], $[$], "[]"); |
28 testSymbol(#[]=, ($[$]=$).lastMember, "[]="); | 28 testSymbol(#[]=, ($[$]=$).lastMember, "[]="); |
29 testSymbol(const Symbol("unary-"), -$, "unary-"); | 29 testSymbol(const Symbol("unary-"), -$, "unary-"); |
30 | 30 |
31 testSymbolThrows(">>>"); // /// 03: ok | 31 testSymbolThrows(">>>"); // //# 03: ok |
32 testSymbolThrows("!"); // /// 03: continued | 32 testSymbolThrows("!"); // //# 03: continued |
33 testSymbolThrows("&&"); // /// 03: continued | 33 testSymbolThrows("&&"); // //# 03: continued |
34 testSymbolThrows("||"); // /// 03: continued | 34 testSymbolThrows("||"); // //# 03: continued |
35 testSymbolThrows("?"); // /// 03: continued | 35 testSymbolThrows("?"); // //# 03: continued |
36 testSymbolThrows("?:"); // /// 03: continued | 36 testSymbolThrows("?:"); // //# 03: continued |
37 testSymbolThrows("#"); // /// 03: continued | 37 testSymbolThrows("#"); // //# 03: continued |
38 testSymbolThrows("//"); // /// 03: continued | 38 testSymbolThrows("//"); // //# 03: continued |
39 } | 39 } |
40 | 40 |
41 void testSymbol(Symbol constSymbol, var mirrorSymbol, String name) { | 41 void testSymbol(Symbol constSymbol, var mirrorSymbol, String name) { |
42 Symbol dynamicSymbol = new Symbol(name); | 42 Symbol dynamicSymbol = new Symbol(name); |
43 if (constSymbol != mirrorSymbol) { | 43 if (constSymbol != mirrorSymbol) { |
44 throw "Not equal #$name, \$$name: $constSymbol, $mirrorSymbol"; | 44 throw "Not equal #$name, \$$name: $constSymbol, $mirrorSymbol"; |
45 } | 45 } |
46 if (constSymbol != dynamicSymbol) { | 46 if (constSymbol != dynamicSymbol) { |
47 throw "Not equal #$name, new Symbol('$name'): $constSymbol, $dynamicSymbol"; | 47 throw "Not equal #$name, new Symbol('$name'): $constSymbol, $dynamicSymbol"; |
48 } | 48 } |
(...skipping 23 matching lines...) Expand all Loading... |
72 } | 72 } |
73 if (!fails) { | 73 if (!fails) { |
74 throw "Didn't throw: $name"; | 74 throw "Didn't throw: $name"; |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 class Symbolize { | 78 class Symbolize { |
79 Symbol lastMember; | 79 Symbol lastMember; |
80 noSuchMethod(m) => lastMember = m.memberName; | 80 noSuchMethod(m) => lastMember = m.memberName; |
81 } | 81 } |
OLD | NEW |