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

Side by Side Diff: pkg/docgen/test/single_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: Rebased 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
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 = ''' 12 const String DART_LIBRARY = '''
11 library test; 13 library test;
12 /** 14 /**
13 * Doc comment for class [A]. 15 * Doc comment for class [A].
14 * 16 *
15 * Multiline Test 17 * Multiline Test
16 */ 18 */
17 /* 19 /*
18 * Normal comment for class A. 20 * Normal comment for class A.
(...skipping 22 matching lines...) Expand all
41 43
42 main() { 44 main() {
43 group('Generate docs for', () { 45 group('Generate docs for', () {
44 test('one simple file.', () { 46 test('one simple file.', () {
45 var temporaryDir = Directory.systemTemp.createTempSync('single_library_'); 47 var temporaryDir = Directory.systemTemp.createTempSync('single_library_');
46 var fileName = path.join(temporaryDir.path, 'temp.dart'); 48 var fileName = path.join(temporaryDir.path, 'temp.dart');
47 var file = new File(fileName); 49 var file = new File(fileName);
48 file.writeAsStringSync(DART_LIBRARY); 50 file.writeAsStringSync(DART_LIBRARY);
49 getMirrorSystem([new Uri.file(fileName)]) 51 getMirrorSystem([new Uri.file(fileName)])
50 .then(expectAsync1((mirrorSystem) { 52 .then(expectAsync1((mirrorSystem) {
51 var testLibraryUri = new Uri(scheme: 'file', 53 var testLibraryUri = new Uri.file(path.absolute(fileName),
52 path: path.absolute(fileName)); 54 windows: Platform.isWindows);
53 var library = new Library(mirrorSystem.libraries[testLibraryUri]); 55 var library = new Library(mirrorSystem.libraries[testLibraryUri]);
54 expect(library is Library, isTrue); 56 expect(library is Library, isTrue);
55 57
56 var classTypes = library.classes; 58 var classTypes = library.classes;
57 var classes = []; 59 var classes = [];
58 classes.addAll(classTypes.values); 60 classes.addAll(classTypes.values);
59 classes.addAll(library.errors.values); 61 classes.addAll(library.errors.values);
60 expect(classes.every((e) => e is Class), isTrue); 62 expect(classes.every((e) => e is Class), isTrue);
61 63
62 expect(library.typedefs.values.every((e) => e is Typedef), isTrue); 64 expect(library.typedefs.values.every((e) => e is Typedef), isTrue);
(...skipping 29 matching lines...) Expand all
92 functionParameters.addAll(e.parameters.values); 94 functionParameters.addAll(e.parameters.values);
93 }); 95 });
94 expect(functionParameters.every((e) => e is Parameter), isTrue); 96 expect(functionParameters.every((e) => e is Parameter), isTrue);
95 97
96 var variables = library.variables.values; 98 var variables = library.variables.values;
97 expect(variables.every((e) => e is Variable), isTrue); 99 expect(variables.every((e) => e is Variable), isTrue);
98 100
99 /// Testing fixReference 101 /// Testing fixReference
100 // Testing Doc comment for class [A]. 102 // Testing Doc comment for class [A].
101 var libraryMirror = mirrorSystem.libraries[testLibraryUri]; 103 var libraryMirror = mirrorSystem.libraries[testLibraryUri];
102 var classMirror = libraryMirror.classes.values.first; 104 var classMirror =
105 dart2js_util.classesOf(libraryMirror.declarations).first;
103 var classDocComment = library.fixReference('A').children.first.text; 106 var classDocComment = library.fixReference('A').children.first.text;
104 expect(classDocComment, 'test.A'); 107 expect(classDocComment, 'test.A');
105 108
106 // Test for linking to parameter [A] 109 // Test for linking to parameter [A]
107 var method = getDocgenObject(classMirror.methods['doThis']); 110 var method = getDocgenObject(
111 classMirror.declarations[dart2js_util.symbolOf('doThis')]);
108 var methodParameterDocComment = method.fixReference( 112 var methodParameterDocComment = method.fixReference(
109 'A').children.first.text; 113 'A').children.first.text;
110 expect(methodParameterDocComment, 'test.A.doThis.A'); 114 expect(methodParameterDocComment, 'test.A.doThis.A');
111 115
112 // Testing trying to refer to doThis function 116 // Testing trying to refer to doThis function
113 var methodDocComment = method.fixReference( 117 var methodDocComment = method.fixReference(
114 'doThis').children.first.text; 118 'doThis').children.first.text;
115 expect(methodDocComment, 'test.A.doThis'); 119 expect(methodDocComment, 'test.A.doThis');
116 120
117 // Testing something with no reference 121 // Testing something with no reference
118 var libraryDocComment = method.fixReference('foobar').text; 122 var libraryDocComment = method.fixReference('foobar').text;
119 expect(libraryDocComment, 'foobar'); 123 expect(libraryDocComment, 'foobar');
120 })).whenComplete(() => temporaryDir.deleteSync(recursive: true)); 124 })).whenComplete(() => temporaryDir.deleteSync(recursive: true));
121 }); 125 });
122 }); 126 });
123 } 127 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698