| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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_server.src.single_context_manager; | 5 library test.analysis_server.src.single_context_manager; |
| 6 | 6 |
| 7 import 'dart:core'; | 7 import 'dart:core'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/single_context_manager.dart'; | 9 import 'package:analysis_server/src/single_context_manager.dart'; |
| 10 import 'package:analyzer/file_system/memory_file_system.dart'; | 10 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 11 import 'package:analyzer/src/generated/engine.dart'; | 11 import 'package:analyzer/src/generated/engine.dart'; |
| 12 import 'package:analyzer/src/generated/sdk.dart'; | 12 import 'package:analyzer/src/generated/sdk.dart'; |
| 13 import 'package:analyzer/src/generated/source.dart'; | 13 import 'package:analyzer/src/generated/source.dart'; |
| 14 import 'package:analyzer/src/generated/source_io.dart'; | 14 import 'package:analyzer/src/generated/source_io.dart'; |
| 15 import 'package:analyzer/src/util/glob.dart'; | 15 import 'package:analyzer/src/util/glob.dart'; |
| 16 import 'package:linter/src/plugin/linter_plugin.dart'; | 16 import 'package:linter/src/plugin/linter_plugin.dart'; |
| 17 import 'package:path/path.dart'; | 17 import 'package:path/path.dart' as path; |
| 18 import 'package:plugin/manager.dart'; | 18 import 'package:plugin/manager.dart'; |
| 19 import 'package:plugin/plugin.dart'; | 19 import 'package:plugin/plugin.dart'; |
| 20 import 'package:test/test.dart'; | 20 import 'package:test/test.dart'; |
| 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 22 | 22 |
| 23 import 'context_manager_test.dart' show TestContextManagerCallbacks; | 23 import 'context_manager_test.dart' show TestContextManagerCallbacks; |
| 24 import 'mocks.dart'; | 24 import 'mocks.dart'; |
| 25 | 25 |
| 26 main() { | 26 main() { |
| 27 defineReflectiveSuite(() { | 27 defineReflectiveSuite(() { |
| 28 defineReflectiveTests(SingleContextManagerTest); | 28 defineReflectiveTests(SingleContextManagerTest); |
| 29 }); | 29 }); |
| 30 } | 30 } |
| 31 | 31 |
| 32 @reflectiveTest | 32 @reflectiveTest |
| 33 class SingleContextManagerTest { | 33 class SingleContextManagerTest { |
| 34 MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); | 34 MemoryResourceProvider resourceProvider = new MemoryResourceProvider(); |
| 35 | 35 |
| 36 TestUriResolver packageResolver; | 36 TestUriResolver packageResolver; |
| 37 TestContextManagerCallbacks callbacks; | 37 TestContextManagerCallbacks callbacks; |
| 38 SingleContextManager manager; | 38 SingleContextManager manager; |
| 39 | 39 |
| 40 List<Glob> get analysisFilesGlobs { | 40 List<Glob> get analysisFilesGlobs { |
| 41 List<String> patterns = <String>[ | 41 List<String> patterns = <String>[ |
| 42 '**/*.${AnalysisEngine.SUFFIX_DART}', | 42 '**/*.${AnalysisEngine.SUFFIX_DART}', |
| 43 '**/*.${AnalysisEngine.SUFFIX_HTML}', | 43 '**/*.${AnalysisEngine.SUFFIX_HTML}', |
| 44 ]; | 44 ]; |
| 45 return patterns | 45 return patterns |
| 46 .map((pattern) => new Glob(posix.separator, pattern)) | 46 .map((pattern) => new Glob(path.posix.separator, pattern)) |
| 47 .toList(); | 47 .toList(); |
| 48 } | 48 } |
| 49 | 49 |
| 50 String newFile(List<String> pathComponents, [String content = '']) { | 50 String newFile(List<String> pathComponents, [String content = '']) { |
| 51 String filePath = posix.joinAll(pathComponents); | 51 String filePath = path.posix.joinAll(pathComponents); |
| 52 resourceProvider.newFile(filePath, content); | 52 resourceProvider.newFile(filePath, content); |
| 53 return filePath; | 53 return filePath; |
| 54 } | 54 } |
| 55 | 55 |
| 56 String newFolder(List<String> pathComponents) { | 56 String newFolder(List<String> pathComponents) { |
| 57 String folderPath = posix.joinAll(pathComponents); | 57 String folderPath = path.posix.joinAll(pathComponents); |
| 58 resourceProvider.newFolder(folderPath); | 58 resourceProvider.newFolder(folderPath); |
| 59 return folderPath; | 59 return folderPath; |
| 60 } | 60 } |
| 61 | 61 |
| 62 void setUp() { | 62 void setUp() { |
| 63 packageResolver = new TestUriResolver(); | 63 packageResolver = new TestUriResolver(); |
| 64 | 64 |
| 65 _processRequiredPlugins(); | 65 _processRequiredPlugins(); |
| 66 DartSdkManager sdkManager = new DartSdkManager('', false); | 66 DartSdkManager sdkManager = new DartSdkManager('', false); |
| 67 manager = new SingleContextManager(resourceProvider, sdkManager, | 67 manager = new SingleContextManager(resourceProvider, sdkManager, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 92 <String>[project], <String>[excludedPath], <String, String>{}); | 92 <String>[project], <String>[excludedPath], <String, String>{}); |
| 93 expect(manager.isIgnored('$excludedPath/file.dart'), isTrue); | 93 expect(manager.isIgnored('$excludedPath/file.dart'), isTrue); |
| 94 } | 94 } |
| 95 | 95 |
| 96 void test_isIgnored_true_notInRoot() { | 96 void test_isIgnored_true_notInRoot() { |
| 97 String root1 = '/context/root1'; | 97 String root1 = '/context/root1'; |
| 98 String root2 = '/context/root2'; | 98 String root2 = '/context/root2'; |
| 99 resourceProvider.newFolder(root1); | 99 resourceProvider.newFolder(root1); |
| 100 resourceProvider.newFolder(root2); | 100 resourceProvider.newFolder(root2); |
| 101 manager.setRoots(<String>[root1, root2], <String>[], <String, String>{}); | 101 manager.setRoots(<String>[root1, root2], <String>[], <String, String>{}); |
| 102 expect(manager.isIgnored('$context/root3/file.dart'), isTrue); | 102 expect(manager.isIgnored('/context/root3/file.dart'), isTrue); |
| 103 } | 103 } |
| 104 | 104 |
| 105 void test_isInAnalysisRoot_false_inExcludedPath() { | 105 void test_isInAnalysisRoot_false_inExcludedPath() { |
| 106 String project = '/project'; | 106 String project = '/project'; |
| 107 String excludedPath = '/project/excluded'; | 107 String excludedPath = '/project/excluded'; |
| 108 resourceProvider.newFolder(project); | 108 resourceProvider.newFolder(project); |
| 109 manager.setRoots( | 109 manager.setRoots( |
| 110 <String>[project], <String>[excludedPath], <String, String>{}); | 110 <String>[project], <String>[excludedPath], <String, String>{}); |
| 111 expect(manager.isInAnalysisRoot('$excludedPath/file.dart'), isFalse); | 111 expect(manager.isInAnalysisRoot('$excludedPath/file.dart'), isFalse); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void test_isInAnalysisRoot_false_notInRoot() { | 114 void test_isInAnalysisRoot_false_notInRoot() { |
| 115 String root1 = '/context/root1'; | 115 String root1 = '/context/root1'; |
| 116 String root2 = '/context/root2'; | 116 String root2 = '/context/root2'; |
| 117 resourceProvider.newFolder(root1); | 117 resourceProvider.newFolder(root1); |
| 118 resourceProvider.newFolder(root2); | 118 resourceProvider.newFolder(root2); |
| 119 manager.setRoots(<String>[root1, root2], <String>[], <String, String>{}); | 119 manager.setRoots(<String>[root1, root2], <String>[], <String, String>{}); |
| 120 expect(manager.isInAnalysisRoot('$context/root3/file.dart'), isFalse); | 120 expect(manager.isInAnalysisRoot('/context/root3/file.dart'), isFalse); |
| 121 } | 121 } |
| 122 | 122 |
| 123 void test_isInAnalysisRoot_true() { | 123 void test_isInAnalysisRoot_true() { |
| 124 String project = '/project'; | 124 String project = '/project'; |
| 125 resourceProvider.newFolder(project); | 125 resourceProvider.newFolder(project); |
| 126 manager.setRoots(<String>[project], <String>[], <String, String>{}); | 126 manager.setRoots(<String>[project], <String>[], <String, String>{}); |
| 127 expect(manager.isInAnalysisRoot('$project/file.dart'), isTrue); | 127 expect(manager.isInAnalysisRoot('$project/file.dart'), isTrue); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void test_refresh() { | 130 void test_refresh() { |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 manager.processPlugins(plugins); | 539 manager.processPlugins(plugins); |
| 540 } | 540 } |
| 541 } | 541 } |
| 542 | 542 |
| 543 class TestUriResolver extends UriResolver { | 543 class TestUriResolver extends UriResolver { |
| 544 @override | 544 @override |
| 545 Source resolveAbsolute(Uri uri, [Uri actualUri]) { | 545 Source resolveAbsolute(Uri uri, [Uri actualUri]) { |
| 546 return null; | 546 return null; |
| 547 } | 547 } |
| 548 } | 548 } |
| OLD | NEW |