| 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.abstract; | 5 library test.domain.analysis.abstract; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/analysis_server.dart'; | 9 import 'package:analysis_server/src/analysis_server.dart'; |
| 10 import 'package:analysis_server/src/constants.dart'; | |
| 11 import 'package:analysis_server/src/domain_analysis.dart'; | 10 import 'package:analysis_server/src/domain_analysis.dart'; |
| 12 import 'package:analysis_server/src/protocol.dart'; | 11 import 'package:analysis_server/src/protocol.dart'; |
| 13 import 'package:analysis_server/src/protocol2.dart'; | 12 import 'package:analysis_server/src/protocol2.dart'; |
| 14 import 'package:analysis_server/src/services/index/index.dart'; | 13 import 'package:analysis_server/src/services/index/index.dart'; |
| 15 import 'package:analysis_testing/mock_sdk.dart'; | 14 import 'package:analysis_testing/mock_sdk.dart'; |
| 16 import 'package:analyzer/file_system/file_system.dart'; | 15 import 'package:analyzer/file_system/file_system.dart'; |
| 17 import 'package:analyzer/file_system/memory_file_system.dart'; | 16 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 18 import 'package:unittest/unittest.dart'; | 17 import 'package:unittest/unittest.dart'; |
| 19 | 18 |
| 20 import 'mocks.dart'; | 19 import 'mocks.dart'; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 39 /** | 38 /** |
| 40 * An abstract base for all 'analysis' domain tests. | 39 * An abstract base for all 'analysis' domain tests. |
| 41 */ | 40 */ |
| 42 class AbstractAnalysisTest { | 41 class AbstractAnalysisTest { |
| 43 MockServerChannel serverChannel; | 42 MockServerChannel serverChannel; |
| 44 MemoryResourceProvider resourceProvider; | 43 MemoryResourceProvider resourceProvider; |
| 45 MockPackageMapProvider packageMapProvider; | 44 MockPackageMapProvider packageMapProvider; |
| 46 AnalysisServer server; | 45 AnalysisServer server; |
| 47 RequestHandler handler; | 46 RequestHandler handler; |
| 48 | 47 |
| 49 Map<String, List<String>> analysisSubscriptions = {}; | 48 Map<AnalysisService, List<String>> analysisSubscriptions = {}; |
| 50 | 49 |
| 51 String projectPath = '/project'; | 50 String projectPath = '/project'; |
| 52 String testFolder = '/project/bin/'; | 51 String testFolder = '/project/bin/'; |
| 53 String testFile = '/project/bin/test.dart'; | 52 String testFile = '/project/bin/test.dart'; |
| 54 String testCode; | 53 String testCode; |
| 55 | 54 |
| 56 // Map<String, List<AnalysisError>> filesErrors = {}; | 55 // Map<String, List<AnalysisError>> filesErrors = {}; |
| 57 // Map<String, List<Map<String, Object>>> filesHighlights = {}; | 56 // Map<String, List<Map<String, Object>>> filesHighlights = {}; |
| 58 // Map<String, List<Map<String, Object>>> filesNavigation = {}; | 57 // Map<String, List<Map<String, Object>>> filesNavigation = {}; |
| 59 | 58 |
| 60 | 59 |
| 61 AbstractAnalysisTest() { | 60 AbstractAnalysisTest() { |
| 62 } | 61 } |
| 63 | 62 |
| 64 void addAnalysisSubscription(AnalysisService service, String file) { | 63 void addAnalysisSubscription(AnalysisService service, String file) { |
| 65 // add file to subscription | 64 // add file to subscription |
| 66 var files = analysisSubscriptions[service.name]; | 65 var files = analysisSubscriptions[service]; |
| 67 if (files == null) { | 66 if (files == null) { |
| 68 files = <String>[]; | 67 files = <String>[]; |
| 69 analysisSubscriptions[service.name] = files; | 68 analysisSubscriptions[service] = files; |
| 70 } | 69 } |
| 71 files.add(file); | 70 files.add(file); |
| 72 // set subscriptions | 71 // set subscriptions |
| 73 Request request = new Request('0', ANALYSIS_SET_SUBSCRIPTIONS); | 72 Request request = new AnalysisSetSubscriptionsParams( |
| 74 request.setParameter(SUBSCRIPTIONS, analysisSubscriptions); | 73 analysisSubscriptions).toRequest('0'); |
| 75 handleSuccessfulRequest(request); | 74 handleSuccessfulRequest(request); |
| 76 } | 75 } |
| 77 | 76 |
| 78 String addFile(String path, String content) { | 77 String addFile(String path, String content) { |
| 79 resourceProvider.newFile(path, content); | 78 resourceProvider.newFile(path, content); |
| 80 return path; | 79 return path; |
| 81 } | 80 } |
| 82 | 81 |
| 83 String addTestFile(String content) { | 82 String addTestFile(String content) { |
| 84 addFile(testFile, content); | 83 addFile(testFile, content); |
| 85 this.testCode = content; | 84 this.testCode = content; |
| 86 return testFile; | 85 return testFile; |
| 87 } | 86 } |
| 88 | 87 |
| 89 Index createIndex() { | 88 Index createIndex() { |
| 90 return null; | 89 return null; |
| 91 } | 90 } |
| 92 | 91 |
| 93 /** | 92 /** |
| 94 * Creates a project `/project`. | 93 * Creates a project `/project`. |
| 95 */ | 94 */ |
| 96 void createProject() { | 95 void createProject() { |
| 97 resourceProvider.newFolder(projectPath); | 96 resourceProvider.newFolder(projectPath); |
| 98 Request request = new Request('0', ANALYSIS_SET_ANALYSIS_ROOTS); | 97 Request request = new AnalysisSetAnalysisRootsParams([projectPath], |
| 99 request.setParameter(INCLUDED, [projectPath]); | 98 []).toRequest('0'); |
| 100 request.setParameter(EXCLUDED, []); | |
| 101 handleSuccessfulRequest(request); | 99 handleSuccessfulRequest(request); |
| 102 } | 100 } |
| 103 | 101 |
| 104 /** | 102 /** |
| 105 * Returns the offset of [search] in [testCode]. | 103 * Returns the offset of [search] in [testCode]. |
| 106 * Fails if not found. | 104 * Fails if not found. |
| 107 */ | 105 */ |
| 108 int findFileOffset(String path, String search) { | 106 int findFileOffset(String path, String search) { |
| 109 File file = resourceProvider.getResource(path) as File; | 107 File file = resourceProvider.getResource(path) as File; |
| 110 String code = file.createSource().contents.data; | 108 String code = file.createSource().contents.data; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 } | 207 } |
| 210 | 208 |
| 211 // /** | 209 // /** |
| 212 // * Creates a project with a single Dart file `/project/bin/test.dart` with | 210 // * Creates a project with a single Dart file `/project/bin/test.dart` with |
| 213 // * the given [code]. | 211 // * the given [code]. |
| 214 // */ | 212 // */ |
| 215 // void createSingleFileProject(code) { | 213 // void createSingleFileProject(code) { |
| 216 // this.testCode = _getCodeString(code); | 214 // this.testCode = _getCodeString(code); |
| 217 // resourceProvider.newFolder('/project'); | 215 // resourceProvider.newFolder('/project'); |
| 218 // resourceProvider.newFile(testFile, testCode); | 216 // resourceProvider.newFile(testFile, testCode); |
| 219 // Request request = new Request('0', METHOD_SET_ANALYSIS_ROOTS); | 217 // Request request = new AnalysisSetAnalysisRootsParams(['/project'], |
| 220 // request.setParameter(INCLUDED, ['/project']); | 218 // []).toRequest('0'); |
| 221 // request.setParameter(EXCLUDED, []); | |
| 222 // handleSuccessfulRequest(request); | 219 // handleSuccessfulRequest(request); |
| 223 // } | 220 // } |
| 224 | 221 |
| 225 void setUp() { | 222 void setUp() { |
| 226 serverChannel = new MockServerChannel(); | 223 serverChannel = new MockServerChannel(); |
| 227 resourceProvider = new MemoryResourceProvider(); | 224 resourceProvider = new MemoryResourceProvider(); |
| 228 packageMapProvider = new MockPackageMapProvider(); | 225 packageMapProvider = new MockPackageMapProvider(); |
| 229 Index index = createIndex(); | 226 Index index = createIndex(); |
| 230 server = new AnalysisServer( | 227 server = new AnalysisServer( |
| 231 serverChannel, resourceProvider, packageMapProvider, index, | 228 serverChannel, resourceProvider, packageMapProvider, index, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 254 return waitForServerOperationsPerformed(server); | 251 return waitForServerOperationsPerformed(server); |
| 255 } | 252 } |
| 256 | 253 |
| 257 static String _getCodeString(code) { | 254 static String _getCodeString(code) { |
| 258 if (code is List<String>) { | 255 if (code is List<String>) { |
| 259 code = code.join('\n'); | 256 code = code.join('\n'); |
| 260 } | 257 } |
| 261 return code as String; | 258 return code as String; |
| 262 } | 259 } |
| 263 } | 260 } |
| OLD | NEW |