Chromium Code Reviews| Index: dart/tests/language/super_closure_test.dart |
| diff --git a/dart/tests/language/super_closure_test.dart b/dart/tests/language/super_closure_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..01331587877111dba17ca4fca8c490c69ea6be80 |
| --- /dev/null |
| +++ b/dart/tests/language/super_closure_test.dart |
| @@ -0,0 +1,25 @@ |
| +// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +// Dart test program for testing access to super from closure. |
| + |
| +class Super { |
| + int superX = "super"; |
| + get x() => superX; |
|
ahe
2012/05/31 08:55:08
On a related note: we don't generate the correct c
|
| +} |
| + |
| +class Sub extends Super { |
| + var subX = "sub"; |
| + get x() => subX; |
| + |
| + buildClosures() => [() => x, () => this.x, () => super.x]; |
| +} |
| + |
| +main() { |
| + var closures = new Sub().buildClosures(); |
| + Expect.equals(3, closures.length); |
| + Expect.equals("sub", closures[0]()); |
| + Expect.equals("sub", closures[1]()); |
| + Expect.equals("super", closures[2]()); |
| +} |