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

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

Issue 19576003: Implement invocation of statics. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add comment and update status file. Created 7 years, 5 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
« no previous file with comments | « dart/tests/compiler/dart2js_extra/mirrors_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart/tests/lib/mirrors/mirrors_test.dart
diff --git a/dart/tests/lib/mirrors/mirrors_test.dart b/dart/tests/lib/mirrors/mirrors_test.dart
index 295dff37c05de5b33ef9b023439d1e4b9a8188cb..1b9a999ca1221edc547012300bcfde57e08aaa3f 100644
--- a/dart/tests/lib/mirrors/mirrors_test.dart
+++ b/dart/tests/lib/mirrors/mirrors_test.dart
@@ -6,6 +6,9 @@ library MirrorsTest;
import "dart:mirrors";
import "../../../pkg/unittest/lib/unittest.dart";
+bool isDart2js = false; // TODO(ahe): Remove this field.
+bool isMinified = false; // TODO(ahe): Remove this field.
+
var topLevelField;
u(a, b, c) => {"a": a, "b": b, "c": c};
_v(a, b) => a + b;
@@ -31,7 +34,7 @@ class Class<T> {
typedef Typedef();
-testInvoke(mirrors, isDart2js) {
+testInvoke(mirrors) {
var instance = new Class();
var instMirror = reflect(instance);
@@ -45,8 +48,6 @@ testInvoke(mirrors, isDart2js) {
// expect(instMirror.invoke(const Symbol("_n"), [3, 4]).reflectee,
// equals(7));
- if (isDart2js) return;
-
var classMirror = instMirror.type;
expect(classMirror.invoke(const Symbol("s"),['A', 'B', instance]).reflectee,
equals({"a": 'A', "b":'B', "c": instance}));
@@ -58,6 +59,8 @@ testInvoke(mirrors, isDart2js) {
// expect(classMirror.invoke(const Symbol("_t"), [3, 4]).reflectee,
// equals(7));
+ if (isDart2js) return;
+
var libMirror = classMirror.owner;
expect(libMirror.invoke(const Symbol("u"),['A', 'B', instance]).reflectee,
equals({"a": 'A', "b":'B', "c": instance}));
@@ -113,21 +116,24 @@ testFieldAccess(mirrors) {
var classMirror = libMirror.classes[const Symbol("Class")];
var instMirror = reflect(instance);
var fieldMirror = classMirror.members[const Symbol('field')];
+ var future;
expect(fieldMirror is VariableMirror, isTrue);
expect(fieldMirror.type, equals(mirrors.dynamicType));
- libMirror.setField(const Symbol('topLevelField'), [91]);
- expect(libMirror.getField(const Symbol('topLevelField')).reflectee,
- equals([91]));
- expect(topLevelField, equals([91]));
-
- libMirror.setFieldAsync(const Symbol('topLevelField'), 42);
- var future = libMirror.getFieldAsync(const Symbol('topLevelField'));
- future.then(expectAsync1((resultMirror) {
- expect(resultMirror.reflectee, equals(42));
- expect(topLevelField, equals(42));
- }));
+ if (!isMinified) {
+ libMirror.setField(const Symbol('topLevelField'), [91]);
+ expect(libMirror.getField(const Symbol('topLevelField')).reflectee,
+ equals([91]));
+ expect(topLevelField, equals([91]));
+
+ libMirror.setFieldAsync(const Symbol('topLevelField'), 42);
+ future = libMirror.getFieldAsync(const Symbol('topLevelField'));
+ future.then(expectAsync1((resultMirror) {
+ expect(resultMirror.reflectee, equals(42));
+ expect(topLevelField, equals(42));
+ }));
+ }
classMirror.setFieldAsync(const Symbol('staticField'), 43);
future = classMirror.getFieldAsync(const Symbol('staticField'));
@@ -163,7 +169,7 @@ testClosureMirrors(mirrors) {
}));
}
-testInvokeConstructor(mirrors, isDart2js) {
+testInvokeConstructor(mirrors) {
var classMirror = reflectClass(Class);
var instanceMirror = classMirror.newInstance(const Symbol(''),[]);
@@ -186,16 +192,14 @@ testInvokeConstructor(mirrors, isDart2js) {
expect(instanceMirror.reflectee is Class, equals(true));
expect(instanceMirror.reflectee.field, equals(16));
+ instanceMirror = classMirror.newInstance(const Symbol('faktory'),
+ [9]);
+ expect(instanceMirror.reflectee is Class, equals(true));
+ expect(instanceMirror.reflectee.field, equals(27));
+ instanceMirror = classMirror.newInstance(const Symbol('redirectingFactory'),
+ [10]);
if (!isDart2js) {
- instanceMirror = classMirror.newInstance(const Symbol('faktory'),
- [9]);
- expect(instanceMirror.reflectee is Class, equals(true));
- expect(instanceMirror.reflectee.field, equals(27));
-
-
- instanceMirror = classMirror.newInstance(const Symbol('redirectingFactory'),
- [10]);
expect(instanceMirror.reflectee is Class, equals(true));
expect(instanceMirror.reflectee.field, equals(30));
}
@@ -222,12 +226,13 @@ testReflectClass(mirrors) {
var symbolClassMirror = reflectClass(Symbol);
var symbolMirror = symbolClassMirror.newInstance(const Symbol(''),
['withInitialValue']);
+ if (isDart2js) return;
var objectMirror = classMirror.newInstance(symbolMirror.reflectee,[1234]);
expect(objectMirror.reflectee is Class, equals(true));
expect(objectMirror.reflectee.field, equals(1234));
}
-testNames(mirrors, isDart2js) {
+testNames(mirrors) {
var libMirror = mirrors.findLibrary(const Symbol("MirrorsTest")).single;
var classMirror = libMirror.classes[const Symbol('Class')];
var typedefMirror = libMirror.members[const Symbol('Typedef')];
@@ -267,17 +272,14 @@ testLibraryUri(var value, bool check(Uri)) {
expect(check(valueLibrary.uri), isTrue);
}
-mainWithArgument({bool isDart2js: false, bool isMinified: false}) {
+main() {
var mirrors = currentMirrorSystem();
- test("Test reflective method invocation", () { testInvoke(mirrors,
- isDart2js); });
+ test("Test reflective method invocation", () { testInvoke(mirrors); });
test("Test instance field access", () { testInstanceFieldAccess(mirrors); });
test('Test intercepted objects', () { testIntercepted(mirrors); });
- if (!isMinified) // TODO(ahe): Remove this line.
test("Test field access", () { testFieldAccess(mirrors); });
test("Test closure mirrors", () { testClosureMirrors(mirrors); });
- test("Test invoke constructor", () { testInvokeConstructor(mirrors,
- isDart2js); });
+ test("Test invoke constructor", () { testInvokeConstructor(mirrors); });
test("Test current library uri", () {
testLibraryUri(new Class(),
(Uri uri) => uri.path.endsWith('/mirrors_test.dart'));
@@ -285,12 +287,6 @@ mainWithArgument({bool isDart2js: false, bool isMinified: false}) {
test("Test dart library uri", () {
testLibraryUri("test", (Uri uri) => uri == Uri.parse('dart:core'));
});
- if (!isMinified) // TODO(ahe): Remove this line.
- test("Test simple and qualifiedName", () { testNames(mirrors, isDart2js); });
- if (isDart2js) return; // TODO(ahe): Remove this line.
+ test("Test simple and qualifiedName", () { testNames(mirrors); });
test("Test reflect type", () { testReflectClass(mirrors); });
}
-
-main() {
- mainWithArgument();
-}
« no previous file with comments | « dart/tests/compiler/dart2js_extra/mirrors_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698