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

Side by Side Diff: dart/tests/lib/mirrors/mirrors_test.dart

Issue 16097002: Implement simple name and qualified name. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // TODO(rmacnak): Move the existing mirror tests here (a place for 5 // TODO(rmacnak): Move the existing mirror tests here (a place for
6 // cross-implementation tests). 6 // cross-implementation tests).
7 7
8 library MirrorsTest; 8 library MirrorsTest;
9 import "dart:mirrors"; 9 import "dart:mirrors";
10 import "../../../pkg/unittest/lib/unittest.dart"; 10 import "../../../pkg/unittest/lib/unittest.dart";
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 var classMirror = reflectClass(Class); 154 var classMirror = reflectClass(Class);
155 expect(classMirror is ClassMirror, equals(true)); 155 expect(classMirror is ClassMirror, equals(true));
156 var symbolClassMirror = reflectClass(Symbol); 156 var symbolClassMirror = reflectClass(Symbol);
157 var symbolMirror = symbolClassMirror.newInstance(const Symbol(''), 157 var symbolMirror = symbolClassMirror.newInstance(const Symbol(''),
158 ['withInitialValue']); 158 ['withInitialValue']);
159 var objectMirror = classMirror.newInstance(symbolMirror.reflectee,[1234]); 159 var objectMirror = classMirror.newInstance(symbolMirror.reflectee,[1234]);
160 expect(objectMirror.reflectee is Class, equals(true)); 160 expect(objectMirror.reflectee is Class, equals(true));
161 expect(objectMirror.reflectee.field, equals(1234)); 161 expect(objectMirror.reflectee.field, equals(1234));
162 } 162 }
163 163
164 testNames(mirrors) { 164 testNames(mirrors, isDart2js) {
165 var libMirror = mirrors.findLibrary(const Symbol("MirrorsTest")).single; 165 var libMirror = mirrors.findLibrary(const Symbol("MirrorsTest")).single;
166 var classMirror = libMirror.classes[const Symbol('Class')]; 166 var classMirror = libMirror.classes[const Symbol('Class')];
167 var typedefMirror = libMirror.members[const Symbol('Typedef')]; 167 var typedefMirror = libMirror.members[const Symbol('Typedef')];
168 var methodMirror = libMirror.functions[const Symbol('testNames')]; 168 var methodMirror = libMirror.functions[const Symbol('testNames')];
169 var variableMirror = classMirror.variables[const Symbol('field')]; 169 var variableMirror = classMirror.variables[const Symbol('field')];
170 170
171 expect(libMirror.simpleName, equals(const Symbol('MirrorsTest'))); 171 expect(libMirror.simpleName, equals(const Symbol('MirrorsTest')));
172 expect(libMirror.qualifiedName, equals(const Symbol('MirrorsTest'))); 172 expect(libMirror.qualifiedName, equals(const Symbol('MirrorsTest')));
173 173
174 expect(classMirror.simpleName, equals(const Symbol('Class'))); 174 expect(classMirror.simpleName, equals(const Symbol('Class')));
175 expect(classMirror.qualifiedName, equals(const Symbol('MirrorsTest.Class'))); 175 expect(classMirror.qualifiedName, equals(const Symbol('MirrorsTest.Class')));
176 176
177 TypeVariableMirror typeVariable = classMirror.typeVariables.values.single; 177 if (!isDart2js) { // TODO(ahe): Implement this in dart2js.
178 expect(typeVariable.simpleName, equals(const Symbol('T'))); 178 TypeVariableMirror typeVariable = classMirror.typeVariables.values.single;
179 expect(typeVariable.qualifiedName, 179 expect(typeVariable.simpleName, equals(const Symbol('T')));
180 equals(const Symbol('MirrorsTest.Class.T'))); 180 expect(typeVariable.qualifiedName,
181 equals(const Symbol('MirrorsTest.Class.T')));
181 182
182 expect(typedefMirror.simpleName, equals(const Symbol('Typedef'))); 183 expect(typedefMirror.simpleName, equals(const Symbol('Typedef')));
183 expect(typedefMirror.qualifiedName, 184 expect(typedefMirror.qualifiedName,
184 equals(const Symbol('MirrorsTest.Typedef'))); 185 equals(const Symbol('MirrorsTest.Typedef')));
186 }
185 187
186 expect(methodMirror.simpleName, equals(const Symbol('testNames'))); 188 expect(methodMirror.simpleName, equals(const Symbol('testNames')));
187 expect(methodMirror.qualifiedName, 189 expect(methodMirror.qualifiedName,
188 equals(const Symbol('MirrorsTest.testNames'))); 190 equals(const Symbol('MirrorsTest.testNames')));
189 191
190 expect(variableMirror.simpleName, equals(const Symbol('field'))); 192 expect(variableMirror.simpleName, equals(const Symbol('field')));
191 expect(variableMirror.qualifiedName, 193 expect(variableMirror.qualifiedName,
192 equals(const Symbol('MirrorsTest.Class.field'))); 194 equals(const Symbol('MirrorsTest.Class.field')));
193 } 195 }
194 196
(...skipping 12 matching lines...) Expand all
207 test("Test field access", () { testFieldAccess(mirrors); }); 209 test("Test field access", () { testFieldAccess(mirrors); });
208 test("Test closure mirrors", () { testClosureMirrors(mirrors); }); 210 test("Test closure mirrors", () { testClosureMirrors(mirrors); });
209 test("Test invoke constructor", () { testInvokeConstructor(mirrors); }); 211 test("Test invoke constructor", () { testInvokeConstructor(mirrors); });
210 test("Test current library uri", () { 212 test("Test current library uri", () {
211 testLibraryUri(new Class(), 213 testLibraryUri(new Class(),
212 (Uri uri) => uri.path.endsWith('/mirrors_test.dart')); 214 (Uri uri) => uri.path.endsWith('/mirrors_test.dart'));
213 }); 215 });
214 test("Test dart library uri", () { 216 test("Test dart library uri", () {
215 testLibraryUri("test", (Uri uri) => uri == Uri.parse('dart:core')); 217 testLibraryUri("test", (Uri uri) => uri == Uri.parse('dart:core'));
216 }); 218 });
217 if (isDart2js) return; 219 test("Test simple and qualifiedName", () { testNames(mirrors, isDart2js); });
220 if (isDart2js) return; // TODO(ahe): Remove this line.
kasperl 2013/05/27 12:15:33 Almost there.
218 test("Test reflect type", () { testReflectClass(mirrors); }); 221 test("Test reflect type", () { testReflectClass(mirrors); });
219 test("Test simple and qualifiedName", () { testNames(mirrors); });
220 } 222 }
221 223
222 main() { 224 main() {
223 mainWithArgument(isDart2js: false); 225 mainWithArgument(isDart2js: false);
224 } 226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698