Index: pkg/analysis_server/test/analysis_server_test.dart |
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart |
index 5ba35a60a583d9191caab3c5935931421ce8ed9e..39ab01899a4295b007c4abd9eff3d23e9ec4c524 100644 |
--- a/pkg/analysis_server/test/analysis_server_test.dart |
+++ b/pkg/analysis_server/test/analysis_server_test.dart |
@@ -8,7 +8,6 @@ import 'package:analysis_server/protocol/protocol.dart'; |
import 'package:analysis_server/protocol/protocol_generated.dart'; |
import 'package:analysis_server/src/analysis_server.dart'; |
import 'package:analysis_server/src/constants.dart'; |
-import 'package:analysis_server/src/context_manager.dart'; |
import 'package:analysis_server/src/domain_server.dart'; |
import 'package:analysis_server/src/operation/operation.dart'; |
import 'package:analysis_server/src/plugin/server_plugin.dart'; |
@@ -16,7 +15,6 @@ import 'package:analyzer/exception/exception.dart'; |
import 'package:analyzer/file_system/file_system.dart'; |
import 'package:analyzer/file_system/memory_file_system.dart'; |
import 'package:analyzer/instrumentation/instrumentation.dart'; |
-import 'package:analyzer/source/package_map_resolver.dart'; |
import 'package:analyzer/src/generated/engine.dart'; |
import 'package:analyzer/src/generated/sdk.dart'; |
import 'package:analyzer/src/generated/source.dart'; |
@@ -43,84 +41,6 @@ class AnalysisServerTest { |
MemoryResourceProvider resourceProvider; |
MockPackageMapProvider packageMapProvider; |
- /** |
- * Verify that getAnalysisContextForSource returns the correct contexts even |
- * for sources that are included by multiple contexts. |
- * |
- * See dartbug.com/21898 |
- */ |
- Future fail_getAnalysisContextForSource_crossImports() { |
- // Subscribe to STATUS so we'll know when analysis is done. |
- server.serverServices = [ServerService.STATUS].toSet(); |
- // Analyze project foo containing foo.dart and project bar containing |
- // bar.dart. |
- resourceProvider.newFolder('/foo'); |
- resourceProvider.newFolder('/bar'); |
- File foo = resourceProvider.newFile( |
- '/foo/foo.dart', |
- ''' |
-libary foo; |
-import "../bar/bar.dart"; |
-'''); |
- Source fooSource = foo.createSource(); |
- File bar = resourceProvider.newFile( |
- '/bar/bar.dart', |
- ''' |
-library bar; |
-import "../foo/foo.dart"; |
-'''); |
- Source barSource = bar.createSource(); |
- server.setAnalysisRoots('0', ['/foo', '/bar'], [], {}); |
- return server.onAnalysisComplete.then((_) { |
- expect(server.statusAnalyzing, isFalse); |
- // Make sure getAnalysisContext returns the proper context for each. |
- AnalysisContext fooContext = |
- server.getAnalysisContextForSource(fooSource); |
- expect(fooContext, isNotNull); |
- AnalysisContext barContext = |
- server.getAnalysisContextForSource(barSource); |
- expect(barContext, isNotNull); |
- expect(fooContext, isNot(same(barContext))); |
- expect(fooContext.getKindOf(fooSource), SourceKind.LIBRARY); |
- expect(fooContext.getKindOf(barSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(fooSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(barSource), SourceKind.LIBRARY); |
- }); |
- } |
- |
- /** |
- * Verify that getAnalysisContextForSource returns the correct contexts even |
- * for sources that haven't been analyzed yet. |
- * |
- * See dartbug.com/21898 |
- */ |
- Future fail_getAnalysisContextForSource_unanalyzed() { |
- // Subscribe to STATUS so we'll know when analysis is done. |
- server.serverServices = [ServerService.STATUS].toSet(); |
- // Analyze project foo containing foo.dart and project bar containing |
- // bar.dart. |
- resourceProvider.newFolder('/foo'); |
- resourceProvider.newFolder('/bar'); |
- File foo = resourceProvider.newFile('/foo/foo.dart', 'library lib;'); |
- Source fooSource = foo.createSource(); |
- File bar = resourceProvider.newFile('/bar/bar.dart', 'library lib;'); |
- Source barSource = bar.createSource(); |
- server.setAnalysisRoots('0', ['/foo', '/bar'], [], {}); |
- AnalysisContext fooContext = server.getAnalysisContextForSource(fooSource); |
- expect(fooContext, isNotNull); |
- AnalysisContext barContext = server.getAnalysisContextForSource(barSource); |
- expect(barContext, isNotNull); |
- expect(fooContext, isNot(same(barContext))); |
- return server.onAnalysisComplete.then((_) { |
- expect(server.statusAnalyzing, isFalse); |
- // Make sure getAnalysisContext returned the proper context for each. |
- expect(fooContext.getKindOf(fooSource), SourceKind.LIBRARY); |
- expect(fooContext.getKindOf(barSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(fooSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(barSource), SourceKind.LIBRARY); |
- }); |
- } |
- |
void processRequiredPlugins(ServerPlugin serverPlugin) { |
List<Plugin> plugins = <Plugin>[]; |
plugins.addAll(AnalysisEngine.instance.requiredPlugins); |
@@ -150,71 +70,6 @@ import "../foo/foo.dart"; |
rethrowExceptions: true); |
} |
- Future test_contextDisposed() { |
- resourceProvider.newFolder('/foo'); |
- resourceProvider.newFile('/foo/bar.dart', 'library lib;'); |
- server.setAnalysisRoots('0', ['/foo'], [], {}); |
- AnalysisContext context; |
- return pumpEventQueue() |
- .then((_) { |
- context = server.getAnalysisContext('/foo/bar.dart'); |
- server.setAnalysisRoots('1', [], [], {}); |
- }) |
- .then((_) => pumpEventQueue()) |
- .then((_) { |
- expect(context.isDisposed, isTrue); |
- }); |
- } |
- |
- Future test_contextsChangedEvent() { |
- resourceProvider.newFolder('/foo'); |
- |
- bool wasAdded = false; |
- bool wasChanged = false; |
- bool wasRemoved = false; |
- server.onContextsChanged.listen((ContextsChangedEvent event) { |
- wasAdded = event.added.length == 1; |
- if (wasAdded) { |
- expect(event.added[0], isNotNull); |
- } |
- wasChanged = event.changed.length == 1; |
- if (wasChanged) { |
- expect(event.changed[0], isNotNull); |
- } |
- wasRemoved = event.removed.length == 1; |
- if (wasRemoved) { |
- expect(event.removed[0], isNotNull); |
- } |
- }); |
- |
- server.setAnalysisRoots('0', ['/foo'], [], {}); |
- return pumpEventQueue().then((_) { |
- expect(wasAdded, isTrue); |
- expect(wasChanged, isFalse); |
- expect(wasRemoved, isFalse); |
- |
- wasAdded = false; |
- wasChanged = false; |
- wasRemoved = false; |
- server.setAnalysisRoots('0', ['/foo'], [], {'/foo': '/bar'}); |
- return pumpEventQueue(); |
- }).then((_) { |
- expect(wasAdded, isFalse); |
- expect(wasChanged, isTrue); |
- expect(wasRemoved, isFalse); |
- |
- wasAdded = false; |
- wasChanged = false; |
- wasRemoved = false; |
- server.setAnalysisRoots('0', [], [], {}); |
- return pumpEventQueue(); |
- }).then((_) { |
- expect(wasAdded, isFalse); |
- expect(wasChanged, isFalse); |
- expect(wasRemoved, isTrue); |
- }); |
- } |
- |
Future test_echo() { |
server.handlers = [new EchoHandler()]; |
var request = new Request('my22', 'echo'); |
@@ -224,99 +79,6 @@ import "../foo/foo.dart"; |
}); |
} |
- Future test_getAnalysisContextForSource() { |
- // Subscribe to STATUS so we'll know when analysis is done. |
- server.serverServices = [ServerService.STATUS].toSet(); |
- // Analyze project foo containing foo.dart and project bar containing |
- // bar.dart. |
- resourceProvider.newFolder('/foo'); |
- resourceProvider.newFolder('/bar'); |
- File foo = resourceProvider.newFile('/foo/foo.dart', 'library lib;'); |
- Source fooSource = foo.createSource(); |
- File bar = resourceProvider.newFile('/bar/bar.dart', 'library lib;'); |
- Source barSource = bar.createSource(); |
- server.setAnalysisRoots('0', ['/foo', '/bar'], [], {}); |
- return server.onAnalysisComplete.then((_) { |
- expect(server.statusAnalyzing, isFalse); |
- // Make sure getAnalysisContext returns the proper context for each. |
- AnalysisContext fooContext = |
- server.getAnalysisContextForSource(fooSource); |
- expect(fooContext, isNotNull); |
- AnalysisContext barContext = |
- server.getAnalysisContextForSource(barSource); |
- expect(barContext, isNotNull); |
- expect(fooContext, isNot(same(barContext))); |
- expect(fooContext.getKindOf(fooSource), SourceKind.LIBRARY); |
- expect(fooContext.getKindOf(barSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(fooSource), SourceKind.UNKNOWN); |
- expect(barContext.getKindOf(barSource), SourceKind.LIBRARY); |
- }); |
- } |
- |
- test_getContextSourcePair_nested() { |
- String dir1Path = '/dir1'; |
- String dir2Path = dir1Path + '/dir2'; |
- String filePath = dir2Path + '/file.dart'; |
- resourceProvider.newFile('$dir1Path/.packages', ''); |
- resourceProvider.newFile('$dir2Path/.packages', ''); |
- resourceProvider.newFile(filePath, 'library lib;'); |
- // create contexts |
- server.setAnalysisRoots('0', [dir1Path], [], {}); |
- // get pair |
- ContextSourcePair pair = server.getContextSourcePair(filePath); |
- _assertContextOfFolder(pair.context, dir2Path); |
- Source source = pair.source; |
- expect(source, isNotNull); |
- expect(source.uri.scheme, 'file'); |
- expect(source.fullName, filePath); |
- } |
- |
- test_getContextSourcePair_nonFile() { |
- String dirPath = '/dir'; |
- Folder dir = resourceProvider.newFolder(dirPath); |
- |
- AnalysisContext context = AnalysisEngine.instance.createAnalysisContext(); |
- _configureSourceFactory(context); |
- server.folderMap[dir] = context; |
- |
- ContextSourcePair pair = server.getContextSourcePair(dirPath); |
- expect(pair, isNotNull); |
- expect(pair.context, isNull); |
- expect(pair.source, isNull); |
- } |
- |
- test_getContextSourcePair_simple() { |
- String dirPath = '/dir'; |
- String filePath = dirPath + '/file.dart'; |
- resourceProvider.newFile(filePath, 'library lib;'); |
- // create contexts |
- server.setAnalysisRoots('0', [dirPath], [], {}); |
- // get pair |
- ContextSourcePair pair = server.getContextSourcePair(filePath); |
- _assertContextOfFolder(pair.context, dirPath); |
- Source source = pair.source; |
- expect(source, isNotNull); |
- expect(source.uri.scheme, 'file'); |
- expect(source.fullName, filePath); |
- } |
- |
- test_getContextSourcePair_withPackagesFile() { |
- String dirPath = '/dir'; |
- String packagesFilePath = dirPath + '/.packages'; |
- resourceProvider.newFile(packagesFilePath, 'dir:lib/'); |
- String filePath = dirPath + '/lib/file.dart'; |
- resourceProvider.newFile(filePath, 'library lib;'); |
- // create contexts |
- server.setAnalysisRoots('0', [dirPath], [], {}); |
- // get pair |
- ContextSourcePair pair = server.getContextSourcePair(filePath); |
- _assertContextOfFolder(pair.context, dirPath); |
- Source source = pair.source; |
- expect(source, isNotNull); |
- expect(source.uri.scheme, 'package'); |
- expect(source.fullName, filePath); |
- } |
- |
/** |
* Test that having multiple analysis contexts analyze the same file doesn't |
* cause that file to receive duplicate notifications when it's modified. |
@@ -364,59 +126,6 @@ import "../foo/foo.dart"; |
} |
} |
- test_operationsRemovedOnContextDisposal() async { |
- resourceProvider.newFolder('/foo'); |
- resourceProvider.newFile('/foo/baz.dart', 'library lib;'); |
- resourceProvider.newFolder('/bar'); |
- resourceProvider.newFile('/bar/baz.dart', 'library lib;'); |
- server.setAnalysisRoots('0', ['/foo', '/bar'], [], {}); |
- await pumpEventQueue(); |
- AnalysisContext contextFoo = server.getAnalysisContext('/foo/baz.dart'); |
- AnalysisContext contextBar = server.getAnalysisContext('/bar/baz.dart'); |
- _MockServerOperation operationFoo = new _MockServerOperation(contextFoo); |
- _MockServerOperation operationBar = new _MockServerOperation(contextBar); |
- server.scheduleOperation(operationFoo); |
- server.scheduleOperation(operationBar); |
- server.setAnalysisRoots('1', ['/foo'], [], {}); |
- await pumpEventQueue(); |
- expect(operationFoo.isComplete, isTrue); |
- expect(operationBar.isComplete, isFalse); |
- } |
- |
- Future test_prioritySourcesChangedEvent() { |
- resourceProvider.newFolder('/foo'); |
- |
- int eventCount = 0; |
- Source firstSource = null; |
- server.onPriorityChange.listen((PriorityChangeEvent event) { |
- ++eventCount; |
- firstSource = event.firstSource; |
- }); |
- |
- server.setAnalysisRoots('0', ['/foo'], [], {}); |
- return pumpEventQueue().then((_) { |
- expect(eventCount, 0); |
- |
- server.setPriorityFiles('1', ['/foo/bar.dart']); |
- return pumpEventQueue(); |
- }).then((_) { |
- expect(eventCount, 1); |
- expect(firstSource.fullName, '/foo/bar.dart'); |
- |
- server.setPriorityFiles('2', ['/foo/b1.dart', '/foo/b2.dart']); |
- return pumpEventQueue(); |
- }).then((_) { |
- expect(eventCount, 2); |
- expect(firstSource.fullName, '/foo/b1.dart'); |
- |
- server.setPriorityFiles('17', []); |
- return pumpEventQueue(); |
- }).then((_) { |
- expect(eventCount, 3); |
- expect(firstSource, isNull); |
- }); |
- } |
- |
void test_rethrowExceptions() { |
Exception exceptionToThrow = new Exception('test exception'); |
MockServerOperation operation = |
@@ -526,24 +235,6 @@ analyzer: |
expect(response.error, isNotNull); |
}); |
} |
- |
- void _assertContextOfFolder( |
- AnalysisContext context, String expectedFolderPath) { |
- Folder expectedFolder = resourceProvider.newFolder(expectedFolderPath); |
- ContextInfo expectedContextInfo = |
- (server.contextManager as ContextManagerImpl) |
- .getContextInfoFor(expectedFolder); |
- expect(expectedContextInfo, isNotNull); |
- expect(context, same(expectedContextInfo.context)); |
- } |
- |
- void _configureSourceFactory(AnalysisContext context) { |
- var resourceUriResolver = new ResourceUriResolver(resourceProvider); |
- var packageUriResolver = new PackageMapUriResolver( |
- resourceProvider, packageMapProvider.packageMap); |
- context.sourceFactory = |
- new SourceFactory([packageUriResolver, resourceUriResolver]); |
- } |
} |
class EchoHandler implements RequestHandler { |
@@ -555,22 +246,3 @@ class EchoHandler implements RequestHandler { |
return null; |
} |
} |
- |
-/** |
- * A [ServerOperation] that does nothing but keep track of whether or not it |
- * has been performed. |
- */ |
-class _MockServerOperation implements ServerOperation { |
- final AnalysisContext context; |
- bool isComplete = false; |
- |
- _MockServerOperation(this.context); |
- |
- @override |
- ServerOperationPriority get priority => ServerOperationPriority.ANALYSIS; |
- |
- @override |
- void perform(AnalysisServer server) { |
- isComplete = true; |
- } |
-} |