Index: pkg/analysis_server/test/domain_context_test.dart |
diff --git a/pkg/analysis_server/test/domain_context_test.dart b/pkg/analysis_server/test/domain_context_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7c391269b3925a4e6d072d2dc46b32ff681e56d6 |
--- /dev/null |
+++ b/pkg/analysis_server/test/domain_context_test.dart |
@@ -0,0 +1,99 @@ |
+// Copyright (c) 2014, 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.context; |
+ |
+import 'package:analyzer/src/generated/engine.dart'; |
+import 'package:analysis_server/src/analysis_server.dart'; |
+import 'package:analysis_server/src/domain_context.dart'; |
+import 'package:analysis_server/src/domain_server.dart'; |
+import 'package:analysis_server/src/protocol.dart'; |
+import 'package:unittest/matcher.dart'; |
+import 'package:unittest/unittest.dart'; |
+ |
+import 'mocks.dart'; |
+ |
+main() { |
+ group('ContextDomainHandlerTest', () { |
+ test('applyChanges', ContextDomainHandlerTest.applyChanges); |
+ test('setOptions', ContextDomainHandlerTest.setOptions); |
+ test('setPrioritySources_empty', ContextDomainHandlerTest.setPrioritySources_empty); |
+ test('setPrioritySources_nonEmpty', ContextDomainHandlerTest.setPrioritySources_nonEmpty); |
+ }); |
+} |
+ |
+class ContextDomainHandlerTest { |
+ static void applyChanges() { |
+ AnalysisServer server = new AnalysisServer(new MockChannel()); |
+ String contextId = _createContext(server); |
+ ChangeSet changeSet = new ChangeSet(); |
+ ContextDomainHandler handler = new ContextDomainHandler(server); |
+ |
+ Request request = new Request('0', ContextDomainHandler.APPLY_CHANGES_NAME); |
+ request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
+ request.setParameter(ContextDomainHandler.CHANGES_PARAM, changeSet); |
+ Response response = handler.applyChanges(request); |
danrubel
2014/01/22 01:04:07
Should these be tested via the handleRequest metho
Brian Wilkerson
2014/01/24 21:49:27
Probably. It would have caught one of the problems
|
+ expect(response.toJson(), equals({ |
+ Response.ID: '0', |
+ Response.ERROR: null |
+ })); |
+ } |
+ |
+ static void setOptions() { |
+ AnalysisServer server = new AnalysisServer(new MockChannel()); |
+ String contextId = _createContext(server); |
+ Map<String, Object> options = new Map<String, Object>(); |
+ ContextDomainHandler handler = new ContextDomainHandler(server); |
+ |
+ Request request = new Request('0', ContextDomainHandler.SET_OPTIONS_NAME); |
+ request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
+ request.setParameter(ContextDomainHandler.OPTIONS_PARAM, options); |
+ Response response = handler.setOptions(request); |
+ expect(response.toJson(), equals({ |
+ Response.ID: '0', |
+ Response.ERROR: null |
+ })); |
+ } |
+ |
+ static void setPrioritySources_empty() { |
+ AnalysisServer server = new AnalysisServer(new MockChannel()); |
+ String contextId = _createContext(server); |
+ List<String> sources = new List<String>(); |
+ ContextDomainHandler handler = new ContextDomainHandler(server); |
+ |
+ Request request = new Request('0', ContextDomainHandler.SET_PRIORITY_SOURCES_NAME); |
+ request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
+ request.setParameter(ContextDomainHandler.SOURCES_PARAM, sources); |
+ Response response = handler.setPrioritySources(request); |
+ expect(response.toJson(), equals({ |
+ Response.ID: '0', |
+ Response.ERROR: null |
+ })); |
+ } |
+ |
+ static void setPrioritySources_nonEmpty() { |
+ AnalysisServer server = new AnalysisServer(new MockChannel()); |
+ String contextId = _createContext(server); |
+ List<String> sources = new List<String>(); |
+ sources.add("foo.dart"); |
+ ContextDomainHandler handler = new ContextDomainHandler(server); |
+ |
+ Request request = new Request('0', ContextDomainHandler.SET_PRIORITY_SOURCES_NAME); |
+ request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
+ request.setParameter(ContextDomainHandler.SOURCES_PARAM, sources); |
+ Response response = handler.setPrioritySources(request); |
+ expect(response.toJson(), equals({ |
+ Response.ID: '0', |
+ Response.ERROR: null |
+ })); |
+ } |
+ |
+ static String _createContext(AnalysisServer server) { |
+ ServerDomainHandler handler = new ServerDomainHandler(server); |
+ Request request = new Request('0', ServerDomainHandler.CREATE_CONTEXT_METHOD); |
+ request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, ''); |
+ Response response = handler.handleRequest(request); |
+ return response.getResult(ServerDomainHandler.CONTEXT_ID_RESULT); |
+ } |
+} |