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.analysis.set_priority_files; | 5 library test.analysis.set_priority_files; |
6 | 6 |
7 import 'package:analysis_server/plugin/protocol/protocol.dart'; | 7 import 'package:analysis_server/plugin/protocol/protocol.dart'; |
8 import 'package:analysis_server/src/domain_analysis.dart'; | 8 import 'package:analysis_server/src/domain_analysis.dart'; |
9 import 'package:analyzer/src/generated/engine.dart' | |
10 show InternalAnalysisContext; | |
11 import 'package:analyzer/src/generated/source.dart'; | |
9 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 12 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
10 import 'package:unittest/unittest.dart'; | 13 import 'package:unittest/unittest.dart'; |
11 | 14 |
12 import '../analysis_abstract.dart'; | 15 import '../analysis_abstract.dart'; |
13 import '../mocks.dart'; | 16 import '../mocks.dart'; |
14 import '../utils.dart'; | 17 import '../utils.dart'; |
15 | 18 |
16 main() { | 19 main() { |
17 initializeTestEnvironment(); | 20 initializeTestEnvironment(); |
18 defineReflectiveTests(SetPriorityFilesTest); | 21 defineReflectiveTests(SetPriorityFilesTest); |
19 } | 22 } |
20 | 23 |
21 @reflectiveTest | 24 @reflectiveTest |
22 class SetPriorityFilesTest extends AbstractAnalysisTest { | 25 class SetPriorityFilesTest extends AbstractAnalysisTest { |
23 @override | 26 @override |
24 void setUp() { | 27 void setUp() { |
25 super.setUp(); | 28 super.setUp(); |
26 server.handlers = [new AnalysisDomainHandler(server),]; | 29 server.handlers = [new AnalysisDomainHandler(server),]; |
27 createProject(); | 30 createProject(); |
28 } | 31 } |
29 | 32 |
30 test_fileDoesNotExist() async { | 33 test_fileDoesNotExist() async { |
31 String file = '$projectPath/doesNotExist.dart'; | 34 String file = '$projectPath/doesNotExist.dart'; |
32 Response response = await _setPriorityFile(file); | 35 Response response = await _setPriorityFile(file); |
33 expect(response, isResponseSuccess('0')); | 36 expect(response, isResponseSuccess('0')); |
34 } | 37 } |
35 | 38 |
36 test_fileInAnalysisRoot() async { | 39 test_fileInAnalysisRoot() async { |
37 addTestFile(''); | 40 addTestFile(''); |
41 // wait for analysis to ensure that file is know to the context | |
Brian Wilkerson
2015/10/30 00:08:48
"file is know" --> "the file is known"
| |
42 await server.onAnalysisComplete; | |
43 // set priority files | |
38 Response response = await _setPriorityFile(testFile); | 44 Response response = await _setPriorityFile(testFile); |
39 expect(response, isResponseSuccess('0')); | 45 expect(response, isResponseSuccess('0')); |
46 // verify | |
47 InternalAnalysisContext context = server.getContainingContext(testFile); | |
48 List<Source> prioritySources = context.prioritySources; | |
49 expect(prioritySources, hasLength(1)); | |
50 expect(prioritySources.first.fullName, testFile); | |
40 } | 51 } |
41 | 52 |
42 test_fileInSdk() async { | 53 test_fileInSdk() async { |
43 addTestFile(''); | 54 addTestFile(''); |
44 await server.onAnalysisComplete; | 55 await server.onAnalysisComplete; |
45 Response response = await _setPriorityFile('/lib/convert/convert.dart'); | 56 // set priority files |
57 String filePath = '/lib/convert/convert.dart'; | |
58 Response response = await _setPriorityFile(filePath); | |
46 expect(response, isResponseSuccess('0')); | 59 expect(response, isResponseSuccess('0')); |
60 // verify | |
61 InternalAnalysisContext sdkContext = server.defaultSdk.context; | |
62 List<Source> prioritySources = sdkContext.prioritySources; | |
63 expect(prioritySources, hasLength(1)); | |
64 expect(prioritySources.first.fullName, filePath); | |
47 } | 65 } |
48 | 66 |
49 test_fileNotInAnalysisRoot() async { | 67 test_fileNotInAnalysisRoot() async { |
50 String path = '/other/file.dart'; | 68 String path = '/other/file.dart'; |
51 addFile(path, ''); | 69 addFile(path, ''); |
52 Response response = await _setPriorityFile(path); | 70 Response response = await _setPriorityFile(path); |
53 expect(response.error, isNotNull); | 71 expect(response.error, isNotNull); |
54 expect(response.error.code, RequestErrorCode.UNANALYZED_PRIORITY_FILES); | 72 expect(response.error.code, RequestErrorCode.UNANALYZED_PRIORITY_FILES); |
55 } | 73 } |
56 | 74 |
57 _setPriorityFile(String file) async { | 75 _setPriorityFile(String file) async { |
58 Request request = | 76 Request request = |
59 new AnalysisSetPriorityFilesParams(<String>[file]).toRequest('0'); | 77 new AnalysisSetPriorityFilesParams(<String>[file]).toRequest('0'); |
60 return await serverChannel.sendRequest(request); | 78 return await serverChannel.sendRequest(request); |
61 } | 79 } |
62 } | 80 } |
OLD | NEW |