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

Unified Diff: runtime/tests/vm/dart/isolate_mirror_local_test.dart

Issue 24631003: Add proper API for creating private symbols wrt a library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: maintain dart2js coverage 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
« no previous file with comments | « runtime/lib/mirrors_patch.dart ('k') | runtime/vm/bootstrap_natives.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/tests/vm/dart/isolate_mirror_local_test.dart
diff --git a/runtime/tests/vm/dart/isolate_mirror_local_test.dart b/runtime/tests/vm/dart/isolate_mirror_local_test.dart
index f544f8c2155016c542248c5874480b1e35f8e021..8f7957740565c24d138e2189bf76f2404c194c1c 100644
--- a/runtime/tests/vm/dart/isolate_mirror_local_test.dart
+++ b/runtime/tests/vm/dart/isolate_mirror_local_test.dart
@@ -124,7 +124,7 @@ void testRootLibraryMirror(LibraryMirror lib_mirror) {
lib_mirror.invokeAsync(const Symbol('function'), [123]).then(
(InstanceMirror retval) {
Expect.equals(123, global_var);
- Expect.equals(const Symbol('int'), retval.type.simpleName);
+ testImplements(retval.type, #int);
Expect.isTrue(retval.hasReflectee);
Expect.equals(124, retval.reflectee);
testDone('testRootLibraryMirror');
@@ -158,6 +158,7 @@ void testRootLibraryMirror(LibraryMirror lib_mirror) {
'testBoolInstanceMirror, '
'testCustomInstanceMirror, '
'testDone, '
+ 'testImplements, '
'testIntegerInstanceMirror, '
'testLibrariesMap, '
'testMirrorErrors, '
@@ -196,6 +197,7 @@ void testRootLibraryMirror(LibraryMirror lib_mirror) {
'testBoolInstanceMirror, '
'testCustomInstanceMirror, '
'testDone, '
+ 'testImplements, '
'testIntegerInstanceMirror, '
'testLibrariesMap, '
'testMirrorErrors, '
@@ -349,8 +351,19 @@ void testMirrorSystem(MirrorSystem mirrors) {
testDone('testMirrorSystem');
}
+void testImplements(klass, intfName) {
+ bool foundInterface = false;
+ for (ClassMirror cm = klass; cm != null; cm = cm.superclass) {
+ if (cm.simpleName == intfName) foundInterface = true;
+ cm.superinterfaces.forEach((intf) {
+ if (intf.simpleName == intfName) foundInterface = true;
+ });
+ }
+ Expect.isTrue(foundInterface, '$klass should implement $intfName');
+}
+
void testIntegerInstanceMirror(InstanceMirror mirror) {
- Expect.equals(const Symbol('int'), mirror.type.simpleName);
+ testImplements(mirror.type, #int);
Expect.isTrue(mirror.hasReflectee);
Expect.equals(1001, mirror.reflectee);
Expect.equals("InstanceMirror on 1001", mirror.toString());
@@ -358,7 +371,7 @@ void testIntegerInstanceMirror(InstanceMirror mirror) {
// Invoke (mirror + mirror).
mirror.invokeAsync(const Symbol('+'), [ mirror ]).then(
(InstanceMirror retval) {
- Expect.equals(const Symbol('int'), retval.type.simpleName);
+ testImplements(retval.type, #int);
Expect.isTrue(retval.hasReflectee);
Expect.equals(2002, retval.reflectee);
testDone('testIntegerInstanceMirror');
@@ -366,7 +379,7 @@ void testIntegerInstanceMirror(InstanceMirror mirror) {
}
void testStringInstanceMirror(InstanceMirror mirror) {
- Expect.equals(const Symbol('String'), mirror.type.simpleName);
+ testImplements(mirror.type, #String);
Expect.isTrue(mirror.hasReflectee);
Expect.equals('This\nis\na\nString', mirror.reflectee);
Expect.equals('InstanceMirror on "This\\nis\\na\\nString"',
@@ -375,7 +388,7 @@ void testStringInstanceMirror(InstanceMirror mirror) {
// Invoke mirror[0].
mirror.invokeAsync(const Symbol('[]'), [ 0 ]).then(
(InstanceMirror retval) {
- Expect.equals(const Symbol('String'), retval.type.simpleName);
+ testImplements(retval.type, #String);
Expect.isTrue(retval.hasReflectee);
Expect.equals('T', retval.reflectee);
testDone('testStringInstanceMirror');
@@ -383,7 +396,7 @@ void testStringInstanceMirror(InstanceMirror mirror) {
}
void testBoolInstanceMirror(InstanceMirror mirror) {
- Expect.equals(const Symbol('bool'), mirror.type.simpleName);
+ testImplements(mirror.type, #bool);
Expect.isTrue(mirror.hasReflectee);
Expect.equals(true, mirror.reflectee);
Expect.equals("InstanceMirror on true", mirror.toString());
@@ -391,7 +404,7 @@ void testBoolInstanceMirror(InstanceMirror mirror) {
}
void testNullInstanceMirror(InstanceMirror mirror) {
- Expect.equals(const Symbol('Null'), mirror.type.simpleName);
+ testImplements(mirror.type, #Null);
Expect.isTrue(mirror.hasReflectee);
Expect.equals(null, mirror.reflectee);
Expect.equals("InstanceMirror on null", mirror.toString());
@@ -451,7 +464,7 @@ void testCustomInstanceMirror(InstanceMirror mirror) {
// Invoke mirror.method(1000).
mirror.invokeAsync(const Symbol('method'), [ 1000 ]).then(
(InstanceMirror retval) {
- Expect.equals(const Symbol('int'), retval.type.simpleName);
+ testImplements(retval.type, #int);
Expect.isTrue(retval.hasReflectee);
Expect.equals(1017, retval.reflectee);
testDone('testCustomInstanceMirror');
« no previous file with comments | « runtime/lib/mirrors_patch.dart ('k') | runtime/vm/bootstrap_natives.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698