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.context; | 5 library test.domain.context; |
6 | 6 |
7 import 'package:analyzer/src/generated/engine.dart'; | 7 import 'package:analyzer/src/generated/engine.dart'; |
| 8 import 'package:analyzer/src/generated/source.dart'; |
| 9 import 'package:analyzer/src/generated/source_io.dart'; |
8 import 'package:analysis_server/src/analysis_server.dart'; | 10 import 'package:analysis_server/src/analysis_server.dart'; |
9 import 'package:analysis_server/src/domain_context.dart'; | 11 import 'package:analysis_server/src/domain_context.dart'; |
10 import 'package:analysis_server/src/domain_server.dart'; | 12 import 'package:analysis_server/src/domain_server.dart'; |
11 import 'package:analysis_server/src/protocol.dart'; | 13 import 'package:analysis_server/src/protocol.dart'; |
12 import 'package:unittest/matcher.dart'; | 14 import 'package:unittest/matcher.dart'; |
13 import 'package:unittest/unittest.dart'; | 15 import 'package:unittest/unittest.dart'; |
14 | 16 |
15 import 'mocks.dart'; | 17 import 'mocks.dart'; |
16 | 18 |
17 main() { | 19 main() { |
18 group('ContextDomainHandlerTest', () { | 20 group('ContextDomainHandlerTest', () { |
19 test('applyChanges', ContextDomainHandlerTest.applyChanges); | 21 test('applyChanges', ContextDomainHandlerTest.applyChanges); |
| 22 test('createChangeSet', ContextDomainHandlerTest.createChangeSet); |
20 test('setOptions', ContextDomainHandlerTest.setOptions); | 23 test('setOptions', ContextDomainHandlerTest.setOptions); |
21 test('setPrioritySources_empty', ContextDomainHandlerTest.setPrioritySources
_empty); | 24 test('setPrioritySources_empty', ContextDomainHandlerTest.setPrioritySources
_empty); |
22 test('setPrioritySources_nonEmpty', ContextDomainHandlerTest.setPrioritySour
ces_nonEmpty); | 25 test('setPrioritySources_nonEmpty', ContextDomainHandlerTest.setPrioritySour
ces_nonEmpty); |
23 }); | 26 }); |
24 } | 27 } |
25 | 28 |
26 class ContextDomainHandlerTest { | 29 class ContextDomainHandlerTest { |
27 static void applyChanges() { | 30 static void applyChanges() { |
28 AnalysisServer server = new AnalysisServer(new MockServerChannel()); | 31 AnalysisServer server = new AnalysisServer(new MockServerChannel()); |
29 String contextId = _createContext(server); | 32 String contextId = _createContext(server); |
30 ChangeSet changeSet = new ChangeSet(); | 33 ChangeSet changeSet = new ChangeSet(); |
31 ContextDomainHandler handler = new ContextDomainHandler(server); | 34 ContextDomainHandler handler = new ContextDomainHandler(server); |
32 | 35 |
33 Request request = new Request('0', ContextDomainHandler.APPLY_CHANGES_NAME); | 36 Request request = new Request('0', ContextDomainHandler.APPLY_CHANGES_NAME); |
34 request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); | 37 request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
35 // TODO (danrubel) convert ChangeSet to Map | 38 request.setParameter(ContextDomainHandler.CHANGES_PARAM, { |
36 // request.setParameter(ContextDomainHandler.CHANGES_PARAM, changeSet); | 39 ContextDomainHandler.ADDED_PARAM : ['ffile:/one.dart'], |
37 request.setParameter(ContextDomainHandler.CHANGES_PARAM, new Map()); | 40 ContextDomainHandler.MODIFIED_PARAM : ['ffile:/two.dart'], |
| 41 ContextDomainHandler.REMOVED_PARAM : ['ffile:/three.dart'] |
| 42 }); |
38 Response response = handler.handleRequest(request); | 43 Response response = handler.handleRequest(request); |
39 expect(response.toJson(), equals({ | 44 expect(response.toJson(), equals({ |
40 Response.ID: '0', | 45 Response.ID: '0', |
41 Response.ERROR: null | 46 Response.ERROR: null |
42 })); | 47 })); |
43 } | 48 } |
44 | 49 |
| 50 static void createChangeSet() { |
| 51 AnalysisServer server = new AnalysisServer(new MockServerChannel()); |
| 52 Request request = new Request('0', ContextDomainHandler.APPLY_CHANGES_NAME); |
| 53 ContextDomainHandler handler = new ContextDomainHandler(server); |
| 54 SourceFactory sourceFactory = new SourceFactory([new FileUriResolver()]); |
| 55 ChangeSet changeSet = handler.createChangeSet(request, sourceFactory, { |
| 56 ContextDomainHandler.ADDED_PARAM : ['ffile:/one.dart'], |
| 57 ContextDomainHandler.MODIFIED_PARAM : [], |
| 58 ContextDomainHandler.REMOVED_PARAM : ['ffile:/two.dart', 'ffile:/three.dar
t'] |
| 59 }); |
| 60 expect(changeSet.addedSources, hasLength(equals(1))); |
| 61 expect(changeSet.changedSources, hasLength(equals(0))); |
| 62 expect(changeSet.removedSources, hasLength(equals(2))); |
| 63 } |
| 64 |
45 static void setOptions() { | 65 static void setOptions() { |
46 AnalysisServer server = new AnalysisServer(new MockServerChannel()); | 66 AnalysisServer server = new AnalysisServer(new MockServerChannel()); |
47 String contextId = _createContext(server); | 67 String contextId = _createContext(server); |
48 Map<String, Object> options = new Map<String, Object>(); | 68 Map<String, Object> options = new Map<String, Object>(); |
49 ContextDomainHandler handler = new ContextDomainHandler(server); | 69 ContextDomainHandler handler = new ContextDomainHandler(server); |
50 | 70 |
51 Request request = new Request('0', ContextDomainHandler.SET_OPTIONS_NAME); | 71 Request request = new Request('0', ContextDomainHandler.SET_OPTIONS_NAME); |
52 request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); | 72 request.setParameter(ContextDomainHandler.CONTEXT_ID_PARAM, contextId); |
53 request.setParameter(ContextDomainHandler.OPTIONS_PARAM, options); | 73 request.setParameter(ContextDomainHandler.OPTIONS_PARAM, options); |
54 Response response = handler.handleRequest(request); | 74 Response response = handler.handleRequest(request); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 Request request = new Request('0', ServerDomainHandler.CREATE_CONTEXT_METHOD
); | 116 Request request = new Request('0', ServerDomainHandler.CREATE_CONTEXT_METHOD
); |
97 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); | 117 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); |
98 Response response = handler.handleRequest(request); | 118 Response response = handler.handleRequest(request); |
99 if (response.error != null) { | 119 if (response.error != null) { |
100 fail('Unexpected error: ${response.error.toJson()}'); | 120 fail('Unexpected error: ${response.error.toJson()}'); |
101 } | 121 } |
102 expect(response.error, isNull); | 122 expect(response.error, isNull); |
103 return response.getResult(ServerDomainHandler.CONTEXT_ID_RESULT); | 123 return response.getResult(ServerDomainHandler.CONTEXT_ID_RESULT); |
104 } | 124 } |
105 } | 125 } |
OLD | NEW |