OLD | NEW |
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 // Test that a getter is evaluated after the arguments, when a getter is | 5 // Test that a getter is evaluated after the arguments, when a getter is |
6 // for invoking a method. See chapter 'Method Invocation' in specification. | 6 // for invoking a method. See chapter 'Method Invocation' in specification. |
7 | 7 |
8 var counter = 0; | 8 var counter = 0; |
9 | 9 |
10 class Test1 { | 10 class Test1 { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 } | 48 } |
49 | 49 |
50 main() { | 50 main() { |
51 var failures = []; | 51 var failures = []; |
52 try { | 52 try { |
53 // Check instance getters. | 53 // Check instance getters. |
54 counter = 0; | 54 counter = 0; |
55 var o = new Test1(); | 55 var o = new Test1(); |
56 o.a(o.b()); | 56 o.a(o.b()); |
57 Expect.equals(2, counter); | 57 Expect.equals(2, counter); |
58 } catch (var exc, var stack) { | 58 } catch (exc, stack) { |
59 failures.add(exc); | 59 failures.add(exc); |
60 failures.add(stack); | 60 failures.add(stack); |
61 } | 61 } |
62 try { | 62 try { |
63 // Check static getters. | 63 // Check static getters. |
64 counter = 0; | 64 counter = 0; |
65 Test2.a(Test2.b()); | 65 Test2.a(Test2.b()); |
66 Expect.equals(2, counter); | 66 Expect.equals(2, counter); |
67 } catch (var exc, var stack) { | 67 } catch (exc, stack) { |
68 failures.add(exc); | 68 failures.add(exc); |
69 failures.add(stack); | 69 failures.add(stack); |
70 } | 70 } |
71 try { | 71 try { |
72 // Check top-level getters. | 72 // Check top-level getters. |
73 counter = 0; | 73 counter = 0; |
74 a(b()); | 74 a(b()); |
75 Expect.equals(2, counter); | 75 Expect.equals(2, counter); |
76 } catch (var exc, var stack) { | 76 } catch (exc, stack) { |
77 failures.add(exc); | 77 failures.add(exc); |
78 failures.add(stack); | 78 failures.add(stack); |
79 } | 79 } |
80 // If any of the tests failed print out the details and fail the test. | 80 // If any of the tests failed print out the details and fail the test. |
81 if (failures.length != 0) { | 81 if (failures.length != 0) { |
82 for (var msg in failures) { | 82 for (var msg in failures) { |
83 print(msg.toString()); | 83 print(msg.toString()); |
84 } | 84 } |
85 throw "${failures.length ~/ 2} tests failed."; | 85 throw "${failures.length ~/ 2} tests failed."; |
86 } | 86 } |
87 } | 87 } |
OLD | NEW |