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

Side by Side Diff: pkg/analysis_server/test/domain_analysis_test.dart

Issue 2939803002: Convert more tests to use the new driver (Closed)
Patch Set: Created 3 years, 6 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:analysis_server/protocol/protocol.dart'; 7 import 'package:analysis_server/protocol/protocol.dart';
8 import 'package:analysis_server/protocol/protocol_generated.dart'; 8 import 'package:analysis_server/protocol/protocol_generated.dart';
9 import 'package:analysis_server/src/analysis_server.dart'; 9 import 'package:analysis_server/src/analysis_server.dart';
10 import 'package:analysis_server/src/constants.dart'; 10 import 'package:analysis_server/src/constants.dart';
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 code = code.join('\n'); 642 code = code.join('\n');
643 } 643 }
644 return code as String; 644 return code as String;
645 } 645 }
646 } 646 }
647 647
648 @reflectiveTest 648 @reflectiveTest
649 class SetSubscriptionsTest extends AbstractAnalysisTest { 649 class SetSubscriptionsTest extends AbstractAnalysisTest {
650 Map<String, List<HighlightRegion>> filesHighlights = {}; 650 Map<String, List<HighlightRegion>> filesHighlights = {};
651 651
652 @override 652 Completer _resultsAvailable = new Completer();
653 bool get enableNewAnalysisDriver => false;
654 653
655 void processNotification(Notification notification) { 654 void processNotification(Notification notification) {
656 if (notification.event == ANALYSIS_HIGHLIGHTS) { 655 if (notification.event == ANALYSIS_HIGHLIGHTS) {
657 var params = new AnalysisHighlightsParams.fromNotification(notification); 656 var params = new AnalysisHighlightsParams.fromNotification(notification);
658 filesHighlights[params.file] = params.regions; 657 filesHighlights[params.file] = params.regions;
658 _resultsAvailable.complete(null);
659 } 659 }
660 } 660 }
661 661
662 test_afterAnalysis() async { 662 test_afterAnalysis() async {
663 addTestFile('int V = 42;'); 663 addTestFile('int V = 42;');
664 createProject(); 664 createProject();
665 // wait for analysis, no results initially 665 // wait for analysis, no results initially
666 await waitForTasksFinished(); 666 await waitForTasksFinished();
667 expect(filesHighlights[testFile], isNull); 667 expect(filesHighlights[testFile], isNull);
668 // subscribe 668 // subscribe
669 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile); 669 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
670 await server.onAnalysisComplete; 670 await _resultsAvailable.future;
671 // there are results 671 // there are results
672 expect(filesHighlights[testFile], isNotEmpty); 672 expect(filesHighlights[testFile], isNotEmpty);
673 } 673 }
674 674
675 test_afterAnalysis_noSuchFile() async { 675 test_afterAnalysis_noSuchFile() async {
676 String file = '/no-such-file.dart'; 676 String file = '/no-such-file.dart';
677 addTestFile('// no matter'); 677 addTestFile('// no matter');
678 createProject(); 678 createProject();
679 // wait for analysis, no results initially 679 // wait for analysis, no results initially
680 await waitForTasksFinished(); 680 await waitForTasksFinished();
(...skipping 21 matching lines...) Expand all
702 main() { 702 main() {
703 new A(); 703 new A();
704 } 704 }
705 '''); 705 ''');
706 createProject(); 706 createProject();
707 // wait for analysis, no results initially 707 // wait for analysis, no results initially
708 await waitForTasksFinished(); 708 await waitForTasksFinished();
709 expect(filesHighlights[pkgFile], isNull); 709 expect(filesHighlights[pkgFile], isNull);
710 // subscribe 710 // subscribe
711 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFile); 711 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFile);
712 await server.onAnalysisComplete; 712 await _resultsAvailable.future;
713 // there are results 713 // there are results
714 expect(filesHighlights[pkgFile], isNotEmpty); 714 expect(filesHighlights[pkgFile], isNotEmpty);
715 } 715 }
716 716
717 test_afterAnalysis_packageFile_inRoot() async { 717 test_afterAnalysis_packageFile_inRoot() async {
718 String pkgA = '/pkgA'; 718 String pkgA = '/pkgA';
719 String pkgB = '/pkgA'; 719 String pkgB = '/pkgA';
720 String pkgFileA = '$pkgA/lib/libA.dart'; 720 String pkgFileA = '$pkgA/lib/libA.dart';
721 String pkgFileB = '$pkgA/lib/libB.dart'; 721 String pkgFileB = '$pkgA/lib/libB.dart';
722 resourceProvider.newFile( 722 resourceProvider.newFile(
(...skipping 20 matching lines...) Expand all
743 { 743 {
744 resourceProvider.newFolder(projectPath); 744 resourceProvider.newFolder(projectPath);
745 handleSuccessfulRequest( 745 handleSuccessfulRequest(
746 new AnalysisSetAnalysisRootsParams([pkgA, pkgB], []).toRequest('0')); 746 new AnalysisSetAnalysisRootsParams([pkgA, pkgB], []).toRequest('0'));
747 } 747 }
748 // wait for analysis, no results initially 748 // wait for analysis, no results initially
749 await waitForTasksFinished(); 749 await waitForTasksFinished();
750 expect(filesHighlights[pkgFileA], isNull); 750 expect(filesHighlights[pkgFileA], isNull);
751 // subscribe 751 // subscribe
752 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFileA); 752 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFileA);
753 await server.onAnalysisComplete; 753 await _resultsAvailable.future;
754 // there are results 754 // there are results
755 expect(filesHighlights[pkgFileA], isNotEmpty); 755 expect(filesHighlights[pkgFileA], isNotEmpty);
756 } 756 }
757 757
758 test_afterAnalysis_packageFile_notUsed() async { 758 test_afterAnalysis_packageFile_notUsed() async {
759 String pkgFile = '/packages/pkgA/lib/libA.dart'; 759 String pkgFile = '/packages/pkgA/lib/libA.dart';
760 resourceProvider.newFile( 760 resourceProvider.newFile(
761 pkgFile, 761 pkgFile,
762 ''' 762 '''
763 library lib_a; 763 library lib_a;
764 class A {} 764 class A {}
765 '''); 765 ''');
766 resourceProvider.newFile('/project/.packages', 'pkgA:/packages/pkgA/lib'); 766 resourceProvider.newFile('/project/.packages', 'pkgA:/packages/pkgA/lib');
767 // 767 //
768 addTestFile('// no "pkgA" reference'); 768 addTestFile('// no "pkgA" reference');
769 createProject(); 769 createProject();
770 // wait for analysis, no results initially 770 // wait for analysis, no results initially
771 await waitForTasksFinished(); 771 await waitForTasksFinished();
772 expect(filesHighlights[pkgFile], isNull); 772 expect(filesHighlights[pkgFile], isNull);
773 // make it a priority file, so make analyzable 773 // make it a priority file, so make analyzable
774 server.setPriorityFiles('0', [pkgFile]); 774 server.setPriorityFiles('0', [pkgFile]);
775 // subscribe 775 // subscribe
776 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFile); 776 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, pkgFile);
777 await server.onAnalysisComplete; 777 await _resultsAvailable.future;
778 // there are results 778 // there are results
779 expect(filesHighlights[pkgFile], isNotEmpty); 779 expect(filesHighlights[pkgFile], isNotEmpty);
780 } 780 }
781 781
782 test_afterAnalysis_sdkFile() async { 782 test_afterAnalysis_sdkFile() async {
783 String file = '/lib/core/core.dart'; 783 String file = '/lib/core/core.dart';
784 addTestFile('// no matter'); 784 addTestFile('// no matter');
785 createProject(); 785 createProject();
786 // wait for analysis, no results initially 786 // wait for analysis, no results initially
787 await waitForTasksFinished(); 787 await waitForTasksFinished();
788 expect(filesHighlights[file], isNull); 788 expect(filesHighlights[file], isNull);
789 // subscribe 789 // subscribe
790 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, file); 790 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, file);
791 await server.onAnalysisComplete; 791 await _resultsAvailable.future;
792 // there are results 792 // there are results
793 expect(filesHighlights[file], isNotEmpty); 793 expect(filesHighlights[file], isNotEmpty);
794 } 794 }
795 795
796 test_beforeAnalysis() async { 796 test_beforeAnalysis() async {
797 addTestFile('int V = 42;'); 797 addTestFile('int V = 42;');
798 createProject(); 798 createProject();
799 // subscribe 799 // subscribe
800 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile); 800 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
801 // wait for analysis 801 // wait for analysis
(...skipping 11 matching lines...) Expand all
813 plugin.AnalysisSetSubscriptionsParams params = 813 plugin.AnalysisSetSubscriptionsParams params =
814 pluginManager.analysisSetSubscriptionsParams; 814 pluginManager.analysisSetSubscriptionsParams;
815 expect(params, isNotNull); 815 expect(params, isNotNull);
816 Map<plugin.AnalysisService, List<String>> subscriptions = 816 Map<plugin.AnalysisService, List<String>> subscriptions =
817 params.subscriptions; 817 params.subscriptions;
818 expect(subscriptions, hasLength(1)); 818 expect(subscriptions, hasLength(1));
819 List<String> files = subscriptions[plugin.AnalysisService.HIGHLIGHTS]; 819 List<String> files = subscriptions[plugin.AnalysisService.HIGHLIGHTS];
820 expect(files, [testFile]); 820 expect(files, [testFile]);
821 } 821 }
822 } 822 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/analysis/notification_implemented_test.dart ('k') | pkg/analysis_server/test/integration/coverage.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698