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

Side by Side Diff: pkg/docgen/test/multi_library_test.dart

Issue 119913002: Align source mirrors with runtime mirrors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments + small fix. Created 6 years, 10 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 | « pkg/docgen/lib/docgen.dart ('k') | pkg/docgen/test/single_library_test.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 library single_library_test; 1 library single_library_test;
2 2
3 import 'dart:io'; 3 import 'dart:io';
4 4
5 import 'package:path/path.dart' as path; 5 import 'package:path/path.dart' as path;
6 import 'package:unittest/unittest.dart'; 6 import 'package:unittest/unittest.dart';
7 7
8 import '../lib/docgen.dart'; 8 import '../lib/docgen.dart';
9 import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util. dart'
10 as dart2js_util;
9 11
10 const String DART_LIBRARY_1 = ''' 12 const String DART_LIBRARY_1 = '''
11 library testLib; 13 library testLib;
12 import 'temp2.dart'; 14 import 'temp2.dart';
13 import 'temp3.dart'; 15 import 'temp3.dart';
14 export 'temp2.dart'; 16 export 'temp2.dart';
15 export 'temp3.dart'; 17 export 'temp3.dart';
16 18
17 /** 19 /**
18 * Doc comment for class [A]. 20 * Doc comment for class [A].
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 var file = new File(fileName); 99 var file = new File(fileName);
98 file.writeAsStringSync(DART_LIBRARY_1); 100 file.writeAsStringSync(DART_LIBRARY_1);
99 101
100 var fileName2 = path.join(TEMP_DIRNAME.path, 'temp2.dart'); 102 var fileName2 = path.join(TEMP_DIRNAME.path, 'temp2.dart');
101 file = new File(fileName2); 103 file = new File(fileName2);
102 file.writeAsStringSync(DART_LIBRARY_2); 104 file.writeAsStringSync(DART_LIBRARY_2);
103 105
104 var fileName3 = path.join(TEMP_DIRNAME.path, 'temp3.dart'); 106 var fileName3 = path.join(TEMP_DIRNAME.path, 'temp3.dart');
105 file = new File(fileName3); 107 file = new File(fileName3);
106 file.writeAsStringSync(DART_LIBRARY_3); 108 file.writeAsStringSync(DART_LIBRARY_3);
107 return [new Uri.file(fileName), new Uri.file(fileName3), 109 return [new Uri.file(fileName, windows: Platform.isWindows),
108 new Uri.file(fileName3)]; 110 new Uri.file(fileName2, windows: Platform.isWindows),
111 new Uri.file(fileName3, windows: Platform.isWindows)];
109 } 112 }
110 113
111 main() { 114 main() {
112 group('Generate docs for', () { 115 group('Generate docs for', () {
113 test('multiple libraries.', () { 116 test('multiple libraries.', () {
114 var files = writeLibFiles(); 117 var files = writeLibFiles();
115 getMirrorSystem(files) 118 getMirrorSystem(files)
116 .then(expectAsync1((mirrorSystem) { 119 .then(expectAsync1((mirrorSystem) {
117 var testLibraryUri = files[0]; 120 var testLibraryUri = files[0];
118 var library = new Library(mirrorSystem.libraries[testLibraryUri]); 121 var library = new Library(mirrorSystem.libraries[testLibraryUri]);
119 122
120 /// Testing fixReference 123 /// Testing fixReference
121 // Testing Doc comment for class [B]. 124 // Testing Doc comment for class [B].
122 var libraryMirror = mirrorSystem.libraries[testLibraryUri]; 125 var libraryMirror = mirrorSystem.libraries[testLibraryUri];
123 var classDocComment = library.fixReference('B').children.first.text; 126 var classDocComment = library.fixReference('B').children.first.text;
124 expect(classDocComment, 'testLib.B'); 127 expect(classDocComment, 'testLib.B');
125 128
126 // Test for linking to parameter [c] 129 // Test for linking to parameter [c]
127 var importedLib = libraryMirror.libraryDependencies.firstWhere( 130 var importedLib = libraryMirror.libraryDependencies.firstWhere(
128 (dep) => dep.isImport).targetLibrary; 131 (dep) => dep.isImport).targetLibrary;
129 var aClassMirror = importedLib.classes.values.first; 132 var aClassMirror =
130 expect(aClassMirror.qualifiedName, 'testLib2.foo.B'); 133 dart2js_util.classesOf(importedLib.declarations).first;
134 expect(dart2js_util.qualifiedNameOf(aClassMirror),
135 'testLib2.foo.B');
131 var exportedClass = getDocgenObject(aClassMirror, library); 136 var exportedClass = getDocgenObject(aClassMirror, library);
132 expect(exportedClass is Class, isTrue); 137 expect(exportedClass is Class, isTrue);
133 138
134 139
135 var method = exportedClass.methods['doThis']; 140 var method = exportedClass.methods['doThis'];
136 expect(method is Method, isTrue); 141 expect(method is Method, isTrue);
137 var methodParameterDocComment = method.fixReference( 142 var methodParameterDocComment = method.fixReference(
138 'c').children.first.text; 143 'c').children.first.text;
139 expect(methodParameterDocComment, 'testLib.B.doThis.c'); 144 expect(methodParameterDocComment, 'testLib.B.doThis.c');
140 145
141 146
142 expect(method.fixReference('A').children.first.text, 'testLib.A'); 147 expect(method.fixReference('A').children.first.text, 'testLib.A');
143 // Testing trying to refer to doThis function 148 // Testing trying to refer to doThis function
144 expect(method.fixReference('doThis').children.first.text, 149 expect(method.fixReference('doThis').children.first.text,
145 'testLib.B.doThis'); 150 'testLib.B.doThis');
146 151
147 // Testing trying to refer to doThis function 152 // Testing trying to refer to doThis function
148 expect(method.fixReference('doElse').children.first.text, 153 expect(method.fixReference('doElse').children.first.text,
149 'testLib.B.doElse'); 154 'testLib.B.doElse');
150 155
151 156
152 // Test a third library referencing another exported library in a 157 // Test a third library referencing another exported library in a
153 // separate file. 158 // separate file.
154 importedLib = libraryMirror.libraryDependencies.firstWhere( 159 importedLib = libraryMirror.libraryDependencies.firstWhere(
155 (dep) => dep.isImport && dep.targetLibrary.qualifiedName == 160 (dep) => dep.isImport &&
161 dart2js_util.qualifiedNameOf(dep.targetLibrary) ==
156 'testLib.bar').targetLibrary; 162 'testLib.bar').targetLibrary;
157 aClassMirror = importedLib.classes.values.first; 163 aClassMirror = dart2js_util.classesOf(importedLib.declarations).first;
158 expect(aClassMirror.qualifiedName, 'testLib.bar.C'); 164 expect(dart2js_util.qualifiedNameOf(aClassMirror),
165 'testLib.bar.C');
159 exportedClass = getDocgenObject(aClassMirror, library); 166 exportedClass = getDocgenObject(aClassMirror, library);
160 expect(exportedClass is Class, isTrue); 167 expect(exportedClass is Class, isTrue);
161 expect(exportedClass.docName, 'testLib.C'); 168 expect(exportedClass.docName, 'testLib.C');
162 169
163 methodParameterDocComment = exportedClass.fixReference( 170 methodParameterDocComment = exportedClass.fixReference(
164 'B').children.first.text; 171 'B').children.first.text;
165 expect(methodParameterDocComment, 'testLib.B'); 172 expect(methodParameterDocComment, 'testLib.B');
166 173
167 methodParameterDocComment = exportedClass.fixReference( 174 methodParameterDocComment = exportedClass.fixReference(
168 'testFunc').children.first.text; 175 'testFunc').children.first.text;
169 expect(methodParameterDocComment, 'testLib.testFunc'); 176 expect(methodParameterDocComment, 'testLib.testFunc');
170 177
171 })).whenComplete(() => TEMP_DIRNAME.deleteSync(recursive: true)); 178 })).whenComplete(() => TEMP_DIRNAME.deleteSync(recursive: true));
172 }); 179 });
173 }); 180 });
174 } 181 }
OLDNEW
« no previous file with comments | « pkg/docgen/lib/docgen.dart ('k') | pkg/docgen/test/single_library_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698