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

Side by Side Diff: tests/compiler/dart2js/mirrors_test.dart

Issue 13797002: Change MirrorSystem.libraries to Map<Uri, String> (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 7 years, 8 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
« no previous file with comments | « tests/compiler/dart2js/mirrors_metadata_test.dart ('k') | utils/apidoc/apidoc.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 import "package:expect/expect.dart"; 5 import "package:expect/expect.dart";
6 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ; 6 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart' ;
7 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util. dart'; 7 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util. dart';
8 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart'; 8 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirro r.dart';
9 9
10 import 'dart:io'; 10 import 'dart:io';
11 import 'dart:uri';
12
13 const Uri DART_MIRRORS_URI =
14 const Uri.fromComponents(scheme: 'dart', path: 'mirrors');
11 15
12 int count(Iterable iterable) { 16 int count(Iterable iterable) {
13 var count = 0; 17 var count = 0;
14 for (var element in iterable) { 18 for (var element in iterable) {
15 count++; 19 count++;
16 } 20 }
17 return count; 21 return count;
18 } 22 }
19 23
20 bool containsType(TypeMirror expected, Iterable<TypeMirror> iterable) { 24 bool containsType(TypeMirror expected, Iterable<TypeMirror> iterable) {
21 for (var element in iterable) { 25 for (var element in iterable) {
22 if (element.originalDeclaration == expected.originalDeclaration) { 26 if (element.originalDeclaration == expected.originalDeclaration) {
23 return true; 27 return true;
24 } 28 }
25 } 29 }
26 return false; 30 return false;
27 } 31 }
28 32
29 DeclarationMirror findMirror(List<DeclarationMirror> list, String name) { 33 DeclarationMirror findMirror(Iterable<DeclarationMirror> list, String name) {
30 for (DeclarationMirror mirror in list) { 34 for (DeclarationMirror mirror in list) {
31 if (mirror.simpleName == name) { 35 if (mirror.simpleName == name) {
32 return mirror; 36 return mirror;
33 } 37 }
34 } 38 }
35 return null; 39 return null;
36 } 40 }
37 41
38 main() { 42 main() {
39 var scriptPath = new Path(new Options().script); 43 var scriptPath = new Path(new Options().script);
40 var dirPath = scriptPath.directoryPath; 44 var dirPath = scriptPath.directoryPath;
41 var libPath = dirPath.join(new Path('../../../sdk/')); 45 var libPath = dirPath.join(new Path('../../../sdk/'));
42 var inputPath = dirPath.join(new Path('mirrors_helper.dart')); 46 var inputPath = dirPath.join(new Path('mirrors_helper.dart'));
43 var result = analyze([inputPath], libPath, 47 var result = analyze([inputPath], libPath,
44 options: <String>['--preserve-comments']); 48 options: <String>['--preserve-comments']);
45 result.then((MirrorSystem mirrors) { 49 result.then((MirrorSystem mirrors) {
46 test(mirrors); 50 test(mirrors);
47 }); 51 });
48 } 52 }
49 53
50 void test(MirrorSystem mirrors) { 54 void test(MirrorSystem mirrors) {
51 Expect.isNotNull(mirrors, "No mirror system returned from compilation"); 55 Expect.isNotNull(mirrors, "No mirror system returned from compilation");
52 56
53 var libraries = mirrors.libraries; 57 var libraries = mirrors.libraries;
54 Expect.isNotNull(libraries, "No libraries map returned"); 58 Expect.isNotNull(libraries, "No libraries map returned");
55 Expect.isFalse(libraries.isEmpty, "Empty libraries map returned"); 59 Expect.isFalse(libraries.isEmpty, "Empty libraries map returned");
56 60
57 var helperLibrary = libraries["mirrors_helper"]; 61 var helperLibrary = findMirror(libraries.values, "mirrors_helper");
58 Expect.isNotNull(helperLibrary, "Library 'mirrors_helper' not found"); 62 Expect.isNotNull(helperLibrary, "Library 'mirrors_helper' not found");
59 Expect.stringEquals("mirrors_helper", helperLibrary.simpleName, 63 Expect.stringEquals("mirrors_helper", helperLibrary.simpleName,
60 "Unexpected library simple name"); 64 "Unexpected library simple name");
61 Expect.stringEquals("mirrors_helper", helperLibrary.qualifiedName, 65 Expect.stringEquals("mirrors_helper", helperLibrary.qualifiedName,
62 "Unexpected library qualified name"); 66 "Unexpected library qualified name");
67 Expect.equals(helperLibrary, mirrors.findLibrary('mirrors_helper').single);
63 68
64 var helperLibraryLocation = helperLibrary.location; 69 var helperLibraryLocation = helperLibrary.location;
65 Expect.isNotNull(helperLibraryLocation); 70 Expect.isNotNull(helperLibraryLocation);
66 Expect.equals(271, helperLibraryLocation.offset, "Unexpected offset"); 71 Expect.equals(271, helperLibraryLocation.offset, "Unexpected offset");
67 Expect.equals(23, helperLibraryLocation.length, "Unexpected length"); 72 Expect.equals(23, helperLibraryLocation.length, "Unexpected length");
68 Expect.equals(9, helperLibraryLocation.line, "Unexpected line"); 73 Expect.equals(9, helperLibraryLocation.line, "Unexpected line");
69 Expect.equals(1, helperLibraryLocation.column, "Unexpected column"); 74 Expect.equals(1, helperLibraryLocation.column, "Unexpected column");
70 75
71 76
72 var classes = helperLibrary.classes; 77 var classes = helperLibrary.classes;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 ////////////////////////////////////////////////////////////////////////////// 179 //////////////////////////////////////////////////////////////////////////////
175 // Metadata tests 180 // Metadata tests
176 ////////////////////////////////////////////////////////////////////////////// 181 //////////////////////////////////////////////////////////////////////////////
177 182
178 var metadataList = fooClass.metadata; 183 var metadataList = fooClass.metadata;
179 Expect.isNotNull(metadataList); 184 Expect.isNotNull(metadataList);
180 Expect.equals(16, metadataList.length); 185 Expect.equals(16, metadataList.length);
181 var metadataListIndex = 0; 186 var metadataListIndex = 0;
182 var metadata; 187 var metadata;
183 188
184 var dartMirrorsLibrary = system.libraries['dart.mirrors']; 189 var dartMirrorsLibrary = system.libraries[DART_MIRRORS_URI];
185 Expect.isNotNull(dartMirrorsLibrary); 190 Expect.isNotNull(dartMirrorsLibrary);
186 var commentType = dartMirrorsLibrary.classes['Comment']; 191 var commentType = dartMirrorsLibrary.classes['Comment'];
187 Expect.isNotNull(commentType); 192 Expect.isNotNull(commentType);
188 193
189 // /// Singleline doc comment. 194 // /// Singleline doc comment.
190 metadata = metadataList[metadataListIndex++]; 195 metadata = metadataList[metadataListIndex++];
191 Expect.isTrue(metadata is InstanceMirror); 196 Expect.isTrue(metadata is InstanceMirror);
192 Expect.isFalse(metadata.hasReflectee); 197 Expect.isFalse(metadata.hasReflectee);
193 Expect.throws(() => metadata.reflectee, (_) => true); 198 Expect.throws(() => metadata.reflectee, (_) => true);
194 Expect.isTrue(metadata is CommentInstanceMirror); 199 Expect.isTrue(metadata is CommentInstanceMirror);
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 Expect.isTrue(privateFactoryConstructor.isPrivate); 1052 Expect.isTrue(privateFactoryConstructor.isPrivate);
1048 Expect.isFalse(privateFactoryConstructor.isConstConstructor); 1053 Expect.isFalse(privateFactoryConstructor.isConstConstructor);
1049 Expect.isFalse(privateFactoryConstructor.isRedirectingConstructor); 1054 Expect.isFalse(privateFactoryConstructor.isRedirectingConstructor);
1050 Expect.isFalse(privateFactoryConstructor.isGenerativeConstructor); 1055 Expect.isFalse(privateFactoryConstructor.isGenerativeConstructor);
1051 Expect.isTrue(privateFactoryConstructor.isFactoryConstructor); 1056 Expect.isTrue(privateFactoryConstructor.isFactoryConstructor);
1052 1057
1053 var metadata = privateClass.metadata; 1058 var metadata = privateClass.metadata;
1054 Expect.isNotNull(metadata); 1059 Expect.isNotNull(metadata);
1055 Expect.equals(0, metadata.length); 1060 Expect.equals(0, metadata.length);
1056 } 1061 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/mirrors_metadata_test.dart ('k') | utils/apidoc/apidoc.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698