| OLD | NEW |
| 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_constants.dart'; | 8 import 'package:analysis_server/protocol/protocol_constants.dart'; |
| 9 import 'package:analysis_server/protocol/protocol_generated.dart'; | 9 import 'package:analysis_server/protocol/protocol_generated.dart'; |
| 10 import 'package:analysis_server/src/analysis_server.dart'; | 10 import 'package:analysis_server/src/analysis_server.dart'; |
| 11 import 'package:analysis_server/src/domain_analysis.dart'; | 11 import 'package:analysis_server/src/domain_analysis.dart'; |
| 12 import 'package:analysis_server/src/plugin/server_plugin.dart'; | |
| 13 import 'package:analyzer/file_system/memory_file_system.dart'; | 12 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 14 import 'package:analyzer/instrumentation/instrumentation.dart'; | 13 import 'package:analyzer/instrumentation/instrumentation.dart'; |
| 15 import 'package:analyzer/src/generated/engine.dart'; | 14 import 'package:analyzer/src/generated/engine.dart'; |
| 16 import 'package:analyzer/src/generated/sdk.dart'; | 15 import 'package:analyzer/src/generated/sdk.dart'; |
| 17 import 'package:analyzer_plugin/protocol/protocol_common.dart'; | 16 import 'package:analyzer_plugin/protocol/protocol_common.dart'; |
| 18 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; | 17 import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin; |
| 19 import 'package:plugin/manager.dart'; | 18 import 'package:plugin/manager.dart'; |
| 20 import 'package:plugin/plugin.dart'; | 19 import 'package:plugin/plugin.dart'; |
| 21 import 'package:test/test.dart'; | 20 import 'package:test/test.dart'; |
| 22 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 23 | 22 |
| 24 import 'analysis_abstract.dart'; | 23 import 'analysis_abstract.dart'; |
| 25 import 'mock_sdk.dart'; | 24 import 'mock_sdk.dart'; |
| 26 import 'mocks.dart'; | 25 import 'mocks.dart'; |
| 27 | 26 |
| 28 main() { | 27 main() { |
| 29 defineReflectiveSuite(() { | 28 defineReflectiveSuite(() { |
| 30 defineReflectiveTests(AnalysisDomainTest); | 29 defineReflectiveTests(AnalysisDomainTest); |
| 31 defineReflectiveTests(SetSubscriptionsTest); | 30 defineReflectiveTests(SetSubscriptionsTest); |
| 32 }); | 31 }); |
| 33 | 32 |
| 34 MockServerChannel serverChannel; | 33 MockServerChannel serverChannel; |
| 35 MemoryResourceProvider resourceProvider; | 34 MemoryResourceProvider resourceProvider; |
| 36 AnalysisServer server; | 35 AnalysisServer server; |
| 37 AnalysisDomainHandler handler; | 36 AnalysisDomainHandler handler; |
| 38 | 37 |
| 39 void processRequiredPlugins(ServerPlugin serverPlugin) { | 38 void processRequiredPlugins() { |
| 40 List<Plugin> plugins = <Plugin>[]; | 39 List<Plugin> plugins = <Plugin>[]; |
| 41 plugins.addAll(AnalysisEngine.instance.requiredPlugins); | 40 plugins.addAll(AnalysisEngine.instance.requiredPlugins); |
| 42 plugins.add(serverPlugin); | |
| 43 | 41 |
| 44 ExtensionManager manager = new ExtensionManager(); | 42 ExtensionManager manager = new ExtensionManager(); |
| 45 manager.processPlugins(plugins); | 43 manager.processPlugins(plugins); |
| 46 } | 44 } |
| 47 | 45 |
| 48 setUp(() { | 46 setUp(() { |
| 49 serverChannel = new MockServerChannel(); | 47 serverChannel = new MockServerChannel(); |
| 50 resourceProvider = new MemoryResourceProvider(); | 48 resourceProvider = new MemoryResourceProvider(); |
| 51 ServerPlugin serverPlugin = new ServerPlugin(); | 49 processRequiredPlugins(); |
| 52 processRequiredPlugins(serverPlugin); | |
| 53 // Create an SDK in the mock file system. | 50 // Create an SDK in the mock file system. |
| 54 new MockSdk(resourceProvider: resourceProvider); | 51 new MockSdk(resourceProvider: resourceProvider); |
| 55 server = new AnalysisServer( | 52 server = new AnalysisServer( |
| 56 serverChannel, | 53 serverChannel, |
| 57 resourceProvider, | 54 resourceProvider, |
| 58 new MockPackageMapProvider(), | 55 new MockPackageMapProvider(), |
| 59 serverPlugin, | |
| 60 new AnalysisServerOptions(), | 56 new AnalysisServerOptions(), |
| 61 new DartSdkManager('/', false), | 57 new DartSdkManager('/', false), |
| 62 InstrumentationService.NULL_SERVICE); | 58 InstrumentationService.NULL_SERVICE); |
| 63 handler = new AnalysisDomainHandler(server); | 59 handler = new AnalysisDomainHandler(server); |
| 64 }); | 60 }); |
| 65 | 61 |
| 66 group('updateContent', testUpdateContent); | 62 group('updateContent', testUpdateContent); |
| 67 | 63 |
| 68 group('AnalysisDomainHandler', () { | 64 group('AnalysisDomainHandler', () { |
| 69 // TODO(brianwilkerson) Re-enable these tests if we re-enable the | 65 // TODO(brianwilkerson) Re-enable these tests if we re-enable the |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 Map<AnalysisService, List<String>> analysisSubscriptions = {}; | 420 Map<AnalysisService, List<String>> analysisSubscriptions = {}; |
| 425 | 421 |
| 426 Map<String, List<AnalysisError>> filesErrors = {}; | 422 Map<String, List<AnalysisError>> filesErrors = {}; |
| 427 Map<String, List<HighlightRegion>> filesHighlights = {}; | 423 Map<String, List<HighlightRegion>> filesHighlights = {}; |
| 428 Map<String, List<NavigationRegion>> filesNavigation = {}; | 424 Map<String, List<NavigationRegion>> filesNavigation = {}; |
| 429 | 425 |
| 430 String testFile = '/project/bin/test.dart'; | 426 String testFile = '/project/bin/test.dart'; |
| 431 String testCode; | 427 String testCode; |
| 432 | 428 |
| 433 AnalysisTestHelper() { | 429 AnalysisTestHelper() { |
| 434 ServerPlugin serverPlugin = new ServerPlugin(); | 430 processRequiredPlugins(); |
| 435 processRequiredPlugins(serverPlugin); | |
| 436 serverChannel = new MockServerChannel(); | 431 serverChannel = new MockServerChannel(); |
| 437 resourceProvider = new MemoryResourceProvider(); | 432 resourceProvider = new MemoryResourceProvider(); |
| 438 // Create an SDK in the mock file system. | 433 // Create an SDK in the mock file system. |
| 439 new MockSdk(resourceProvider: resourceProvider); | 434 new MockSdk(resourceProvider: resourceProvider); |
| 440 server = new AnalysisServer( | 435 server = new AnalysisServer( |
| 441 serverChannel, | 436 serverChannel, |
| 442 resourceProvider, | 437 resourceProvider, |
| 443 new MockPackageMapProvider(), | 438 new MockPackageMapProvider(), |
| 444 serverPlugin, | |
| 445 new AnalysisServerOptions(), | 439 new AnalysisServerOptions(), |
| 446 new DartSdkManager('/', false), | 440 new DartSdkManager('/', false), |
| 447 InstrumentationService.NULL_SERVICE); | 441 InstrumentationService.NULL_SERVICE); |
| 448 handler = new AnalysisDomainHandler(server); | 442 handler = new AnalysisDomainHandler(server); |
| 449 // listen for notifications | 443 // listen for notifications |
| 450 Stream<Notification> notificationStream = | 444 Stream<Notification> notificationStream = |
| 451 serverChannel.notificationController.stream; | 445 serverChannel.notificationController.stream; |
| 452 notificationStream.listen((Notification notification) { | 446 notificationStream.listen((Notification notification) { |
| 453 if (notification.event == ANALYSIS_NOTIFICATION_ERRORS) { | 447 if (notification.event == ANALYSIS_NOTIFICATION_ERRORS) { |
| 454 var decoded = new AnalysisErrorsParams.fromNotification(notification); | 448 var decoded = new AnalysisErrorsParams.fromNotification(notification); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 } | 584 } |
| 591 | 585 |
| 592 /** | 586 /** |
| 593 * Validates that the given [request] is handled successfully. | 587 * Validates that the given [request] is handled successfully. |
| 594 */ | 588 */ |
| 595 void handleSuccessfulRequest(Request request) { | 589 void handleSuccessfulRequest(Request request) { |
| 596 Response response = handler.handleRequest(request); | 590 Response response = handler.handleRequest(request); |
| 597 expect(response, isResponseSuccess('0')); | 591 expect(response, isResponseSuccess('0')); |
| 598 } | 592 } |
| 599 | 593 |
| 600 void processRequiredPlugins(ServerPlugin serverPlugin) { | 594 void processRequiredPlugins() { |
| 601 List<Plugin> plugins = <Plugin>[]; | 595 List<Plugin> plugins = <Plugin>[]; |
| 602 plugins.addAll(AnalysisEngine.instance.requiredPlugins); | 596 plugins.addAll(AnalysisEngine.instance.requiredPlugins); |
| 603 plugins.add(serverPlugin); | |
| 604 | 597 |
| 605 ExtensionManager manager = new ExtensionManager(); | 598 ExtensionManager manager = new ExtensionManager(); |
| 606 manager.processPlugins(plugins); | 599 manager.processPlugins(plugins); |
| 607 } | 600 } |
| 608 | 601 |
| 609 /** | 602 /** |
| 610 * Send an `updateContent` request for [testFile]. | 603 * Send an `updateContent` request for [testFile]. |
| 611 */ | 604 */ |
| 612 void sendContentChange(dynamic contentChange) { | 605 void sendContentChange(dynamic contentChange) { |
| 613 Request request = new AnalysisUpdateContentParams({testFile: contentChange}) | 606 Request request = new AnalysisUpdateContentParams({testFile: contentChange}) |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 plugin.AnalysisSetSubscriptionsParams params = | 788 plugin.AnalysisSetSubscriptionsParams params = |
| 796 pluginManager.analysisSetSubscriptionsParams; | 789 pluginManager.analysisSetSubscriptionsParams; |
| 797 expect(params, isNotNull); | 790 expect(params, isNotNull); |
| 798 Map<plugin.AnalysisService, List<String>> subscriptions = | 791 Map<plugin.AnalysisService, List<String>> subscriptions = |
| 799 params.subscriptions; | 792 params.subscriptions; |
| 800 expect(subscriptions, hasLength(1)); | 793 expect(subscriptions, hasLength(1)); |
| 801 List<String> files = subscriptions[plugin.AnalysisService.HIGHLIGHTS]; | 794 List<String> files = subscriptions[plugin.AnalysisService.HIGHLIGHTS]; |
| 802 expect(files, [testFile]); | 795 expect(files, [testFile]); |
| 803 } | 796 } |
| 804 } | 797 } |
| OLD | NEW |