Chromium Code Reviews| 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/file_system/file_system.dart'; | 7 import 'package:analyzer/file_system/file_system.dart'; |
| 8 import 'package:analyzer/file_system/memory_file_system.dart'; | 8 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 9 import 'package:analyzer/src/context/cache.dart'; | 9 import 'package:analyzer/src/context/cache.dart'; |
| 10 import 'package:analyzer/src/generated/ast.dart'; | 10 import 'package:analyzer/src/generated/ast.dart'; |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 29 | 29 |
| 30 import '../../generated/test_support.dart'; | 30 import '../../generated/test_support.dart'; |
| 31 import '../../reflective_tests.dart'; | 31 import '../../reflective_tests.dart'; |
| 32 import '../mock_sdk.dart'; | 32 import '../mock_sdk.dart'; |
| 33 | 33 |
| 34 main() { | 34 main() { |
| 35 groupSep = ' | '; | 35 groupSep = ' | '; |
| 36 runReflectiveTests(BuildCompilationUnitElementTaskTest); | 36 runReflectiveTests(BuildCompilationUnitElementTaskTest); |
| 37 runReflectiveTests(BuildDirectiveElementsTaskTest); | 37 runReflectiveTests(BuildDirectiveElementsTaskTest); |
| 38 runReflectiveTests(BuildEnumMemberElementsTaskTest); | 38 runReflectiveTests(BuildEnumMemberElementsTaskTest); |
| 39 runReflectiveTests(BuildExportSourceClosureTaskTest); | |
| 39 runReflectiveTests(BuildLibraryElementTaskTest); | 40 runReflectiveTests(BuildLibraryElementTaskTest); |
| 40 runReflectiveTests(BuildPublicNamespaceTaskTest); | 41 runReflectiveTests(BuildPublicNamespaceTaskTest); |
| 41 runReflectiveTests(BuildTypeProviderTaskTest); | 42 runReflectiveTests(BuildTypeProviderTaskTest); |
| 42 runReflectiveTests(ParseDartTaskTest); | 43 runReflectiveTests(ParseDartTaskTest); |
| 43 runReflectiveTests(ScanDartTaskTest); | 44 runReflectiveTests(ScanDartTaskTest); |
| 44 } | 45 } |
| 45 | 46 |
| 46 @reflectiveTest | 47 @reflectiveTest |
| 47 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { | 48 class BuildCompilationUnitElementTaskTest extends _AbstractDartTaskTest { |
| 48 test_buildInputs() { | 49 test_buildInputs() { |
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 430 | 431 |
| 431 static void _assertGetter(FieldElement field) { | 432 static void _assertGetter(FieldElement field) { |
| 432 PropertyAccessorElement getter = field.getter; | 433 PropertyAccessorElement getter = field.getter; |
| 433 expect(getter, isNotNull); | 434 expect(getter, isNotNull); |
| 434 expect(getter.variable, same(field)); | 435 expect(getter.variable, same(field)); |
| 435 expect(getter.type, isNotNull); | 436 expect(getter.type, isNotNull); |
| 436 } | 437 } |
| 437 } | 438 } |
| 438 | 439 |
| 439 @reflectiveTest | 440 @reflectiveTest |
| 441 class BuildExportSourceClosureTaskTest extends _AbstractDartTaskTest { | |
| 442 test_perform() { | |
| 443 Source sourceA = _newSource('/a.dart', ''' | |
| 444 library lib_a; | |
| 445 export 'b.dart'; | |
| 446 '''); | |
| 447 Source sourceB = _newSource('/b.dart', ''' | |
| 448 library lib_b; | |
| 449 export 'b.dart'; | |
| 450 '''); | |
| 451 Source sourceC = _newSource('/c.dart', ''' | |
| 452 library lib_c; | |
| 453 export 'a.dart'; | |
| 454 '''); | |
| 455 Source sourceD = _newSource('/d.dart', ''' | |
| 456 library lib_d; | |
| 457 '''); | |
| 458 // a.dart | |
| 459 { | |
| 460 _computeResult(sourceA, EXPORT_SOURCE_CLOSURE); | |
| 461 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 462 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 463 expect(closure, unorderedEquals([sourceA, sourceB])); | |
| 464 } | |
| 465 // c.dart | |
| 466 { | |
| 467 _computeResult(sourceC, EXPORT_SOURCE_CLOSURE); | |
| 468 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 469 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 470 expect(closure, unorderedEquals([sourceA, sourceB, sourceC])); | |
| 471 } | |
| 472 // d.dart | |
| 473 { | |
| 474 _computeResult(sourceD, EXPORT_SOURCE_CLOSURE); | |
| 475 expect(task, new isInstanceOf<BuildExportSourceClosureTask>()); | |
| 476 List<Source> closure = outputs[EXPORT_SOURCE_CLOSURE]; | |
| 477 expect(closure, unorderedEquals([sourceD])); | |
| 478 } | |
| 479 } | |
| 480 } | |
| 481 | |
| 482 @reflectiveTest | |
| 440 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { | 483 class BuildLibraryElementTaskTest extends _AbstractDartTaskTest { |
| 441 Source librarySource; | 484 Source librarySource; |
| 442 CompilationUnit libraryUnit; | 485 CompilationUnit libraryUnit; |
| 443 CompilationUnitElement libraryUnitElement; | 486 CompilationUnitElement libraryUnitElement; |
| 444 List<CompilationUnit> partUnits; | 487 List<CompilationUnit> partUnits; |
| 445 | 488 |
| 446 LibraryElement libraryElement; | 489 LibraryElement libraryElement; |
| 447 | 490 |
| 448 test_constructor() { | 491 test_constructor() { |
| 449 BuildLibraryElementTask task = | 492 BuildLibraryElementTask task = |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 923 new ResourceUriResolver(resourceProvider) | 966 new ResourceUriResolver(resourceProvider) |
| 924 ]); | 967 ]); |
| 925 // prepare TaskManager | 968 // prepare TaskManager |
| 926 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); | 969 taskManager.addTaskDescriptor(GetContentTask.DESCRIPTOR); |
| 927 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); | 970 taskManager.addTaskDescriptor(ScanDartTask.DESCRIPTOR); |
| 928 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); | 971 taskManager.addTaskDescriptor(ParseDartTask.DESCRIPTOR); |
| 929 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); | 972 taskManager.addTaskDescriptor(BuildCompilationUnitElementTask.DESCRIPTOR); |
| 930 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); | 973 taskManager.addTaskDescriptor(BuildLibraryElementTask.DESCRIPTOR); |
| 931 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); | 974 taskManager.addTaskDescriptor(BuildPublicNamespaceTask.DESCRIPTOR); |
| 932 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); | 975 taskManager.addTaskDescriptor(BuildDirectiveElementsTask.DESCRIPTOR); |
| 976 taskManager.addTaskDescriptor(BuildExportSourceClosureTask.DESCRIPTOR); | |
| 933 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); | 977 taskManager.addTaskDescriptor(BuildTypeProviderTask.DESCRIPTOR); |
| 934 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); | 978 taskManager.addTaskDescriptor(BuildEnumMemberElementsTask.DESCRIPTOR); |
| 935 // prepare AnalysisDriver | 979 // prepare AnalysisDriver |
| 936 analysisDriver = new AnalysisDriver(taskManager, context); | 980 analysisDriver = new AnalysisDriver(taskManager, context); |
| 937 } | 981 } |
| 938 | 982 |
| 939 void _computeResult(AnalysisTarget target, ResultDescriptor result) { | 983 void _computeResult(AnalysisTarget target, ResultDescriptor result) { |
| 940 task = analysisDriver.computeResult(target, result); | 984 task = analysisDriver.computeResult(target, result); |
| 941 expect(task.caughtException, isNull); | 985 expect(task.caughtException, isNull); |
| 942 outputs = task.outputs; | 986 outputs = task.outputs; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 979 | 1023 |
| 980 bool exists(Source source) => source.exists(); | 1024 bool exists(Source source) => source.exists(); |
| 981 | 1025 |
| 982 @override | 1026 @override |
| 983 CacheEntry getCacheEntry(AnalysisTarget target) { | 1027 CacheEntry getCacheEntry(AnalysisTarget target) { |
| 984 return entryMap.putIfAbsent(target, () => new CacheEntry()); | 1028 return entryMap.putIfAbsent(target, () => new CacheEntry()); |
| 985 } | 1029 } |
| 986 | 1030 |
| 987 TimestampedData<String> getContents(Source source) => source.contents; | 1031 TimestampedData<String> getContents(Source source) => source.contents; |
| 988 | 1032 |
| 1033 @override | |
| 1034 Namespace getPublicNamespace(LibraryElement library) { | |
| 1035 // TODO(scheglov) Should be be replaced with an explicit input? | |
|
Brian Wilkerson
2015/03/17 13:52:49
"be be" --> "be"
| |
| 1036 // TODO(scheglov) Based on... LibraryElement's closure? | |
| 1037 var cacheEntry = getCacheEntry(library.source); | |
| 1038 return cacheEntry.getValue(PUBLIC_NAMESPACE); | |
| 1039 } | |
| 1040 | |
| 989 noSuchMethod(Invocation invocation) { | 1041 noSuchMethod(Invocation invocation) { |
| 990 print('noSuchMethod: ${invocation.memberName}'); | 1042 print('noSuchMethod: ${invocation.memberName}'); |
| 991 return super.noSuchMethod(invocation); | 1043 return super.noSuchMethod(invocation); |
| 992 } | 1044 } |
| 993 } | 1045 } |
| OLD | NEW |