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

Unified Diff: pkg/analysis_server/test/single_context_manager_test.dart

Issue 2945313002: Remove the unused class SingleContextManager (Closed)
Patch Set: Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/lib/src/socket_server.dart ('k') | pkg/analysis_server/test/socket_server_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/test/single_context_manager_test.dart
diff --git a/pkg/analysis_server/test/single_context_manager_test.dart b/pkg/analysis_server/test/single_context_manager_test.dart
deleted file mode 100644
index f469c8024c9e6dd8abb4aded76fd12504e0d9274..0000000000000000000000000000000000000000
--- a/pkg/analysis_server/test/single_context_manager_test.dart
+++ /dev/null
@@ -1,548 +0,0 @@
-// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'dart:core';
-
-import 'package:analysis_server/src/single_context_manager.dart';
-import 'package:analysis_server/src/utilities/null_string_sink.dart';
-import 'package:analyzer/file_system/memory_file_system.dart';
-import 'package:analyzer/src/dart/analysis/driver.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/sdk.dart';
-import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/generated/source_io.dart';
-import 'package:analyzer/src/util/glob.dart';
-import 'package:front_end/src/base/performace_logger.dart';
-import 'package:path/path.dart' as path;
-import 'package:plugin/manager.dart';
-import 'package:plugin/plugin.dart';
-import 'package:test/test.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import 'context_manager_test.dart' show TestContextManagerCallbacks;
-import 'mocks.dart';
-
-main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(SingleContextManagerTest);
- });
-}
-
-@reflectiveTest
-class SingleContextManagerTest {
- MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
-
- TestUriResolver packageResolver;
- TestContextManagerCallbacks callbacks;
- SingleContextManager manager;
-
- List<Glob> get analysisFilesGlobs {
- List<String> patterns = <String>[
- '**/*.${AnalysisEngine.SUFFIX_DART}',
- '**/*.${AnalysisEngine.SUFFIX_HTML}',
- ];
- return patterns
- .map((pattern) => new Glob(path.posix.separator, pattern))
- .toList();
- }
-
- String newFile(List<String> pathComponents, [String content = '']) {
- String filePath = path.posix.joinAll(pathComponents);
- resourceProvider.newFile(filePath, content);
- return filePath;
- }
-
- String newFolder(List<String> pathComponents) {
- String folderPath = path.posix.joinAll(pathComponents);
- resourceProvider.newFolder(folderPath);
- return folderPath;
- }
-
- void setUp() {
- packageResolver = new TestUriResolver();
-
- _processRequiredPlugins();
- DartSdkManager sdkManager = new DartSdkManager('/', false);
- manager = new SingleContextManager(resourceProvider, sdkManager,
- (_) => packageResolver, analysisFilesGlobs, new AnalysisOptionsImpl());
- PerformanceLog logger = new PerformanceLog(new NullStringSink());
- AnalysisDriverScheduler scheduler = new AnalysisDriverScheduler(logger);
- callbacks = new TestContextManagerCallbacks(
- resourceProvider, sdkManager, logger, scheduler);
- manager.callbacks = callbacks;
- }
-
- void test_isIgnored_false() {
- String project = '/project';
- resourceProvider.newFolder(project);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- expect(manager.isIgnored('$project/file.dart'), isFalse);
- }
-
- void test_isIgnored_true_inDotFolder() {
- String project = '/project';
- resourceProvider.newFolder(project);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- expect(manager.isIgnored('$project/foo/.bar/file.dart'), isTrue);
- }
-
- void test_isIgnored_true_inExcludedPath() {
- String project = '/project';
- String excludedPath = '/project/excluded';
- resourceProvider.newFolder(project);
- manager.setRoots(
- <String>[project], <String>[excludedPath], <String, String>{});
- expect(manager.isIgnored('$excludedPath/file.dart'), isTrue);
- }
-
- void test_isIgnored_true_notInRoot() {
- String root1 = '/context/root1';
- String root2 = '/context/root2';
- resourceProvider.newFolder(root1);
- resourceProvider.newFolder(root2);
- manager.setRoots(<String>[root1, root2], <String>[], <String, String>{});
- expect(manager.isIgnored('/context/root3/file.dart'), isTrue);
- }
-
- void test_isInAnalysisRoot_false_inExcludedPath() {
- String project = '/project';
- String excludedPath = '/project/excluded';
- resourceProvider.newFolder(project);
- manager.setRoots(
- <String>[project], <String>[excludedPath], <String, String>{});
- expect(manager.isInAnalysisRoot('$excludedPath/file.dart'), isFalse);
- }
-
- void test_isInAnalysisRoot_false_notInRoot() {
- String root1 = '/context/root1';
- String root2 = '/context/root2';
- resourceProvider.newFolder(root1);
- resourceProvider.newFolder(root2);
- manager.setRoots(<String>[root1, root2], <String>[], <String, String>{});
- expect(manager.isInAnalysisRoot('/context/root3/file.dart'), isFalse);
- }
-
- void test_isInAnalysisRoot_true() {
- String project = '/project';
- resourceProvider.newFolder(project);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- expect(manager.isInAnalysisRoot('$project/file.dart'), isTrue);
- }
-
- void test_refresh() {
- String project = '/project';
- String file1 = '$project/file1.dart';
- String file2 = '$project/file2.dart';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // set roots
- manager.setRoots(<String>[project], <String>[file2], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- // refresh
- manager.refresh([]);
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- }
-
- void test_setRoots_addFolderWithDartFile() {
- String project = '/project';
- String file = '$project/lib/foo.dart';
- resourceProvider.newFile(file, '');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // verify
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file]);
- }
-
- void test_setRoots_addFolderWithDartFileInSubfolder() {
- String project = '/project';
- String file = '$project/foo/bar.dart';
- resourceProvider.newFile(file, '');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // verify
- callbacks.assertContextFiles(project, [file]);
- }
-
- void test_setRoots_addFolderWithDummyLink() {
- String project = '/project';
- String file = '$project/foo.dart';
- resourceProvider.newDummyLink(file);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // verify
- callbacks.assertContextFiles(project, []);
- }
-
- void test_setRoots_exclude_newRoot_withExcludedFile() {
- String project = '/project';
- String file1 = '$project/file1.dart';
- String file2 = '$project/file2.dart';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // set roots
- manager.setRoots(<String>[project], <String>[file1], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file2]);
- }
-
- void test_setRoots_exclude_newRoot_withExcludedFolder() {
- String project = '/project';
- String folderA = '$project/aaa';
- String folderB = '$project/bbb';
- String fileA = '$folderA/a.dart';
- String fileB = '$folderB/b.dart';
- // create files
- resourceProvider.newFile(fileA, '');
- resourceProvider.newFile(fileB, '');
- // set roots
- manager.setRoots(<String>[project], <String>[folderB], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- void test_setRoots_exclude_sameRoot_addExcludedFile() {
- String project = '/project';
- String file1 = '$project/file1.dart';
- String file2 = '$project/file2.dart';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // set roots
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1, file2]);
- // exclude "2"
- manager.setRoots(<String>[project], <String>[file2], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- }
-
- void test_setRoots_exclude_sameRoot_addExcludedFolder() {
- String project = '/project';
- String folderA = '$project/aaa';
- String folderB = '$project/bbb';
- String fileA = '$folderA/a.dart';
- String fileB = '$folderB/b.dart';
- // create files
- resourceProvider.newFile(fileA, 'library a;');
- resourceProvider.newFile(fileB, 'library b;');
- // initially both "aaa/a" and "bbb/b" are included
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA, fileB]);
- // exclude "bbb/"
- manager.setRoots(<String>[project], <String>[folderB], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- void test_setRoots_exclude_sameRoot_removeExcludedFile() {
- String project = '/project';
- String file1 = '$project/file1.dart';
- String file2 = '$project/file2.dart';
- // create files
- resourceProvider.newFile(file1, '// 1');
- resourceProvider.newFile(file2, '// 2');
- // set roots
- manager.setRoots(<String>[project], <String>[file2], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- // stop excluding "2"
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1, file2]);
- }
-
- void test_setRoots_exclude_sameRoot_removeExcludedFile_inFolder() {
- String project = '/project';
- String file1 = '$project/bin/file1.dart';
- String file2 = '$project/bin/file2.dart';
- // create files
- resourceProvider.newFile(file1, '// 1');
- resourceProvider.newFile(file2, '// 2');
- // set roots
- manager.setRoots(<String>[project], <String>[file2], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- // stop excluding "2"
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1, file2]);
- }
-
- void test_setRoots_exclude_sameRoot_removeExcludedFolder() {
- String project = '/project';
- String folderA = '$project/aaa';
- String folderB = '$project/bbb';
- String fileA = '$folderA/a.dart';
- String fileB = '$folderB/b.dart';
- // create files
- resourceProvider.newFile(fileA, 'library a;');
- resourceProvider.newFile(fileB, 'library b;');
- // exclude "bbb/"
- manager.setRoots(<String>[project], <String>[folderB], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- // stop excluding "bbb/"
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA, fileB]);
- }
-
- void test_setRoots_ignoreGlobs() {
- String project = '/project';
- String file1 = '$project/file.dart';
- String file2 = '$project/file.foo';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // set roots
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [file1]);
- }
-
- void test_setRoots_newContextFolder_coverNewRoot() {
- String contextPath = '/context';
- String root1 = '$contextPath/root1';
- String file1 = '$root1/file1.dart';
- String root2 = '$contextPath/root2';
- String file2 = '$root2/file1.dart';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // cover single root '/context/root1'
- manager.setRoots(<String>[root1], <String>[], <String, String>{});
- callbacks.assertContextPaths([root1]);
- callbacks.assertContextFiles(root1, [file1]);
- // cover two roots
- manager.setRoots(<String>[root1, root2], <String>[], <String, String>{});
- callbacks.assertContextPaths([contextPath]);
- callbacks.assertContextFiles(contextPath, [file1, file2]);
- // cover single root '/context/root2'
- manager.setRoots(<String>[root2], <String>[], <String, String>{});
- callbacks.assertContextPaths([root2]);
- callbacks.assertContextFiles(root2, [file2]);
- }
-
- void test_setRoots_newContextFolder_replace() {
- String contextPath1 = '/context1';
- String root11 = '$contextPath1/root1';
- String root12 = '$contextPath1/root2';
- String file11 = '$root11/file1.dart';
- String file12 = '$root12/file2.dart';
- String contextPath2 = '/context2';
- String root21 = '$contextPath2/root1';
- String root22 = '$contextPath2/root2';
- String file21 = '$root21/file1.dart';
- String file22 = '$root22/file2.dart';
- // create files
- resourceProvider.newFile(file11, '');
- resourceProvider.newFile(file12, '');
- resourceProvider.newFile(file21, '');
- resourceProvider.newFile(file22, '');
- // set roots in '/context1'
- manager.setRoots(<String>[root11, root12], <String>[], <String, String>{});
- callbacks.assertContextPaths([contextPath1]);
- callbacks.assertContextFiles(contextPath1, [file11, file12]);
- // set roots in '/context2'
- manager.setRoots(<String>[root21, root22], <String>[], <String, String>{});
- callbacks.assertContextPaths([contextPath2]);
- callbacks.assertContextFiles(contextPath2, [file21, file22]);
- }
-
- void test_setRoots_pathContainsDotFile() {
- // If the path to a file (relative to the context root) contains a folder
- // whose name begins with '.', then the file is ignored.
- String project = '/project';
- String fileA = '$project/foo.dart';
- String fileB = '$project/.pub/bar.dart';
- resourceProvider.newFile(fileA, '');
- resourceProvider.newFile(fileB, '');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- void test_setRoots_rootPathContainsDotFile() {
- // If the path to the context root itself contains a folder whose name
- // begins with '.', then that is not sufficient to cause any files in the
- // context to be ignored.
- String project = '/.pub/project';
- String fileA = '$project/foo.dart';
- resourceProvider.newFile(fileA, '');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- test_watch_addFile() async {
- String project = '/project';
- resourceProvider.newFolder(project);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // empty folder initially
- callbacks.assertContextFiles(project, []);
- // add file
- String file = '$project/foo.dart';
- resourceProvider.newFile(file, 'contents');
- // the file was added
- await pumpEventQueue();
- callbacks.assertContextFiles(project, [file]);
- }
-
- test_watch_addFile_afterChangingRoots() async {
- String contextPath = '/context';
- String root1 = '$contextPath/root1';
- String root2 = '$contextPath/root2';
- String file1 = '$root1/file1.dart';
- String file2 = '$root2/file2.dart';
- resourceProvider.newFolder(root1);
- resourceProvider.newFolder(root2);
- manager.setRoots(<String>[root1], <String>[], <String, String>{});
- manager.setRoots(<String>[root2], <String>[], <String, String>{});
- manager.setRoots(<String>[root1, root2], <String>[], <String, String>{});
- manager.setRoots(<String>[root2], <String>[], <String, String>{});
- // empty folder initially
- callbacks.assertContextFiles(root2, []);
- // add files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // the file was added
- await pumpEventQueue();
- callbacks.assertContextFiles(root2, [file2]);
- }
-
- test_watch_addFile_excluded() async {
- String project = '/project';
- String folderA = '$project/aaa';
- String folderB = '$project/bbb';
- String fileA = '$folderA/a.dart';
- String fileB = '$folderB/b.dart';
- // create files
- resourceProvider.newFile(fileA, 'library a;');
- // set roots
- manager.setRoots(<String>[project], <String>[folderB], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- // add a file, ignored as excluded
- resourceProvider.newFile(fileB, 'library b;');
- await pumpEventQueue();
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- test_watch_addFile_notInRoot() async {
- String contextPath = '/roots';
- String root1 = '$contextPath/root1';
- String root2 = '$contextPath/root2';
- String root3 = '$contextPath/root3';
- String file1 = '$root1/file1.dart';
- String file2 = '$root2/file2.dart';
- String file3 = '$root3/file3.dart';
- // create files
- resourceProvider.newFile(file1, '');
- resourceProvider.newFile(file2, '');
- // set roots
- manager.setRoots(<String>[root1, root2], <String>[], <String, String>{});
- callbacks.assertContextPaths([contextPath]);
- callbacks.assertContextFiles(contextPath, [file1, file2]);
- // add a file, not in a root - ignored
- resourceProvider.newFile(file3, '');
- await pumpEventQueue();
- callbacks.assertContextPaths([contextPath]);
- callbacks.assertContextFiles(contextPath, [file1, file2]);
- }
-
- test_watch_addFile_pathContainsDotFile() async {
- // If a file is added and the absolute path to it contains a folder whose
- // name begins with '.', then the file is ignored.
- String project = '/project';
- String fileA = '$project/foo.dart';
- String fileB = '$project/.pub/bar.dart';
- resourceProvider.newFile(fileA, '');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- resourceProvider.newFile(fileB, '');
- await pumpEventQueue();
- callbacks.assertContextPaths([project]);
- callbacks.assertContextFiles(project, [fileA]);
- }
-
- test_watch_addFileInSubFolder() async {
- String project = '/project';
- resourceProvider.newFolder(project);
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // empty folder initially
- callbacks.assertContextFiles(project, []);
- // add file in subfolder
- String file = '$project/foo/bar.dart';
- resourceProvider.newFile(file, 'contents');
- // the file was added
- await pumpEventQueue();
- callbacks.assertContextFiles(project, [file]);
- }
-
- test_watch_deleteFile() async {
- String project = '/project';
- String file = '$project/foo.dart';
- // add root with a file
- resourceProvider.newFile(file, 'contents');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // the file was added
- callbacks.assertContextFiles(project, [file]);
- // delete the file
- resourceProvider.deleteFile(file);
- await pumpEventQueue();
- callbacks.assertContextFiles(project, []);
- }
-
- test_watch_deleteFolder() async {
- String project = '/project';
- String file = '$project/foo.dart';
- // add root with a file
- resourceProvider.newFile(file, 'contents');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // the file was added
- callbacks.assertContextFiles(project, [file]);
- // delete the folder
- resourceProvider.deleteFolder(project);
- await pumpEventQueue();
- callbacks.assertContextFiles(project, []);
- }
-
- test_watch_modifyFile() async {
- String project = '/project';
- String file = '$project/foo.dart';
- // add root with a file
- resourceProvider.newFile(file, 'contents');
- manager.setRoots(<String>[project], <String>[], <String, String>{});
- // the file was added
- Map<String, int> filePaths = callbacks.currentContextFilePaths[project];
- expect(filePaths, hasLength(1));
- expect(filePaths, contains(file));
- expect(filePaths[file], equals(callbacks.now));
- // update the file
- callbacks.now++;
- resourceProvider.modifyFile(file, 'new contents');
- await pumpEventQueue();
- return expect(filePaths[file], equals(callbacks.now));
- }
-
- void _processRequiredPlugins() {
- List<Plugin> plugins = <Plugin>[];
- plugins.addAll(AnalysisEngine.instance.requiredPlugins);
- ExtensionManager manager = new ExtensionManager();
- manager.processPlugins(plugins);
- }
-}
-
-class TestUriResolver extends UriResolver {
- @override
- Source resolveAbsolute(Uri uri, [Uri actualUri]) {
- return null;
- }
-}
« no previous file with comments | « pkg/analysis_server/lib/src/socket_server.dart ('k') | pkg/analysis_server/test/socket_server_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698