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

Side by Side Diff: packages/analyzer/test/src/task/dart_work_manager_test.dart

Issue 1521693002: Roll Observatory deps (charted -> ^0.3.0) (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years 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
OLDNEW
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/ast.dart';
9 import 'package:analyzer/src/generated/engine.dart' 9 import 'package:analyzer/src/generated/engine.dart'
10 show 10 show
11 AnalysisErrorInfo, 11 AnalysisErrorInfo,
12 AnalysisErrorInfoImpl, 12 AnalysisErrorInfoImpl,
13 CacheState, 13 CacheState,
14 ChangeNoticeImpl, 14 ChangeNoticeImpl,
15 InternalAnalysisContext; 15 InternalAnalysisContext;
16 import 'package:analyzer/src/generated/error.dart' show AnalysisError; 16 import 'package:analyzer/src/generated/error.dart' show AnalysisError;
17 import 'package:analyzer/src/generated/java_engine.dart' show CaughtException; 17 import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
18 import 'package:analyzer/src/generated/scanner.dart' show ScannerErrorCode; 18 import 'package:analyzer/src/generated/scanner.dart' show ScannerErrorCode;
19 import 'package:analyzer/src/generated/sdk.dart';
19 import 'package:analyzer/src/generated/source.dart'; 20 import 'package:analyzer/src/generated/source.dart';
20 import 'package:analyzer/src/generated/testing/ast_factory.dart'; 21 import 'package:analyzer/src/generated/testing/ast_factory.dart';
21 import 'package:analyzer/src/task/dart.dart'; 22 import 'package:analyzer/src/task/dart.dart';
22 import 'package:analyzer/src/task/dart_work_manager.dart'; 23 import 'package:analyzer/src/task/dart_work_manager.dart';
23 import 'package:analyzer/task/dart.dart'; 24 import 'package:analyzer/task/dart.dart';
24 import 'package:analyzer/task/general.dart'; 25 import 'package:analyzer/task/general.dart';
25 import 'package:analyzer/task/model.dart'; 26 import 'package:analyzer/task/model.dart';
26 import 'package:typed_mock/typed_mock.dart'; 27 import 'package:typed_mock/typed_mock.dart';
27 import 'package:unittest/unittest.dart'; 28 import 'package:unittest/unittest.dart';
28 29
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 manager.libraryPartsMap[library1] = [part1]; 325 manager.libraryPartsMap[library1] = [part1];
325 manager.libraryPartsMap[library2] = [part1, part2]; 326 manager.libraryPartsMap[library2] = [part1, part2];
326 // getLibrariesContainingPart 327 // getLibrariesContainingPart
327 expect(manager.getLibrariesContainingPart(part1), 328 expect(manager.getLibrariesContainingPart(part1),
328 unorderedEquals([library1, library2])); 329 unorderedEquals([library1, library2]));
329 expect( 330 expect(
330 manager.getLibrariesContainingPart(part2), unorderedEquals([library2])); 331 manager.getLibrariesContainingPart(part2), unorderedEquals([library2]));
331 expect(manager.getLibrariesContainingPart(part3), isEmpty); 332 expect(manager.getLibrariesContainingPart(part3), isEmpty);
332 } 333 }
333 334
335 void test_getLibrariesContainingPart_inSDK() {
336 Source part = new _SourceMock('part.dart');
337 when(part.isInSystemLibrary).thenReturn(true);
338 // SDK work manager
339 DartWorkManager sdkDartWorkManagerMock = new _DartWorkManagerMock();
340 when(sdkDartWorkManagerMock.getLibrariesContainingPart(part))
341 .thenReturn([source2, source3]);
342 // SDK context mock
343 InternalAnalysisContext sdkContextMock = new _InternalAnalysisContextMock();
344 when(sdkContextMock.workManagers).thenReturn([sdkDartWorkManagerMock]);
345 // SDK mock
346 DartSdk sdkMock = new _DartSdkMock();
347 when(sdkMock.context).thenReturn(sdkContextMock);
348 // SourceFactory mock
349 SourceFactory sourceFactory = new _SourceFactoryMock();
350 when(sourceFactory.dartSdk).thenReturn(sdkMock);
351 when(context.sourceFactory).thenReturn(sourceFactory);
352 // SDK source mock
353 Source source = new _SourceMock('test.dart');
354 when(source.source).thenReturn(source);
355 when(source.isInSystemLibrary).thenReturn(true);
356 // validate
357 expect(manager.getLibrariesContainingPart(part),
358 unorderedEquals([source2, source3]));
359 }
360
334 void test_getNextResult_hasLibraries_firstIsError() { 361 void test_getNextResult_hasLibraries_firstIsError() {
335 entry1.setErrorState(caughtException, [LIBRARY_ERRORS_READY]); 362 entry1.setErrorState(caughtException, [LIBRARY_ERRORS_READY]);
336 manager.librarySourceQueue.addAll([source1, source2]); 363 manager.librarySourceQueue.addAll([source1, source2]);
337 TargetedResult request = manager.getNextResult(); 364 TargetedResult request = manager.getNextResult();
338 expect(request.target, source2); 365 expect(request.target, source2);
339 expect(request.result, LIBRARY_ERRORS_READY); 366 expect(request.result, LIBRARY_ERRORS_READY);
340 // source1 is out, source2 is waiting 367 // source1 is out, source2 is waiting
341 expect_librarySourceQueue([source2]); 368 expect_librarySourceQueue([source2]);
342 } 369 }
343 370
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 }); 624 });
598 expect(manager.partLibrariesMap[part1], [library1]); 625 expect(manager.partLibrariesMap[part1], [library1]);
599 expect(manager.partLibrariesMap[part2], [library1, library2]); 626 expect(manager.partLibrariesMap[part2], [library1, library2]);
600 expect(manager.partLibrariesMap[part3], [library2]); 627 expect(manager.partLibrariesMap[part3], [library2]);
601 expect(manager.libraryPartsMap[library1], [part1, part2]); 628 expect(manager.libraryPartsMap[library1], [part1, part2]);
602 expect(manager.libraryPartsMap[library2], [part2, part3]); 629 expect(manager.libraryPartsMap[library2], [part2, part3]);
603 // part1 CONTAINING_LIBRARIES 630 // part1 CONTAINING_LIBRARIES
604 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID); 631 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID);
605 } 632 }
606 633
634 void test_resultsComputed_inSDK() {
635 DartWorkManager sdkDartWorkManagerMock = new _DartWorkManagerMock();
636 // SDK context mock
637 InternalAnalysisContext sdkContextMock = new _InternalAnalysisContextMock();
638 when(sdkContextMock.workManagers).thenReturn([sdkDartWorkManagerMock]);
639 // SDK mock
640 DartSdk sdkMock = new _DartSdkMock();
641 when(sdkMock.context).thenReturn(sdkContextMock);
642 // SourceFactory mock
643 SourceFactory sourceFactory = new _SourceFactoryMock();
644 when(sourceFactory.dartSdk).thenReturn(sdkMock);
645 when(context.sourceFactory).thenReturn(sourceFactory);
646 // SDK source mock
647 Source source = new _SourceMock('test.dart');
648 when(source.source).thenReturn(source);
649 when(source.isInSystemLibrary).thenReturn(true);
650 // notify and validate
651 Map<ResultDescriptor, dynamic> outputs = <ResultDescriptor, dynamic>{};
652 manager.resultsComputed(source, outputs);
653 verify(sdkDartWorkManagerMock.resultsComputed(source, outputs)).once();
654 }
655
607 void test_resultsComputed_noSourceKind() { 656 void test_resultsComputed_noSourceKind() {
608 manager.unknownSourceQueue.addAll([source1, source2]); 657 manager.unknownSourceQueue.addAll([source1, source2]);
609 manager.resultsComputed(source1, {}); 658 manager.resultsComputed(source1, {});
610 expect_librarySourceQueue([]); 659 expect_librarySourceQueue([]);
611 expect_unknownSourceQueue([source1, source2]); 660 expect_unknownSourceQueue([source1, source2]);
612 } 661 }
613 662
614 void test_resultsComputed_notDart() { 663 void test_resultsComputed_notDart() {
615 manager.unknownSourceQueue.addAll([source1, source2]); 664 manager.unknownSourceQueue.addAll([source1, source2]);
616 manager.resultsComputed(new TestSource('test.html'), {}); 665 manager.resultsComputed(new TestSource('test.html'), {});
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 CacheEntry _getOrCreateEntry(Source source) { 748 CacheEntry _getOrCreateEntry(Source source) {
700 CacheEntry entry = cache.get(source); 749 CacheEntry entry = cache.get(source);
701 if (entry == null) { 750 if (entry == null) {
702 entry = new CacheEntry(source); 751 entry = new CacheEntry(source);
703 cache.put(entry); 752 cache.put(entry);
704 } 753 }
705 return entry; 754 return entry;
706 } 755 }
707 } 756 }
708 757
758 class _DartSdkMock extends TypedMock implements DartSdk {
759 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
760 }
761
762 class _DartWorkManagerMock extends TypedMock implements DartWorkManager {
763 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
764 }
765
709 class _InternalAnalysisContextMock extends TypedMock 766 class _InternalAnalysisContextMock extends TypedMock
710 implements InternalAnalysisContext { 767 implements InternalAnalysisContext {
711 @override 768 @override
712 CachePartition privateAnalysisCachePartition; 769 CachePartition privateAnalysisCachePartition;
713 770
714 @override 771 @override
715 AnalysisCache analysisCache; 772 AnalysisCache analysisCache;
716 773
717 Map<Source, ChangeNoticeImpl> _pendingNotices = <Source, ChangeNoticeImpl>{}; 774 Map<Source, ChangeNoticeImpl> _pendingNotices = <Source, ChangeNoticeImpl>{};
718 775
(...skipping 13 matching lines...) Expand all
732 } 789 }
733 790
734 @override 791 @override
735 ChangeNoticeImpl getNotice(Source source) { 792 ChangeNoticeImpl getNotice(Source source) {
736 return _pendingNotices.putIfAbsent( 793 return _pendingNotices.putIfAbsent(
737 source, () => new ChangeNoticeImpl(source)); 794 source, () => new ChangeNoticeImpl(source));
738 } 795 }
739 796
740 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); 797 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
741 } 798 }
799
800 class _SourceFactoryMock extends TypedMock implements SourceFactory {
801 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
802 }
803
804 class _SourceMock extends TypedMock implements Source {
805 final String shortName;
806 _SourceMock(this.shortName);
807 @override
808 String get fullName => '/' + shortName;
809 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
810 @override
811 String toString() => fullName;
812 }
OLDNEW
« no previous file with comments | « packages/analyzer/test/src/task/dart_test.dart ('k') | packages/analyzer/test/src/task/html_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698