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 { |
11 get a() { | 11 get a { |
12 Expect.equals(1, counter); | 12 Expect.equals(1, counter); |
13 counter++; | 13 counter++; |
14 return (c) { }; | 14 return (c) { }; |
15 } | 15 } |
16 | 16 |
17 b() { | 17 b() { |
18 Expect.equals(0, counter); | 18 Expect.equals(0, counter); |
19 counter++; | 19 counter++; |
20 return 1; | 20 return 1; |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 class Test2 { | 24 class Test2 { |
25 static get a() { | 25 static get a { |
26 Expect.equals(0, counter); | 26 Expect.equals(0, counter); |
27 counter++; | 27 counter++; |
28 return (c) { }; | 28 return (c) { }; |
29 } | 29 } |
30 | 30 |
31 static b() { | 31 static b() { |
32 Expect.equals(1, counter); | 32 Expect.equals(1, counter); |
33 counter++; | 33 counter++; |
34 return 1; | 34 return 1; |
35 } | 35 } |
36 } | 36 } |
37 | 37 |
38 get a() { | 38 get a { |
39 Expect.equals(0, counter); | 39 Expect.equals(0, counter); |
40 counter++; | 40 counter++; |
41 return (c) { }; | 41 return (c) { }; |
42 } | 42 } |
43 | 43 |
44 b() { | 44 b() { |
45 Expect.equals(1, counter); | 45 Expect.equals(1, counter); |
46 counter++; | 46 counter++; |
47 return 1; | 47 return 1; |
48 } | 48 } |
(...skipping 29 matching lines...) Expand all Loading... |
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 |