OLD | NEW |
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 Loading... |
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 } |
OLD | NEW |