Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: pkg/analysis_server/test/domain_analysis_test.dart

Issue 300023004: Partial implementation of the 'setAnalysisRoots' API. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 'package:analysis_server/src/analysis_server.dart'; 7 import 'package:analysis_server/src/analysis_server.dart';
8 import 'package:analysis_server/src/domain_analysis.dart'; 8 import 'package:analysis_server/src/domain_analysis.dart';
9 import 'package:analysis_server/src/protocol.dart'; 9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_server/src/resource.dart';
10 import 'package:unittest/unittest.dart'; 11 import 'package:unittest/unittest.dart';
11 12
12 import 'mocks.dart'; 13 import 'mocks.dart';
13 14
14 main() { 15 main() {
16 groupSep = ' | ';
17
15 AnalysisServer server; 18 AnalysisServer server;
16 AnalysisDomainHandler handler; 19 AnalysisDomainHandler handler;
20 MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
17 21
18 setUp(() { 22 setUp(() {
19 var serverChannel = new MockServerChannel(); 23 var serverChannel = new MockServerChannel();
20 server = new AnalysisServer(serverChannel); 24 server = new AnalysisServer(serverChannel, resourceProvider);
21 handler = new AnalysisDomainHandler(server); 25 handler = new AnalysisDomainHandler(server);
22 }); 26 });
23 27
24 group('AnalysisDomainHandler', () { 28 group('AnalysisDomainHandler', () {
25 test('getFixes', () { 29 test('getFixes', () {
26 var request = new Request('0', AnalysisDomainHandler.GET_FIXES_METHOD); 30 var request = new Request('0', AnalysisDomainHandler.GET_FIXES_METHOD);
27 request.setParameter(AnalysisDomainHandler.ERRORS_PARAM, []); 31 request.setParameter(AnalysisDomainHandler.ERRORS_PARAM, []);
28 var response = handler.handleRequest(request); 32 var response = handler.handleRequest(request);
29 // TODO(scheglov) implement 33 // TODO(scheglov) implement
30 expect(response, isNull); 34 expect(response, isNull);
31 }); 35 });
32 36
33 test('getMinorRefactorings', () { 37 test('getMinorRefactorings', () {
34 var request = new Request('0', AnalysisDomainHandler.GET_MINOR_REFACTORING S_METHOD); 38 var request = new Request('0', AnalysisDomainHandler.GET_MINOR_REFACTORING S_METHOD);
35 request.setParameter(AnalysisDomainHandler.FILE_PARAM, 'test.dart'); 39 request.setParameter(AnalysisDomainHandler.FILE_PARAM, 'test.dart');
36 request.setParameter(AnalysisDomainHandler.OFFSET_PARAM, 10); 40 request.setParameter(AnalysisDomainHandler.OFFSET_PARAM, 10);
37 request.setParameter(AnalysisDomainHandler.LENGTH_PARAM, 20); 41 request.setParameter(AnalysisDomainHandler.LENGTH_PARAM, 20);
38 var response = handler.handleRequest(request); 42 var response = handler.handleRequest(request);
39 // TODO(scheglov) implement 43 // TODO(scheglov) implement
40 expect(response, isNull); 44 expect(response, isNull);
41 }); 45 });
42 46
43 test('setAnalysisRoots', () { 47 group('setAnalysisRoots', () {
44 var request = new Request('0', AnalysisDomainHandler.SET_ANALYSIS_ROOTS_ME THOD); 48 Request request;
45 request.setParameter( 49
46 AnalysisDomainHandler.INCLUDED_PARAM, 50 setUp(() {
47 ['projectA', 'projectB']); 51 request = new Request('0', AnalysisDomainHandler.SET_ANALYSIS_ROOTS_METH OD);
48 request.setParameter( 52 request.setParameter(AnalysisDomainHandler.INCLUDED_PARAM, []);
49 AnalysisDomainHandler.EXCLUDED_PARAM, 53 request.setParameter(AnalysisDomainHandler.EXCLUDED_PARAM, []);
50 ['projectA/subAA', 'projectA/subAB', 'projectB/subBA']); 54 });
51 var response = handler.handleRequest(request); 55
52 // TODO(scheglov) implement 56 test('excluded', () {
53 expect(response, isNull); 57 request.setParameter(AnalysisDomainHandler.EXCLUDED_PARAM, ['foo']);
58 // TODO(scheglov) implement
59 var response = handler.handleRequest(request);
60 expect(response, isResponseFailure('0'));
61 });
62
63 group('included', () {
64 test('new folder', () {
65 resourceProvider.newFolder('/project');
66 resourceProvider.newFile('/project/pubspec.yaml', 'name: project');
67 resourceProvider.newFile('/project/bin/test.dart', 'main() {}');
68 request.setParameter(
69 AnalysisDomainHandler.INCLUDED_PARAM,
70 ['/project']);
71 var response = handler.handleRequest(request);
72 var serverRef = server;
73 expect(response, isResponseSuccess('0'));
74 // verify that unit is resolved eventually
75 return pumpEventQueue(1000).then((_) {
Paul Berry 2014/05/27 16:30:29 Why do we need to pump the event queue 1000 times?
scheglov 2014/05/27 18:24:24 We need do perform about 400 analysis tasks to ana
76 var unit = serverRef.test_getResolvedCompilationUnit('/project/bin/t est.dart');
77 expect(unit, isNotNull);
78 });
79 });
80 });
54 }); 81 });
55 82
56 test('setPriorityFiles', () { 83 test('setPriorityFiles', () {
57 var request = new Request('0', AnalysisDomainHandler.SET_PRIORITY_FILES_ME THOD); 84 var request = new Request('0', AnalysisDomainHandler.SET_PRIORITY_FILES_ME THOD);
58 request.setParameter( 85 request.setParameter(
59 AnalysisDomainHandler.FILES_PARAM, 86 AnalysisDomainHandler.FILES_PARAM,
60 ['projectA/aa.dart', 'projectB/ba.dart']); 87 ['projectA/aa.dart', 'projectB/ba.dart']);
61 var response = handler.handleRequest(request); 88 var response = handler.handleRequest(request);
62 // TODO(scheglov) implement 89 // TODO(scheglov) implement
63 expect(response, isNull); 90 expect(response, isNull);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 request.setParameter( 136 request.setParameter(
110 AnalysisDomainHandler.REMOVED_PARAM, 137 AnalysisDomainHandler.REMOVED_PARAM,
111 ['/dart/sdk-1.2']); 138 ['/dart/sdk-1.2']);
112 request.setParameter(AnalysisDomainHandler.DEFAULT_PARAM, '/dart/sdk-1.4') ; 139 request.setParameter(AnalysisDomainHandler.DEFAULT_PARAM, '/dart/sdk-1.4') ;
113 var response = handler.handleRequest(request); 140 var response = handler.handleRequest(request);
114 // TODO(scheglov) implement 141 // TODO(scheglov) implement
115 expect(response, isNull); 142 expect(response, isNull);
116 }); 143 });
117 }); 144 });
118 } 145 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698