OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library test.src.task.dart_test; | 5 library test.src.task.dart_test; |
6 | 6 |
7 import 'package:analyzer/src/context/cache.dart'; | 7 import 'package:analyzer/src/context/cache.dart'; |
8 import 'package:analyzer/src/generated/ast.dart'; | 8 import 'package:analyzer/src/generated/ast.dart'; |
9 import 'package:analyzer/src/generated/element.dart'; | 9 import 'package:analyzer/src/generated/element.dart'; |
10 import 'package:analyzer/src/generated/error.dart'; | 10 import 'package:analyzer/src/generated/error.dart'; |
(...skipping 15 matching lines...) Expand all Loading... |
26 runReflectiveTests(BuildCompilationUnitElementTaskTest); | 26 runReflectiveTests(BuildCompilationUnitElementTaskTest); |
27 runReflectiveTests(BuildDirectiveElementsTaskTest); | 27 runReflectiveTests(BuildDirectiveElementsTaskTest); |
28 runReflectiveTests(BuildEnumMemberElementsTaskTest); | 28 runReflectiveTests(BuildEnumMemberElementsTaskTest); |
29 runReflectiveTests(BuildSourceClosuresTaskTest); | 29 runReflectiveTests(BuildSourceClosuresTaskTest); |
30 runReflectiveTests(BuildExportNamespaceTaskTest); | 30 runReflectiveTests(BuildExportNamespaceTaskTest); |
31 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); | 31 runReflectiveTests(BuildFunctionTypeAliasesTaskTest); |
32 runReflectiveTests(BuildLibraryConstructorsTaskTest); | 32 runReflectiveTests(BuildLibraryConstructorsTaskTest); |
33 runReflectiveTests(BuildLibraryElementTaskTest); | 33 runReflectiveTests(BuildLibraryElementTaskTest); |
34 runReflectiveTests(BuildPublicNamespaceTaskTest); | 34 runReflectiveTests(BuildPublicNamespaceTaskTest); |
35 runReflectiveTests(BuildTypeProviderTaskTest); | 35 runReflectiveTests(BuildTypeProviderTaskTest); |
| 36 runReflectiveTests(ContainingLibrariesTaskTest); |
| 37 runReflectiveTests(DartErrorsTaskTest); |
36 runReflectiveTests(GatherUsedImportedElementsTaskTest); | 38 runReflectiveTests(GatherUsedImportedElementsTaskTest); |
37 runReflectiveTests(GatherUsedLocalElementsTaskTest); | 39 runReflectiveTests(GatherUsedLocalElementsTaskTest); |
38 runReflectiveTests(GenerateHintsTaskTest); | 40 runReflectiveTests(GenerateHintsTaskTest); |
| 41 runReflectiveTests(LibraryUnitErrorsTaskTest); |
39 runReflectiveTests(ParseDartTaskTest); | 42 runReflectiveTests(ParseDartTaskTest); |
40 runReflectiveTests(ResolveUnitTypeNamesTaskTest); | 43 runReflectiveTests(ResolveUnitTypeNamesTaskTest); |
41 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); | 44 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); |
42 runReflectiveTests(ResolveReferencesTaskTest); | 45 runReflectiveTests(ResolveReferencesTaskTest); |
43 runReflectiveTests(ResolveVariableReferencesTaskTest); | 46 runReflectiveTests(ResolveVariableReferencesTaskTest); |
44 runReflectiveTests(ScanDartTaskTest); | 47 runReflectiveTests(ScanDartTaskTest); |
45 runReflectiveTests(VerifyUnitTaskTest); | 48 runReflectiveTests(VerifyUnitTaskTest); |
46 } | 49 } |
47 | 50 |
48 @reflectiveTest | 51 @reflectiveTest |
(...skipping 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1177 // validate | 1180 // validate |
1178 TypeProvider typeProvider = outputs[TYPE_PROVIDER]; | 1181 TypeProvider typeProvider = outputs[TYPE_PROVIDER]; |
1179 expect(typeProvider, isNotNull); | 1182 expect(typeProvider, isNotNull); |
1180 expect(typeProvider.boolType, isNotNull); | 1183 expect(typeProvider.boolType, isNotNull); |
1181 expect(typeProvider.intType, isNotNull); | 1184 expect(typeProvider.intType, isNotNull); |
1182 expect(typeProvider.futureType, isNotNull); | 1185 expect(typeProvider.futureType, isNotNull); |
1183 } | 1186 } |
1184 } | 1187 } |
1185 | 1188 |
1186 @reflectiveTest | 1189 @reflectiveTest |
| 1190 class ContainingLibrariesTaskTest extends _AbstractDartTaskTest { |
| 1191 test_buildInputs() { |
| 1192 Map<String, TaskInput> inputs = |
| 1193 ContainingLibrariesTask.buildInputs(emptySource); |
| 1194 expect(inputs, isNotNull); |
| 1195 expect(inputs, isEmpty); |
| 1196 } |
| 1197 |
| 1198 test_constructor() { |
| 1199 ContainingLibrariesTask task = |
| 1200 new ContainingLibrariesTask(context, emptySource); |
| 1201 expect(task, isNotNull); |
| 1202 expect(task.context, context); |
| 1203 expect(task.target, emptySource); |
| 1204 } |
| 1205 |
| 1206 test_createTask() { |
| 1207 ContainingLibrariesTask task = |
| 1208 ContainingLibrariesTask.createTask(context, emptySource); |
| 1209 expect(task, isNotNull); |
| 1210 expect(task.context, context); |
| 1211 expect(task.target, emptySource); |
| 1212 } |
| 1213 |
| 1214 test_description() { |
| 1215 ContainingLibrariesTask task = |
| 1216 new ContainingLibrariesTask(null, emptySource); |
| 1217 expect(task.description, isNotNull); |
| 1218 } |
| 1219 |
| 1220 test_descriptor() { |
| 1221 TaskDescriptor descriptor = ContainingLibrariesTask.DESCRIPTOR; |
| 1222 expect(descriptor, isNotNull); |
| 1223 } |
| 1224 |
| 1225 test_perform_definingCompilationUnit() { |
| 1226 AnalysisTarget library = newSource('/test.dart', 'library test;'); |
| 1227 _computeResult(library, INCLUDED_PARTS); |
| 1228 _computeResult(library, CONTAINING_LIBRARIES); |
| 1229 expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
| 1230 expect(outputs, hasLength(1)); |
| 1231 List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
| 1232 expect(containingLibraries, unorderedEquals([library])); |
| 1233 } |
| 1234 |
| 1235 test_perform_partInMultipleLibraries() { |
| 1236 AnalysisTarget library1 = |
| 1237 newSource('/lib1.dart', 'library test; part "part.dart";'); |
| 1238 AnalysisTarget library2 = |
| 1239 newSource('/lib2.dart', 'library test; part "part.dart";'); |
| 1240 AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
| 1241 _computeResult(library1, INCLUDED_PARTS); |
| 1242 _computeResult(library2, INCLUDED_PARTS); |
| 1243 _computeResult(part, SOURCE_KIND); |
| 1244 _computeResult(part, CONTAINING_LIBRARIES); |
| 1245 expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
| 1246 expect(outputs, hasLength(1)); |
| 1247 List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
| 1248 expect(containingLibraries, unorderedEquals([library1, library2])); |
| 1249 } |
| 1250 |
| 1251 test_perform_partInSingleLibrary() { |
| 1252 AnalysisTarget library = |
| 1253 newSource('/lib.dart', 'library test; part "part.dart";'); |
| 1254 AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
| 1255 _computeResult(library, INCLUDED_PARTS); |
| 1256 _computeResult(part, SOURCE_KIND); |
| 1257 _computeResult(part, CONTAINING_LIBRARIES); |
| 1258 expect(task, new isInstanceOf<ContainingLibrariesTask>()); |
| 1259 expect(outputs, hasLength(1)); |
| 1260 List<Source> containingLibraries = outputs[CONTAINING_LIBRARIES]; |
| 1261 expect(containingLibraries, unorderedEquals([library])); |
| 1262 } |
| 1263 } |
| 1264 |
| 1265 @reflectiveTest |
| 1266 class DartErrorsTaskTest extends _AbstractDartTaskTest { |
| 1267 test_buildInputs() { |
| 1268 Map<String, TaskInput> inputs = DartErrorsTask.buildInputs(emptySource); |
| 1269 expect(inputs, isNotNull); |
| 1270 expect(inputs.keys, unorderedEquals([ |
| 1271 DartErrorsTask.BUILD_DIRECTIVES_ERRORS_INPUT, |
| 1272 DartErrorsTask.BUILD_LIBRARY_ERRORS_INPUT, |
| 1273 DartErrorsTask.PARSE_ERRORS_INPUT, |
| 1274 DartErrorsTask.SCAN_ERRORS_INPUT, |
| 1275 DartErrorsTask.LIBRARY_UNIT_ERRORS_INPUT |
| 1276 ])); |
| 1277 } |
| 1278 |
| 1279 test_constructor() { |
| 1280 DartErrorsTask task = new DartErrorsTask(context, emptySource); |
| 1281 expect(task, isNotNull); |
| 1282 expect(task.context, context); |
| 1283 expect(task.target, emptySource); |
| 1284 } |
| 1285 |
| 1286 test_createTask() { |
| 1287 DartErrorsTask task = DartErrorsTask.createTask(context, emptySource); |
| 1288 expect(task, isNotNull); |
| 1289 expect(task.context, context); |
| 1290 expect(task.target, emptySource); |
| 1291 } |
| 1292 |
| 1293 test_description() { |
| 1294 DartErrorsTask task = new DartErrorsTask(null, emptySource); |
| 1295 expect(task.description, isNotNull); |
| 1296 } |
| 1297 |
| 1298 test_descriptor() { |
| 1299 TaskDescriptor descriptor = DartErrorsTask.DESCRIPTOR; |
| 1300 expect(descriptor, isNotNull); |
| 1301 } |
| 1302 |
| 1303 test_perform_definingCompilationUnit() { |
| 1304 AnalysisTarget library = |
| 1305 newSource('/test.dart', 'library test; import "dart:math";'); |
| 1306 _computeResult(library, INCLUDED_PARTS); |
| 1307 _computeResult(library, DART_ERRORS); |
| 1308 expect(task, new isInstanceOf<DartErrorsTask>()); |
| 1309 expect(outputs, hasLength(1)); |
| 1310 List<AnalysisError> errors = outputs[DART_ERRORS]; |
| 1311 expect(errors, hasLength(1)); |
| 1312 } |
| 1313 |
| 1314 test_perform_partInSingleLibrary() { |
| 1315 AnalysisTarget library = newSource( |
| 1316 '/lib.dart', 'library test; import "dart:math"; part "part.dart";'); |
| 1317 AnalysisTarget part = |
| 1318 newSource('/part.dart', 'part of test; class A extends A {}'); |
| 1319 _computeResult(library, INCLUDED_PARTS); |
| 1320 _computeResult(library, DART_ERRORS); |
| 1321 _computeResult(part, DART_ERRORS); |
| 1322 expect(task, new isInstanceOf<DartErrorsTask>()); |
| 1323 expect(outputs, hasLength(1)); |
| 1324 List<AnalysisError> errors = outputs[DART_ERRORS]; |
| 1325 // This should contain only the errors in the part file, not the ones in the |
| 1326 // library. |
| 1327 expect(errors, hasLength(1)); |
| 1328 } |
| 1329 } |
| 1330 |
| 1331 @reflectiveTest |
1187 class GatherUsedImportedElementsTaskTest extends _AbstractDartTaskTest { | 1332 class GatherUsedImportedElementsTaskTest extends _AbstractDartTaskTest { |
1188 UsedImportedElements usedElements; | 1333 UsedImportedElements usedElements; |
1189 Set<String> usedElementNames; | 1334 Set<String> usedElementNames; |
1190 | 1335 |
1191 test_perform() { | 1336 test_perform() { |
1192 newSource('/a.dart', r''' | 1337 newSource('/a.dart', r''' |
1193 library lib_a; | 1338 library lib_a; |
1194 class A {} | 1339 class A {} |
1195 '''); | 1340 '''); |
1196 newSource('/b.dart', r''' | 1341 newSource('/b.dart', r''' |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 _computeResult(target, HINTS); | 1597 _computeResult(target, HINTS); |
1453 expect(task, new isInstanceOf<GenerateHintsTask>()); | 1598 expect(task, new isInstanceOf<GenerateHintsTask>()); |
1454 // validate | 1599 // validate |
1455 _fillErrorListener(HINTS); | 1600 _fillErrorListener(HINTS); |
1456 errorListener.assertErrorsWithCodes( | 1601 errorListener.assertErrorsWithCodes( |
1457 <ErrorCode>[HintCode.UNUSED_ELEMENT, HintCode.UNUSED_ELEMENT]); | 1602 <ErrorCode>[HintCode.UNUSED_ELEMENT, HintCode.UNUSED_ELEMENT]); |
1458 } | 1603 } |
1459 } | 1604 } |
1460 | 1605 |
1461 @reflectiveTest | 1606 @reflectiveTest |
| 1607 class LibraryUnitErrorsTaskTest extends _AbstractDartTaskTest { |
| 1608 test_buildInputs() { |
| 1609 Map<String, TaskInput> inputs = LibraryUnitErrorsTask |
| 1610 .buildInputs(new LibrarySpecificUnit(emptySource, emptySource)); |
| 1611 expect(inputs, isNotNull); |
| 1612 expect(inputs.keys, unorderedEquals([ |
| 1613 LibraryUnitErrorsTask.BUILD_FUNCTION_TYPE_ALIASES_ERRORS_INPUT, |
| 1614 LibraryUnitErrorsTask.HINTS_INPUT, |
| 1615 LibraryUnitErrorsTask.RESOLVE_REFERENCES_ERRORS_INPUT, |
| 1616 LibraryUnitErrorsTask.RESOLVE_TYPE_NAMES_ERRORS_INPUT, |
| 1617 LibraryUnitErrorsTask.VERIFY_ERRORS_INPUT |
| 1618 ])); |
| 1619 } |
| 1620 |
| 1621 test_constructor() { |
| 1622 LibraryUnitErrorsTask task = |
| 1623 new LibraryUnitErrorsTask(context, emptySource); |
| 1624 expect(task, isNotNull); |
| 1625 expect(task.context, context); |
| 1626 expect(task.target, emptySource); |
| 1627 } |
| 1628 |
| 1629 test_createTask() { |
| 1630 LibraryUnitErrorsTask task = |
| 1631 LibraryUnitErrorsTask.createTask(context, emptySource); |
| 1632 expect(task, isNotNull); |
| 1633 expect(task.context, context); |
| 1634 expect(task.target, emptySource); |
| 1635 } |
| 1636 |
| 1637 test_description() { |
| 1638 LibraryUnitErrorsTask task = new LibraryUnitErrorsTask(null, emptySource); |
| 1639 expect(task.description, isNotNull); |
| 1640 } |
| 1641 |
| 1642 test_descriptor() { |
| 1643 TaskDescriptor descriptor = LibraryUnitErrorsTask.DESCRIPTOR; |
| 1644 expect(descriptor, isNotNull); |
| 1645 } |
| 1646 |
| 1647 test_perform_definingCompilationUnit() { |
| 1648 AnalysisTarget library = |
| 1649 newSource('/test.dart', 'library test; import "dart:math";'); |
| 1650 _computeResult( |
| 1651 new LibrarySpecificUnit(library, library), LIBRARY_UNIT_ERRORS); |
| 1652 expect(task, new isInstanceOf<LibraryUnitErrorsTask>()); |
| 1653 expect(outputs, hasLength(1)); |
| 1654 List<AnalysisError> errors = outputs[LIBRARY_UNIT_ERRORS]; |
| 1655 expect(errors, hasLength(1)); |
| 1656 } |
| 1657 |
| 1658 test_perform_partInSingleLibrary() { |
| 1659 AnalysisTarget library = |
| 1660 newSource('/lib.dart', 'library test; part "part.dart";'); |
| 1661 AnalysisTarget part = newSource('/part.dart', 'part of test;'); |
| 1662 _computeResult(new LibrarySpecificUnit(library, part), LIBRARY_UNIT_ERRORS); |
| 1663 expect(task, new isInstanceOf<LibraryUnitErrorsTask>()); |
| 1664 expect(outputs, hasLength(1)); |
| 1665 List<AnalysisError> errors = outputs[LIBRARY_UNIT_ERRORS]; |
| 1666 expect(errors, hasLength(0)); |
| 1667 } |
| 1668 } |
| 1669 |
| 1670 @reflectiveTest |
1462 class ParseDartTaskTest extends _AbstractDartTaskTest { | 1671 class ParseDartTaskTest extends _AbstractDartTaskTest { |
1463 test_buildInputs() { | 1672 test_buildInputs() { |
1464 Map<String, TaskInput> inputs = ParseDartTask.buildInputs(emptySource); | 1673 Map<String, TaskInput> inputs = ParseDartTask.buildInputs(emptySource); |
1465 expect(inputs, isNotNull); | 1674 expect(inputs, isNotNull); |
1466 expect(inputs.keys, unorderedEquals([ | 1675 expect(inputs.keys, unorderedEquals([ |
1467 ParseDartTask.LINE_INFO_INPUT_NAME, | 1676 ParseDartTask.LINE_INFO_INPUT_NAME, |
1468 ParseDartTask.TOKEN_STREAM_INPUT_NAME | 1677 ParseDartTask.TOKEN_STREAM_INPUT_NAME |
1469 ])); | 1678 ])); |
1470 } | 1679 } |
1471 | 1680 |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1934 /** | 2143 /** |
1935 * Fill [errorListener] with [result] errors in the current [task]. | 2144 * Fill [errorListener] with [result] errors in the current [task]. |
1936 */ | 2145 */ |
1937 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { | 2146 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { |
1938 List<AnalysisError> errors = task.outputs[result]; | 2147 List<AnalysisError> errors = task.outputs[result]; |
1939 expect(errors, isNotNull, reason: result.name); | 2148 expect(errors, isNotNull, reason: result.name); |
1940 errorListener = new GatheringErrorListener(); | 2149 errorListener = new GatheringErrorListener(); |
1941 errorListener.addAll(errors); | 2150 errorListener.addAll(errors); |
1942 } | 2151 } |
1943 } | 2152 } |
OLD | NEW |