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 library test.domain.analysis; | 5 library test.domain.analysis; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 9 import 'package:analysis_server/plugin/protocol/protocol.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/constants.dart'; | 11 import 'package:analysis_server/src/constants.dart'; |
12 import 'package:analysis_server/src/domain_analysis.dart'; | 12 import 'package:analysis_server/src/domain_analysis.dart'; |
13 import 'package:analysis_server/src/plugin/server_plugin.dart'; | 13 import 'package:analysis_server/src/plugin/server_plugin.dart'; |
14 import 'package:analyzer/file_system/memory_file_system.dart'; | 14 import 'package:analyzer/file_system/memory_file_system.dart'; |
15 import 'package:analyzer/instrumentation/instrumentation.dart'; | 15 import 'package:analyzer/instrumentation/instrumentation.dart'; |
16 import 'package:analyzer/src/generated/sdk.dart'; | 16 import 'package:analyzer/src/generated/sdk.dart'; |
17 import 'package:plugin/manager.dart'; | 17 import 'package:plugin/manager.dart'; |
18 import 'package:test/test.dart'; | 18 import 'package:test/test.dart'; |
19 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 19 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
20 | 20 |
21 import 'analysis_abstract.dart'; | 21 import 'analysis_abstract.dart'; |
22 import 'mock_sdk.dart'; | 22 import 'mock_sdk.dart'; |
23 import 'mocks.dart'; | 23 import 'mocks.dart'; |
24 | 24 |
25 main() { | 25 main() { |
26 | |
27 defineReflectiveSuite(() { | 26 defineReflectiveSuite(() { |
28 defineReflectiveTests(AnalysisDomainTest); | 27 defineReflectiveTests(AnalysisDomainTest); |
29 defineReflectiveTests(SetSubscriptionsTest); | 28 defineReflectiveTests(SetSubscriptionsTest); |
30 }); | 29 }); |
31 | 30 |
32 MockServerChannel serverChannel; | 31 MockServerChannel serverChannel; |
33 MemoryResourceProvider resourceProvider; | 32 MemoryResourceProvider resourceProvider; |
34 AnalysisServer server; | 33 AnalysisServer server; |
35 AnalysisDomainHandler handler; | 34 AnalysisDomainHandler handler; |
36 | 35 |
37 setUp(() { | 36 setUp(() { |
38 serverChannel = new MockServerChannel(); | 37 serverChannel = new MockServerChannel(); |
39 resourceProvider = new MemoryResourceProvider(); | 38 resourceProvider = new MemoryResourceProvider(); |
40 ExtensionManager manager = new ExtensionManager(); | 39 ExtensionManager manager = new ExtensionManager(); |
41 ServerPlugin serverPlugin = new ServerPlugin(); | 40 ServerPlugin serverPlugin = new ServerPlugin(); |
42 manager.processPlugins([serverPlugin]); | 41 manager.processPlugins([serverPlugin]); |
43 MockSdk sdk = new MockSdk(resourceProvider: resourceProvider); | 42 // Create an SDK in the mock file system. |
| 43 new MockSdk(resourceProvider: resourceProvider); |
44 server = new AnalysisServer( | 44 server = new AnalysisServer( |
45 serverChannel, | 45 serverChannel, |
46 resourceProvider, | 46 resourceProvider, |
47 new MockPackageMapProvider(), | 47 new MockPackageMapProvider(), |
48 null, | 48 null, |
49 serverPlugin, | 49 serverPlugin, |
50 new AnalysisServerOptions(), | 50 new AnalysisServerOptions(), |
51 new DartSdkManager('/', false, (_) => sdk), | 51 new DartSdkManager('/', false), |
52 InstrumentationService.NULL_SERVICE); | 52 InstrumentationService.NULL_SERVICE); |
53 handler = new AnalysisDomainHandler(server); | 53 handler = new AnalysisDomainHandler(server); |
54 }); | 54 }); |
55 | 55 |
56 group('updateContent', testUpdateContent); | 56 group('updateContent', testUpdateContent); |
57 | 57 |
58 group('AnalysisDomainHandler', () { | 58 group('AnalysisDomainHandler', () { |
59 group('getReachableSources', () { | 59 group('getReachableSources', () { |
60 test('valid sources', () async { | 60 test('valid sources', () async { |
61 String fileA = '/project/a.dart'; | 61 String fileA = '/project/a.dart'; |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 | 428 |
429 String testFile = '/project/bin/test.dart'; | 429 String testFile = '/project/bin/test.dart'; |
430 String testCode; | 430 String testCode; |
431 | 431 |
432 AnalysisTestHelper() { | 432 AnalysisTestHelper() { |
433 serverChannel = new MockServerChannel(); | 433 serverChannel = new MockServerChannel(); |
434 resourceProvider = new MemoryResourceProvider(); | 434 resourceProvider = new MemoryResourceProvider(); |
435 ExtensionManager manager = new ExtensionManager(); | 435 ExtensionManager manager = new ExtensionManager(); |
436 ServerPlugin serverPlugin = new ServerPlugin(); | 436 ServerPlugin serverPlugin = new ServerPlugin(); |
437 manager.processPlugins([serverPlugin]); | 437 manager.processPlugins([serverPlugin]); |
438 MockSdk sdk = new MockSdk(resourceProvider: resourceProvider); | 438 // Create an SDK in the mock file system. |
| 439 new MockSdk(resourceProvider: resourceProvider); |
439 server = new AnalysisServer( | 440 server = new AnalysisServer( |
440 serverChannel, | 441 serverChannel, |
441 resourceProvider, | 442 resourceProvider, |
442 new MockPackageMapProvider(), | 443 new MockPackageMapProvider(), |
443 null, | 444 null, |
444 serverPlugin, | 445 serverPlugin, |
445 new AnalysisServerOptions(), | 446 new AnalysisServerOptions(), |
446 new DartSdkManager('/', false, (_) => sdk), | 447 new DartSdkManager('/', false), |
447 InstrumentationService.NULL_SERVICE); | 448 InstrumentationService.NULL_SERVICE); |
448 handler = new AnalysisDomainHandler(server); | 449 handler = new AnalysisDomainHandler(server); |
449 // listen for notifications | 450 // listen for notifications |
450 Stream<Notification> notificationStream = | 451 Stream<Notification> notificationStream = |
451 serverChannel.notificationController.stream; | 452 serverChannel.notificationController.stream; |
452 notificationStream.listen((Notification notification) { | 453 notificationStream.listen((Notification notification) { |
453 if (notification.event == ANALYSIS_ERRORS) { | 454 if (notification.event == ANALYSIS_ERRORS) { |
454 var decoded = new AnalysisErrorsParams.fromNotification(notification); | 455 var decoded = new AnalysisErrorsParams.fromNotification(notification); |
455 filesErrors[decoded.file] = decoded.errors; | 456 filesErrors[decoded.file] = decoded.errors; |
456 } | 457 } |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
774 test_beforeAnalysis() async { | 775 test_beforeAnalysis() async { |
775 addTestFile('int V = 42;'); | 776 addTestFile('int V = 42;'); |
776 createProject(); | 777 createProject(); |
777 // subscribe | 778 // subscribe |
778 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile); | 779 addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile); |
779 // wait for analysis | 780 // wait for analysis |
780 await waitForTasksFinished(); | 781 await waitForTasksFinished(); |
781 expect(filesHighlights[testFile], isNotEmpty); | 782 expect(filesHighlights[testFile], isNotEmpty); |
782 } | 783 } |
783 } | 784 } |
OLD | NEW |