| 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_work_manager_test; |    5 library test.src.task.dart_work_manager_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/engine.dart' |    9 import 'package:analyzer/src/generated/engine.dart' | 
|    9     show CacheState, InternalAnalysisContext; |   10     show CacheState, ChangeNoticeImpl, InternalAnalysisContext; | 
|   10 import 'package:analyzer/src/generated/java_engine.dart' show CaughtException; |   11 import 'package:analyzer/src/generated/java_engine.dart' show CaughtException; | 
|   11 import 'package:analyzer/src/generated/source.dart'; |   12 import 'package:analyzer/src/generated/source.dart'; | 
 |   13 import 'package:analyzer/src/generated/testing/ast_factory.dart'; | 
|   12 import 'package:analyzer/src/task/dart.dart'; |   14 import 'package:analyzer/src/task/dart.dart'; | 
|   13 import 'package:analyzer/src/task/dart_work_manager.dart'; |   15 import 'package:analyzer/src/task/dart_work_manager.dart'; | 
|   14 import 'package:analyzer/src/task/driver.dart'; |   16 import 'package:analyzer/src/task/driver.dart'; | 
|   15 import 'package:analyzer/task/dart.dart'; |   17 import 'package:analyzer/task/dart.dart'; | 
|   16 import 'package:analyzer/task/model.dart'; |   18 import 'package:analyzer/task/model.dart'; | 
|   17 import 'package:typed_mock/typed_mock.dart'; |   19 import 'package:typed_mock/typed_mock.dart'; | 
|   18 import 'package:unittest/unittest.dart'; |   20 import 'package:unittest/unittest.dart'; | 
|   19  |   21  | 
|   20 import '../../generated/test_support.dart'; |   22 import '../../generated/test_support.dart'; | 
|   21 import '../../reflective_tests.dart'; |   23 import '../../reflective_tests.dart'; | 
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  274  |  276  | 
|  275   void test_getNextResultPriority_hasUnknown() { |  277   void test_getNextResultPriority_hasUnknown() { | 
|  276     manager.unknownSourceQueue.addAll([source1]); |  278     manager.unknownSourceQueue.addAll([source1]); | 
|  277     expect(manager.getNextResultPriority(), WorkOrderPriority.NORMAL); |  279     expect(manager.getNextResultPriority(), WorkOrderPriority.NORMAL); | 
|  278   } |  280   } | 
|  279  |  281  | 
|  280   void test_getNextResultPriority_nothingToDo() { |  282   void test_getNextResultPriority_nothingToDo() { | 
|  281     expect(manager.getNextResultPriority(), WorkOrderPriority.NONE); |  283     expect(manager.getNextResultPriority(), WorkOrderPriority.NONE); | 
|  282   } |  284   } | 
|  283  |  285  | 
|  284   void test_resultsComputed_isLibrary() { |  | 
|  285     manager.unknownSourceQueue.addAll([source1, source2, source3]); |  | 
|  286     manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.LIBRARY}); |  | 
|  287     expect_librarySourceQueue([source2]); |  | 
|  288     expect_unknownSourceQueue([source1, source3]); |  | 
|  289   } |  | 
|  290  |  | 
|  291   void test_resultsComputed_isPart() { |  | 
|  292     manager.unknownSourceQueue.addAll([source1, source2, source3]); |  | 
|  293     manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART}); |  | 
|  294     expect_librarySourceQueue([]); |  | 
|  295     expect_unknownSourceQueue([source1, source3]); |  | 
|  296   } |  | 
|  297  |  | 
|  298   void test_resultsComputed_noSourceKind() { |  286   void test_resultsComputed_noSourceKind() { | 
|  299     manager.unknownSourceQueue.addAll([source1, source2]); |  287     manager.unknownSourceQueue.addAll([source1, source2]); | 
|  300     manager.resultsComputed(source1, {}); |  288     manager.resultsComputed(source1, {}); | 
|  301     expect_librarySourceQueue([]); |  289     expect_librarySourceQueue([]); | 
|  302     expect_unknownSourceQueue([source1, source2]); |  290     expect_unknownSourceQueue([source1, source2]); | 
|  303   } |  291   } | 
|  304  |  292  | 
|  305   void test_resultsComputed_notDart() { |  293   void test_resultsComputed_notDart() { | 
|  306     manager.unknownSourceQueue.addAll([source1, source2]); |  294     manager.unknownSourceQueue.addAll([source1, source2]); | 
|  307     manager.resultsComputed(new TestSource('test.html'), {}); |  295     manager.resultsComputed(new TestSource('test.html'), {}); | 
|  308     expect_librarySourceQueue([]); |  296     expect_librarySourceQueue([]); | 
|  309     expect_unknownSourceQueue([source1, source2]); |  297     expect_unknownSourceQueue([source1, source2]); | 
|  310   } |  298   } | 
 |  299  | 
 |  300   void test_resultsComputed_parsedUnit() { | 
 |  301     CompilationUnit unit = AstFactory.compilationUnit(); | 
 |  302     manager.resultsComputed(source1, {PARSED_UNIT: unit}); | 
 |  303     expect(context.getNotice(source1).parsedDartUnit, unit); | 
 |  304     expect(context.getNotice(source1).resolvedDartUnit, isNull); | 
 |  305   } | 
 |  306  | 
 |  307   void test_resultsComputed_resolvedUnit() { | 
 |  308     CompilationUnit unit = AstFactory.compilationUnit(); | 
 |  309     manager.resultsComputed( | 
 |  310         new LibrarySpecificUnit(source1, source2), {RESOLVED_UNIT: unit}); | 
 |  311     expect(context.getNotice(source2).parsedDartUnit, isNull); | 
 |  312     expect(context.getNotice(source2).resolvedDartUnit, unit); | 
 |  313   } | 
 |  314  | 
 |  315   void test_resultsComputed_sourceKind_isLibrary() { | 
 |  316     manager.unknownSourceQueue.addAll([source1, source2, source3]); | 
 |  317     manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.LIBRARY}); | 
 |  318     expect_librarySourceQueue([source2]); | 
 |  319     expect_unknownSourceQueue([source1, source3]); | 
 |  320   } | 
 |  321  | 
 |  322   void test_resultsComputed_sourceKind_isPart() { | 
 |  323     manager.unknownSourceQueue.addAll([source1, source2, source3]); | 
 |  324     manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART}); | 
 |  325     expect_librarySourceQueue([]); | 
 |  326     expect_unknownSourceQueue([source1, source3]); | 
 |  327   } | 
|  311 } |  328 } | 
|  312  |  329  | 
|  313 class _InternalAnalysisContextMock extends TypedMock |  330 class _InternalAnalysisContextMock extends TypedMock | 
|  314     implements InternalAnalysisContext { |  331     implements InternalAnalysisContext { | 
|  315   @override |  332   @override | 
|  316   AnalysisCache analysisCache; |  333   AnalysisCache analysisCache; | 
|  317  |  334  | 
 |  335   Map<Source, ChangeNoticeImpl> _pendingNotices = <Source, ChangeNoticeImpl>{}; | 
 |  336  | 
|  318   _InternalAnalysisContextMock() { |  337   _InternalAnalysisContextMock() { | 
|  319     analysisCache = new AnalysisCache([new UniversalCachePartition(this)]); |  338     analysisCache = new AnalysisCache([new UniversalCachePartition(this)]); | 
|  320   } |  339   } | 
|  321  |  340  | 
|  322   @override |  341   @override | 
|  323   CacheEntry getCacheEntry(AnalysisTarget target) { |  342   CacheEntry getCacheEntry(AnalysisTarget target) { | 
|  324     CacheEntry entry = analysisCache.get(target); |  343     CacheEntry entry = analysisCache.get(target); | 
|  325     if (entry == null) { |  344     if (entry == null) { | 
|  326       entry = new CacheEntry(target); |  345       entry = new CacheEntry(target); | 
|  327       analysisCache.put(entry); |  346       analysisCache.put(entry); | 
|  328     } |  347     } | 
|  329     return entry; |  348     return entry; | 
|  330   } |  349   } | 
|  331  |  350  | 
 |  351   @override | 
 |  352   ChangeNoticeImpl getNotice(Source source) { | 
 |  353     return _pendingNotices.putIfAbsent( | 
 |  354         source, () => new ChangeNoticeImpl(source)); | 
 |  355   } | 
 |  356  | 
|  332   noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |  357   noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 
|  333 } |  358 } | 
| OLD | NEW |