Index: pkg/analysis_server/test/domain_experimental_test.dart |
diff --git a/pkg/analysis_server/test/domain_experimental_test.dart b/pkg/analysis_server/test/domain_experimental_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..22dcc7dbe877d410f9f31d4fd3cddfb98d96e912 |
--- /dev/null |
+++ b/pkg/analysis_server/test/domain_experimental_test.dart |
@@ -0,0 +1,76 @@ |
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library test.domain.experimental; |
+ |
+import 'package:analysis_server/plugin/protocol/protocol.dart'; |
+import 'package:analysis_server/src/analysis_server.dart'; |
+import 'package:analysis_server/src/domain_experimental.dart'; |
+import 'package:analysis_server/src/plugin/server_plugin.dart'; |
+import 'package:analyzer/file_system/memory_file_system.dart'; |
+import 'package:analyzer/instrumentation/instrumentation.dart'; |
+import 'package:plugin/manager.dart'; |
+import 'package:unittest/unittest.dart'; |
+ |
+import 'mock_sdk.dart'; |
+import 'mocks.dart'; |
+import 'utils.dart'; |
+ |
+main() { |
+ AnalysisServer server; |
+ ExperimentalDomainHandler handler; |
+ MemoryResourceProvider resourceProvider; |
+ |
+ initializeTestEnvironment(); |
+ |
+ setUp(() { |
+ var serverChannel = new MockServerChannel(); |
+ resourceProvider = new MemoryResourceProvider(); |
+ ExtensionManager manager = new ExtensionManager(); |
+ ServerPlugin serverPlugin = new ServerPlugin(); |
+ manager.processPlugins([serverPlugin]); |
+ server = new AnalysisServer( |
+ serverChannel, |
+ resourceProvider, |
+ new MockPackageMapProvider(), |
+ null, |
+ serverPlugin, |
+ new AnalysisServerOptions(), |
+ new MockSdk(), |
+ InstrumentationService.NULL_SERVICE); |
+ handler = new ExperimentalDomainHandler(server); |
+ }); |
+ |
+ group('ExperimentalDomainHandler', () { |
+ test('getDiagnostics', () async { |
+ String file = '/project/bin/test.dart'; |
+ resourceProvider.newFile('/project/pubspec.yaml', 'name: project'); |
+ resourceProvider.newFile(file, 'main() {}'); |
+ |
+ server.setAnalysisRoots('0', ['/project/'], [], {}); |
+ |
+ await server.onAnalysisComplete; |
+ |
+ var request = new ExperimentalGetDiagnosticsParams().toRequest('0'); |
+ var response = handler.handleRequest(request); |
+ |
+ int fileCount = MockSdk.LIBRARIES.length + 1 /* test.dart */; |
+ |
+ var json = response.toJson()[Response.RESULT]; |
+ expect(json['contexts'], hasLength(1)); |
+ var context = json['contexts'][0]; |
+ expect(context['name'], '/project'); |
+ expect(context['explicitFileCount'], fileCount); |
+ expect(context['implicitFileCount'], 0); |
+ expect(context['workItemQueueLength'], isNotNull); |
+ }); |
+ |
+ test('getDiagnostics - (no root)', () async { |
+ var request = new ExperimentalGetDiagnosticsParams().toRequest('0'); |
+ var response = handler.handleRequest(request); |
+ var json = response.toJson()[Response.RESULT]; |
+ expect(json['contexts'], hasLength(0)); |
+ }); |
+ }); |
+} |