Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Unified Diff: tests/lib/mirrors/fake_function_test.dart

Issue 26777002: Test reflecting on an object that implements Function but has no call method. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/lib/mirrors/fake_function_test.dart
diff --git a/tests/lib/mirrors/fake_function_test.dart b/tests/lib/mirrors/fake_function_test.dart
deleted file mode 100644
index 058a5675ffda20ee449e051a4440acdfa3763825..0000000000000000000000000000000000000000
--- a/tests/lib/mirrors/fake_function_test.dart
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (c) 2013, 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 "dart:mirrors";
-
-import "package:expect/expect.dart";
-
-class WannabeFunction {
- int call(int a, int b) => a + b;
- method(x) => x * x;
-}
-
-main() {
- Expect.isTrue(new WannabeFunction() is Function);
-
- ClosureMirror cm = reflect(new WannabeFunction());
- Expect.equals(7, cm.invoke(#call, [3,4]).reflectee);
- Expect.throws(() => cm.invoke(#call, [3]),
- (e) => e is NoSuchMethodError,
- "Wrong arity");
- Expect.equals(49, cm.invoke(#method, [7]).reflectee);
- Expect.throws(() => cm.invoke(#method, [3, 4]),
- (e) => e is NoSuchMethodError,
- "Wrong arity");
- Expect.equals(7, cm.apply([3,4]).reflectee);
- Expect.throws(() => cm.apply([3]),
- (e) => e is NoSuchMethodError,
- "Wrong arity");
-
- MethodMirror mm = cm.function;
- Expect.equals(#call, mm.simpleName);
- Expect.equals(reflectClass(WannabeFunction), mm.owner);
- Expect.isTrue(mm.isRegularMethod);
- Expect.equals(#int, mm.returnType.simpleName);
- Expect.equals(#int, mm.parameters[0].type.simpleName);
- Expect.equals(#int, mm.parameters[1].type.simpleName);
-
- ClassMirror km = cm.type;
- Expect.equals(reflectClass(WannabeFunction), km);
- Expect.equals(#WannabeFunction, km.simpleName);
- Expect.equals(mm, km.members[#call]);
- Expect.setEquals([#call, #method], km.members.keys);
-}

Powered by Google App Engine
This is Rietveld 408576698