| 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 | 9 |
| 10 const String DART_LIBRARY = ''' | 10 const String DART_LIBRARY = ''' |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 group('Generate docs for', () { | 43 group('Generate docs for', () { |
| 44 test('one simple file.', () { | 44 test('one simple file.', () { |
| 45 var temporaryDir = Directory.systemTemp.createTempSync('single_library_'); | 45 var temporaryDir = Directory.systemTemp.createTempSync('single_library_'); |
| 46 var fileName = path.join(temporaryDir.path, 'temp.dart'); | 46 var fileName = path.join(temporaryDir.path, 'temp.dart'); |
| 47 var file = new File(fileName); | 47 var file = new File(fileName); |
| 48 file.writeAsStringSync(DART_LIBRARY); | 48 file.writeAsStringSync(DART_LIBRARY); |
| 49 getMirrorSystem([new Uri.file(fileName)]) | 49 getMirrorSystem([new Uri.file(fileName)]) |
| 50 .then(expectAsync1((mirrorSystem) { | 50 .then(expectAsync1((mirrorSystem) { |
| 51 var testLibraryUri = new Uri(scheme: 'file', | 51 var testLibraryUri = new Uri(scheme: 'file', |
| 52 path: path.absolute(fileName)); | 52 path: path.absolute(fileName)); |
| 53 var library = generateLibrary(mirrorSystem.libraries[testLibraryUri]); | 53 var library = new Library(mirrorSystem.libraries[testLibraryUri]); |
| 54 expect(library is Library, isTrue); | 54 expect(library is Library, isTrue); |
| 55 | 55 |
| 56 var classTypes = library.classes; | 56 var classTypes = library.classes; |
| 57 expect(classTypes is ClassGroup, isTrue); | |
| 58 | |
| 59 var classes = []; | 57 var classes = []; |
| 60 classes.addAll(classTypes.classes.values); | 58 classes.addAll(classTypes.values); |
| 61 classes.addAll(classTypes.errors.values); | 59 classes.addAll(library.errors.values); |
| 62 expect(classes.every((e) => e is Class), isTrue); | 60 expect(classes.every((e) => e is Class), isTrue); |
| 63 | 61 |
| 64 expect(classTypes.typedefs.values.every((e) => e is Typedef), isTrue); | 62 expect(library.typedefs.values.every((e) => e is Typedef), isTrue); |
| 65 | 63 |
| 66 var classMethodTypes = []; | 64 var classMethodTypes = []; |
| 67 classes.forEach((e) { | 65 classes.forEach((e) { |
| 68 classMethodTypes.add(e.methods); | 66 classMethodTypes.add(e.methods); |
| 69 classMethodTypes.add(e.inheritedMethods); | 67 classMethodTypes.add(e.inheritedMethods); |
| 70 }); | 68 }); |
| 71 expect(classMethodTypes.every((e) => e is MethodGroup), isTrue); | 69 expect(classMethodTypes.every((e) => e is Map<String, Method>), isTrue
); |
| 72 | 70 |
| 73 var classMethods = []; | 71 var classMethods = []; |
| 74 classMethodTypes.forEach((e) { | 72 classMethodTypes.forEach((e) { |
| 75 classMethods.addAll(e.setters.values); | 73 classMethods.addAll(e.values); |
| 76 classMethods.addAll(e.getters.values); | |
| 77 classMethods.addAll(e.constructors.values); | |
| 78 classMethods.addAll(e.operators.values); | |
| 79 classMethods.addAll(e.regularMethods.values); | |
| 80 }); | 74 }); |
| 81 expect(classMethods.every((e) => e is Method), isTrue); | 75 expect(classMethods.every((e) => e is Method), isTrue); |
| 82 | 76 |
| 83 var methodParameters = []; | 77 var methodParameters = []; |
| 84 classMethods.forEach((e) { | 78 classMethods.forEach((e) { |
| 85 methodParameters.addAll(e.parameters.values); | 79 methodParameters.addAll(e.parameters.values); |
| 86 }); | 80 }); |
| 87 expect(methodParameters.every((e) => e is Parameter), isTrue); | 81 expect(methodParameters.every((e) => e is Parameter), isTrue); |
| 88 | 82 |
| 89 var functionTypes = library.functions; | 83 var functionTypes = library.functions; |
| 90 expect(functionTypes is MethodGroup, isTrue); | 84 expect(functionTypes is Map<String, Method>, isTrue); |
| 91 | 85 |
| 92 var functions = []; | 86 var functions = []; |
| 93 functions.addAll(functionTypes.setters.values); | 87 functions.addAll(functionTypes.values); |
| 94 functions.addAll(functionTypes.getters.values); | |
| 95 functions.addAll(functionTypes.constructors.values); | |
| 96 functions.addAll(functionTypes.operators.values); | |
| 97 functions.addAll(functionTypes.regularMethods.values); | |
| 98 expect(functions.every((e) => e is Method), isTrue); | 88 expect(functions.every((e) => e is Method), isTrue); |
| 99 | 89 |
| 100 var functionParameters = []; | 90 var functionParameters = []; |
| 101 functions.forEach((e) { | 91 functions.forEach((e) { |
| 102 functionParameters.addAll(e.parameters.values); | 92 functionParameters.addAll(e.parameters.values); |
| 103 }); | 93 }); |
| 104 expect(functionParameters.every((e) => e is Parameter), isTrue); | 94 expect(functionParameters.every((e) => e is Parameter), isTrue); |
| 105 | 95 |
| 106 var variables = library.variables.values; | 96 var variables = library.variables.values; |
| 107 expect(variables.every((e) => e is Variable), isTrue); | 97 expect(variables.every((e) => e is Variable), isTrue); |
| 108 | 98 |
| 109 /// Testing fixReference | 99 /// Testing fixReference |
| 110 // Testing Doc comment for class [A]. | 100 // Testing Doc comment for class [A]. |
| 111 var libraryMirror = mirrorSystem.libraries[testLibraryUri]; | 101 var libraryMirror = mirrorSystem.libraries[testLibraryUri]; |
| 112 var classMirror = libraryMirror.classes.values.first; | 102 var classMirror = libraryMirror.classes.values.first; |
| 113 var classDocComment = fixReference('A', libraryMirror, | 103 var classDocComment = library.fixReference('A').children.first.text; |
| 114 classMirror, null).children.first.text; | 104 expect(classDocComment, 'test.A'); |
| 115 expect(classDocComment == 'test.A', isTrue); | |
| 116 | 105 |
| 117 // Test for linking to parameter [A] | 106 // Test for linking to parameter [A] |
| 118 var methodMirror = classMirror.methods['doThis']; | 107 var method = getDocgenObject(classMirror.methods['doThis']); |
| 119 var methodParameterDocComment = fixReference('A', libraryMirror, | 108 var methodParameterDocComment = method.fixReference( |
| 120 classMirror, methodMirror).children.first.text; | 109 'A').children.first.text; |
| 121 // TODO(alanknight) : We're not supporting linking to parameters yet | 110 expect(methodParameterDocComment, 'test.A.doThis.A'); |
| 122 // expect(methodParameterDocComment == 'test.A.doThis#A', isTrue); | |
| 123 | 111 |
| 124 // Testing trying to refer to doThis function | 112 // Testing trying to refer to doThis function |
| 125 var methodDocComment = fixReference('doThis', libraryMirror, | 113 var methodDocComment = method.fixReference( |
| 126 classMirror, methodMirror).children.first.text; | 114 'doThis').children.first.text; |
| 127 expect(methodDocComment == 'test.A.doThis', isTrue); | 115 expect(methodDocComment, 'test.A.doThis'); |
| 128 | 116 |
| 129 // Testing something with no reference | 117 // Testing something with no reference |
| 130 var libraryDocComment = fixReference('foobar', libraryMirror, | 118 var libraryDocComment = method.fixReference('foobar').text; |
| 131 classMirror, methodMirror).text; | 119 expect(libraryDocComment, 'foobar'); |
| 132 expect(libraryDocComment == 'foobar', isTrue); | |
| 133 })).whenComplete(() => temporaryDir.deleteSync(recursive: true)); | 120 })).whenComplete(() => temporaryDir.deleteSync(recursive: true)); |
| 134 }); | 121 }); |
| 135 }); | 122 }); |
| 136 } | 123 } |
| OLD | NEW |