Index: tests/language_strong/call_through_getter_test.dart |
diff --git a/tests/language_strong/call_through_getter_test.dart b/tests/language_strong/call_through_getter_test.dart |
deleted file mode 100644 |
index e7eac4a4ed838ca1e168be6d883bcd87007fccb0..0000000000000000000000000000000000000000 |
--- a/tests/language_strong/call_through_getter_test.dart |
+++ /dev/null |
@@ -1,210 +0,0 @@ |
-// 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. |
- |
-import "package:expect/expect.dart"; |
- |
-// Tests that we can call functions through getters. |
- |
-const TOP_LEVEL_CONST = 1; |
-const TOP_LEVEL_CONST_REF = TOP_LEVEL_CONST; |
-const TOP_LEVEL_NULL = null; |
- |
-var topLevel; |
- |
-class CallThroughGetterTest { |
- static void testMain() { |
- testTopLevel(); |
- testField(); |
- testGetter(); |
- testMethod(); |
- testEvaluationOrder(); |
- } |
- |
- static void testTopLevel() { |
- topLevel = () { |
- return 2; |
- }; |
- Expect.equals(1, TOP_LEVEL_CONST); |
- Expect.equals(1, TOP_LEVEL_CONST_REF); |
- Expect.equals(2, topLevel()); |
- |
- expectThrowsNoSuchMethod(() { |
- TOP_LEVEL_CONST(); //# static type warning |
- }); |
- expectThrowsNoSuchMethod(() { |
- (TOP_LEVEL_CONST)(); // //# static type warning |
- }); |
- } |
- |
- static void testField() { |
- A a = new A(); |
- a.field = () => 42; |
- Expect.equals(42, a.field()); |
- Expect.equals(42, (a.field)()); |
- |
- a.field = () => 87; |
- Expect.equals(87, a.field()); |
- Expect.equals(87, (a.field)()); |
- |
- a.field = 99; |
- expectThrowsNoSuchMethod(() { |
- a.field(); |
- }); |
- expectThrowsNoSuchMethod(() { |
- (a.field)(); |
- }); |
- } |
- |
- static void testGetter() { |
- A a = new A(); |
- a.field = () => 42; |
- Expect.equals(42, a.getter()); |
- Expect.equals(42, (a.getter)()); |
- |
- a.field = () => 87; |
- Expect.equals(87, a.getter()); |
- Expect.equals(87, (a.getter)()); |
- |
- a.field = 99; |
- expectThrowsNoSuchMethod(() { |
- a.getter(); |
- }); |
- expectThrowsNoSuchMethod(() { |
- (a.getter)(); |
- }); |
- } |
- |
- static void testMethod() { |
- A a = new A(); |
- a.field = () => 42; |
- Expect.equals(true, a.method() is Function); |
- Expect.equals(42, a.method()()); |
- |
- a.field = () => 87; |
- Expect.equals(true, a.method() is Function); |
- Expect.equals(87, a.method()()); |
- |
- a.field = null; |
- Expect.equals(null, a.method()); |
- } |
- |
- static void testEvaluationOrder() { |
- B b = new B(); |
- Expect.equals("gf", b.g0()); |
- b = new B(); |
- Expect.equals("gf", (b.g0)()); |
- |
- b = new B(); |
- Expect.equals("xgf", b.g1(b.x)); |
- b = new B(); |
- Expect.equals("gxf", (b.g1)(b.x)); |
- |
- b = new B(); |
- Expect.equals("xygf", b.g2(b.x, b.y)); |
- b = new B(); |
- Expect.equals("gxyf", (b.g2)(b.x, b.y)); |
- |
- b = new B(); |
- Expect.equals("xyzgf", b.g3(b.x, b.y, b.z)); |
- b = new B(); |
- Expect.equals("gxyzf", (b.g3)(b.x, b.y, b.z)); |
- |
- b = new B(); |
- Expect.equals("yzxgf", b.g3(b.y, b.z, b.x)); |
- b = new B(); |
- Expect.equals("gyzxf", (b.g3)(b.y, b.z, b.x)); |
- } |
- |
- static expectThrowsNoSuchMethod(fn) { |
- var exception = catchException(fn); |
- if (exception is! NoSuchMethodError) { |
- Expect.fail("Wrong exception. Expected: NoSuchMethodError" |
- " got: ${exception}"); |
- } |
- } |
- |
- static catchException(fn) { |
- bool caught = false; |
- var result = null; |
- try { |
- fn(); |
- Expect.equals(true, false); // Shouldn't reach this. |
- } catch (e) { |
- caught = true; |
- result = e; |
- } |
- Expect.equals(true, caught); |
- return result; |
- } |
-} |
- |
-class A { |
- A() {} |
- var field; |
- get getter { |
- return field; |
- } |
- |
- method() { |
- return field; |
- } |
-} |
- |
-class B { |
- B() : _order = new StringBuffer("") {} |
- |
- get g0 { |
- _mark('g'); |
- return () { |
- return _mark('f'); |
- }; |
- } |
- |
- get g1 { |
- _mark('g'); |
- return (x) { |
- return _mark('f'); |
- }; |
- } |
- |
- get g2 { |
- _mark('g'); |
- return (x, y) { |
- return _mark('f'); |
- }; |
- } |
- |
- get g3 { |
- _mark('g'); |
- return (x, y, z) { |
- return _mark('f'); |
- }; |
- } |
- |
- get x { |
- _mark('x'); |
- return 0; |
- } |
- |
- get y { |
- _mark('y'); |
- return 1; |
- } |
- |
- get z { |
- _mark('z'); |
- return 2; |
- } |
- |
- _mark(m) { |
- _order.write(m); |
- return _order.toString(); |
- } |
- |
- StringBuffer _order; |
-} |
- |
-main() { |
- CallThroughGetterTest.testMain(); |
-} |