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

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

Issue 1377613002: Fix for the libraries to parts map. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 months 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
« no previous file with comments | « pkg/analyzer/lib/src/task/dart_work_manager.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 } 569 }
570 570
571 void test_resultsComputed_includedParts_updatePartLibraries() { 571 void test_resultsComputed_includedParts_updatePartLibraries() {
572 Source part1 = new TestSource('part1.dart'); 572 Source part1 = new TestSource('part1.dart');
573 Source part2 = new TestSource('part2.dart'); 573 Source part2 = new TestSource('part2.dart');
574 Source part3 = new TestSource('part3.dart'); 574 Source part3 = new TestSource('part3.dart');
575 Source library1 = new TestSource('library1.dart'); 575 Source library1 = new TestSource('library1.dart');
576 Source library2 = new TestSource('library2.dart'); 576 Source library2 = new TestSource('library2.dart');
577 _getOrCreateEntry(part1).setValue(CONTAINING_LIBRARIES, [], []); 577 _getOrCreateEntry(part1).setValue(CONTAINING_LIBRARIES, [], []);
578 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.VALID); 578 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.VALID);
579 // configure AnalysisContext mock
580 when(context.prioritySources).thenReturn(<Source>[]);
581 when(context.shouldErrorsBeAnalyzed(anyObject, anyObject))
582 .thenReturn(false);
579 // library1 parts 583 // library1 parts
580 manager.resultsComputed(library1, { 584 manager.resultsComputed(library1, {
581 INCLUDED_PARTS: [part1, part2] 585 INCLUDED_PARTS: [part1, part2],
586 SOURCE_KIND: SourceKind.LIBRARY
582 }); 587 });
583 expect(manager.partLibrariesMap[part1], [library1]); 588 expect(manager.partLibrariesMap[part1], [library1]);
584 expect(manager.partLibrariesMap[part2], [library1]); 589 expect(manager.partLibrariesMap[part2], [library1]);
585 expect(manager.partLibrariesMap[part3], isNull); 590 expect(manager.partLibrariesMap[part3], isNull);
586 expect(manager.libraryPartsMap[library1], [part1, part2]); 591 expect(manager.libraryPartsMap[library1], [part1, part2]);
587 expect(manager.libraryPartsMap[library2], isNull); 592 expect(manager.libraryPartsMap[library2], isNull);
588 // library2 parts 593 // library2 parts
589 manager.resultsComputed(library2, { 594 manager.resultsComputed(library2, {
590 INCLUDED_PARTS: [part2, part3] 595 INCLUDED_PARTS: [part2, part3],
596 SOURCE_KIND: SourceKind.LIBRARY
591 }); 597 });
592 expect(manager.partLibrariesMap[part1], [library1]); 598 expect(manager.partLibrariesMap[part1], [library1]);
593 expect(manager.partLibrariesMap[part2], [library1, library2]); 599 expect(manager.partLibrariesMap[part2], [library1, library2]);
594 expect(manager.partLibrariesMap[part3], [library2]); 600 expect(manager.partLibrariesMap[part3], [library2]);
595 expect(manager.libraryPartsMap[library1], [part1, part2]); 601 expect(manager.libraryPartsMap[library1], [part1, part2]);
596 expect(manager.libraryPartsMap[library2], [part2, part3]); 602 expect(manager.libraryPartsMap[library2], [part2, part3]);
597 // part1 CONTAINING_LIBRARIES 603 // part1 CONTAINING_LIBRARIES
598 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID); 604 expect(cache.getState(part1, CONTAINING_LIBRARIES), CacheState.INVALID);
599 } 605 }
600 606
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 ])); 680 ]));
675 } 681 }
676 682
677 void test_resultsComputed_sourceKind_isPart() { 683 void test_resultsComputed_sourceKind_isPart() {
678 manager.unknownSourceQueue.addAll([source1, source2, source3]); 684 manager.unknownSourceQueue.addAll([source1, source2, source3]);
679 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART}); 685 manager.resultsComputed(source2, {SOURCE_KIND: SourceKind.PART});
680 expect_librarySourceQueue([]); 686 expect_librarySourceQueue([]);
681 expect_unknownSourceQueue([source1, source3]); 687 expect_unknownSourceQueue([source1, source3]);
682 } 688 }
683 689
690 void test_resultsComputed_updatePartsLibraries_partParsed() {
691 Source part = new TestSource('part.dart');
692 expect(manager.libraryPartsMap, isEmpty);
693 // part.dart parsed, no changes is the map of libraries
694 manager.resultsComputed(
695 part, {SOURCE_KIND: SourceKind.PART, INCLUDED_PARTS: <Source>[]});
696 expect(manager.libraryPartsMap, isEmpty);
697 }
698
684 CacheEntry _getOrCreateEntry(Source source) { 699 CacheEntry _getOrCreateEntry(Source source) {
685 CacheEntry entry = cache.get(source); 700 CacheEntry entry = cache.get(source);
686 if (entry == null) { 701 if (entry == null) {
687 entry = new CacheEntry(source); 702 entry = new CacheEntry(source);
688 cache.put(entry); 703 cache.put(entry);
689 } 704 }
690 return entry; 705 return entry;
691 } 706 }
692 } 707 }
693 708
(...skipping 23 matching lines...) Expand all
717 } 732 }
718 733
719 @override 734 @override
720 ChangeNoticeImpl getNotice(Source source) { 735 ChangeNoticeImpl getNotice(Source source) {
721 return _pendingNotices.putIfAbsent( 736 return _pendingNotices.putIfAbsent(
722 source, () => new ChangeNoticeImpl(source)); 737 source, () => new ChangeNoticeImpl(source));
723 } 738 }
724 739
725 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); 740 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
726 } 741 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/task/dart_work_manager.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698