Index: pkg/analyzer/test/src/context/context_test.dart |
diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart |
index 932c245154d36c930524d32227acec6bf61de2c5..70d829a269d8844cbec16c24ac734e9136cc34b2 100644 |
--- a/pkg/analyzer/test/src/context/context_test.dart |
+++ b/pkg/analyzer/test/src/context/context_test.dart |
@@ -31,115 +31,28 @@ import 'package:analyzer/src/generated/engine.dart' |
import 'package:analyzer/src/generated/error.dart'; |
import 'package:analyzer/src/generated/html.dart' as ht; |
import 'package:analyzer/src/generated/java_engine.dart'; |
-import 'package:analyzer/src/generated/java_engine_io.dart'; |
import 'package:analyzer/src/generated/resolver.dart'; |
import 'package:analyzer/src/generated/scanner.dart'; |
-import 'package:analyzer/src/generated/sdk.dart'; |
-import 'package:analyzer/src/generated/sdk_io.dart'; |
import 'package:analyzer/src/generated/source.dart'; |
-import 'package:analyzer/src/generated/source_io.dart'; |
-import 'package:analyzer/src/plugin/engine_plugin.dart'; |
import 'package:analyzer/task/dart.dart'; |
-import 'package:plugin/manager.dart'; |
import 'package:unittest/unittest.dart'; |
import 'package:watcher/src/utils.dart'; |
import '../../generated/engine_test.dart'; |
import '../../generated/test_support.dart'; |
import '../../reflective_tests.dart'; |
-import '../mock_sdk.dart'; |
+import 'abstract_context.dart'; |
main() { |
groupSep = ' | '; |
runReflectiveTests(AnalysisContextImplTest); |
} |
-contextWithCore() { |
- return new AnalysisContextForTests(); |
-} |
- |
-/** |
- * An analysis context that has a fake SDK that is much smaller and faster for |
- * testing purposes. |
- */ |
-class AnalysisContextForTests extends AnalysisContextImpl { |
- AnalysisContextForTests() { |
- DartSdk sdk = new MockSdk(); |
- SourceFactory sourceFactory = |
- new SourceFactory([new DartUriResolver(sdk), new FileUriResolver()]); |
- this.sourceFactory = sourceFactory; |
- } |
- |
- @override |
- void set analysisOptions(AnalysisOptions options) { |
- AnalysisOptions currentOptions = analysisOptions; |
- bool needsRecompute = currentOptions.analyzeFunctionBodiesPredicate != |
- options.analyzeFunctionBodiesPredicate || |
- currentOptions.generateImplicitErrors != |
- options.generateImplicitErrors || |
- currentOptions.generateSdkErrors != options.generateSdkErrors || |
- currentOptions.dart2jsHint != options.dart2jsHint || |
- (currentOptions.hint && !options.hint) || |
- currentOptions.preserveComments != options.preserveComments || |
- currentOptions.enableNullAwareOperators != |
- options.enableNullAwareOperators || |
- currentOptions.enableStrictCallChecks != options.enableStrictCallChecks; |
- if (needsRecompute) { |
- fail( |
- "Cannot set options that cause the sources to be reanalyzed in a test context"); |
- } |
- super.analysisOptions = options; |
- } |
- |
- @override |
- LibraryResolverFactory get libraryResolverFactory => null; |
- |
- @override |
- bool exists(Source source) => |
- super.exists(source) || sourceFactory.dartSdk.context.exists(source); |
- |
- @override |
- TimestampedData<String> getContents(Source source) { |
- if (source.isInSystemLibrary) { |
- return sourceFactory.dartSdk.context.getContents(source); |
- } |
- return super.getContents(source); |
- } |
- |
- @override |
- int getModificationStamp(Source source) { |
- if (source.isInSystemLibrary) { |
- return sourceFactory.dartSdk.context.getModificationStamp(source); |
- } |
- return super.getModificationStamp(source); |
- } |
- |
-// /** |
-// * Set the analysis options, even if they would force re-analysis. This method should only be |
-// * invoked before the fake SDK is initialized. |
-// * |
-// * @param options the analysis options to be set |
-// */ |
-// void _internalSetAnalysisOptions(AnalysisOptions options) { |
-// super.analysisOptions = options; |
-// } |
-} |
- |
@reflectiveTest |
-class AnalysisContextImplTest extends EngineTestCase { |
- /** |
- * An analysis context whose source factory is [sourceFactory]. |
- */ |
- AnalysisContextImpl _context; |
- |
- /** |
- * The source factory associated with the analysis [context]. |
- */ |
- SourceFactory _sourceFactory; |
- |
+class AnalysisContextImplTest extends AbstractContextTest { |
void fail_applyChanges_empty() { |
- _context.applyChanges(new ChangeSet()); |
- expect(_context.performAnalysisTask().changeNotices, isNull); |
+ context.applyChanges(new ChangeSet()); |
+ expect(context.performAnalysisTask().changeNotices, isNull); |
// This test appears to be flaky. If it is named "test_" it fails, if it's |
// named "fail_" it doesn't fail. I'm guessing that it's dependent on |
// whether some other test is run. |
@@ -148,43 +61,41 @@ class AnalysisContextImplTest extends EngineTestCase { |
void fail_applyChanges_overriddenSource() { |
// Note: addSource adds the source to the contentCache. |
- Source source = _addSource("/test.dart", "library test;"); |
- _context.computeErrors(source); |
- while (!_context.sourcesNeedingProcessing.isEmpty) { |
- _context.performAnalysisTask(); |
+ Source source = addSource("/test.dart", "library test;"); |
+ context.computeErrors(source); |
+ while (!context.sourcesNeedingProcessing.isEmpty) { |
+ context.performAnalysisTask(); |
} |
// Adding the source as a changedSource should have no effect since |
// it is already overridden in the content cache. |
ChangeSet changeSet = new ChangeSet(); |
changeSet.changedSource(source); |
- _context.applyChanges(changeSet); |
- expect(_context.sourcesNeedingProcessing, hasLength(0)); |
+ context.applyChanges(changeSet); |
+ expect(context.sourcesNeedingProcessing, hasLength(0)); |
} |
Future fail_applyChanges_remove() { |
- _context = contextWithCore(); |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- _sourceFactory = _context.sourceFactory; |
+ context.onSourcesChanged.listen(listener.onData); |
String libAContents = r''' |
library libA; |
import 'libB.dart';'''; |
- Source libA = _addSource("/libA.dart", libAContents); |
+ Source libA = addSource("/libA.dart", libAContents); |
String libBContents = "library libB;"; |
- Source libB = _addSource("/libB.dart", libBContents); |
- LibraryElement libAElement = _context.computeLibraryElement(libA); |
+ Source libB = addSource("/libB.dart", libBContents); |
+ LibraryElement libAElement = context.computeLibraryElement(libA); |
expect(libAElement, isNotNull); |
List<LibraryElement> importedLibraries = libAElement.importedLibraries; |
expect(importedLibraries, hasLength(2)); |
- _context.computeErrors(libA); |
- _context.computeErrors(libB); |
- expect(_context.sourcesNeedingProcessing, hasLength(0)); |
- _context.setContents(libB, null); |
+ context.computeErrors(libA); |
+ context.computeErrors(libB); |
+ expect(context.sourcesNeedingProcessing, hasLength(0)); |
+ context.setContents(libB, null); |
_removeSource(libB); |
- List<Source> sources = _context.sourcesNeedingProcessing; |
+ List<Source> sources = context.sourcesNeedingProcessing; |
expect(sources, hasLength(1)); |
expect(sources[0], same(libA)); |
- libAElement = _context.computeLibraryElement(libA); |
+ libAElement = context.computeLibraryElement(libA); |
importedLibraries = libAElement.importedLibraries; |
expect(importedLibraries, hasLength(1)); |
return pumpEventQueue().then((_) { |
@@ -199,26 +110,24 @@ import 'libB.dart';'''; |
} |
Future fail_applyChanges_removeContainer() { |
- _context = contextWithCore(); |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- _sourceFactory = _context.sourceFactory; |
+ context.onSourcesChanged.listen(listener.onData); |
String libAContents = r''' |
library libA; |
import 'libB.dart';'''; |
- Source libA = _addSource("/libA.dart", libAContents); |
+ Source libA = addSource("/libA.dart", libAContents); |
String libBContents = "library libB;"; |
- Source libB = _addSource("/libB.dart", libBContents); |
- _context.computeLibraryElement(libA); |
- _context.computeErrors(libA); |
- _context.computeErrors(libB); |
- expect(_context.sourcesNeedingProcessing, hasLength(0)); |
+ Source libB = addSource("/libB.dart", libBContents); |
+ context.computeLibraryElement(libA); |
+ context.computeErrors(libA); |
+ context.computeErrors(libB); |
+ expect(context.sourcesNeedingProcessing, hasLength(0)); |
ChangeSet changeSet = new ChangeSet(); |
SourceContainer removedContainer = |
new _AnalysisContextImplTest_test_applyChanges_removeContainer(libB); |
changeSet.removedContainer(removedContainer); |
- _context.applyChanges(changeSet); |
- List<Source> sources = _context.sourcesNeedingProcessing; |
+ context.applyChanges(changeSet); |
+ List<Source> sources = context.sourcesNeedingProcessing; |
expect(sources, hasLength(1)); |
expect(sources[0], same(libA)); |
return pumpEventQueue().then((_) { |
@@ -232,46 +141,46 @@ import 'libB.dart';'''; |
} |
void fail_computeErrors_dart_none() { |
- Source source = _addSource("/lib.dart", "library lib;"); |
- List<AnalysisError> errors = _context.computeErrors(source); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ List<AnalysisError> errors = context.computeErrors(source); |
expect(errors, hasLength(0)); |
} |
void fail_computeErrors_dart_part() { |
Source librarySource = |
- _addSource("/lib.dart", "library lib; part 'part.dart';"); |
- Source partSource = _addSource("/part.dart", "part of 'lib';"); |
- _context.parseCompilationUnit(librarySource); |
- List<AnalysisError> errors = _context.computeErrors(partSource); |
+ addSource("/lib.dart", "library lib; part 'part.dart';"); |
+ Source partSource = addSource("/part.dart", "part of 'lib';"); |
+ context.parseCompilationUnit(librarySource); |
+ List<AnalysisError> errors = context.computeErrors(partSource); |
expect(errors, isNotNull); |
expect(errors.length > 0, isTrue); |
} |
void fail_computeErrors_dart_some() { |
- Source source = _addSource("/lib.dart", "library 'lib';"); |
- List<AnalysisError> errors = _context.computeErrors(source); |
+ Source source = addSource("/lib.dart", "library 'lib';"); |
+ List<AnalysisError> errors = context.computeErrors(source); |
expect(errors, isNotNull); |
expect(errors.length > 0, isTrue); |
} |
void fail_computeErrors_html_none() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- List<AnalysisError> errors = _context.computeErrors(source); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ List<AnalysisError> errors = context.computeErrors(source); |
expect(errors, hasLength(0)); |
} |
void fail_computeHtmlElement_valid() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- HtmlElement element = _context.computeHtmlElement(source); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ HtmlElement element = context.computeHtmlElement(source); |
expect(element, isNotNull); |
- expect(_context.computeHtmlElement(source), same(element)); |
+ expect(context.computeHtmlElement(source), same(element)); |
} |
void fail_computeImportedLibraries_none() { |
// This is failing because computeImportedLibraries now always includes |
// dart:core, and we don't have any way of knowing whether it was explicit. |
- Source source = _addSource("/test.dart", "library test;"); |
- expect(_context.computeImportedLibraries(source), hasLength(0)); |
+ Source source = addSource("/test.dart", "library test;"); |
+ expect(context.computeImportedLibraries(source), hasLength(0)); |
} |
void fail_computeImportedLibraries_some() { |
@@ -279,15 +188,15 @@ import 'libB.dart';'''; |
// dart:core, and we don't have any way of knowing whether it was explicit. |
// addSource("/lib1.dart", "library lib1;"); |
// addSource("/lib2.dart", "library lib2;"); |
- Source source = _addSource( |
+ Source source = addSource( |
"/test.dart", "library test; import 'lib1.dart'; import 'lib2.dart';"); |
- expect(_context.computeImportedLibraries(source), hasLength(2)); |
+ expect(context.computeImportedLibraries(source), hasLength(2)); |
} |
void fail_computeResolvableCompilationUnit_dart_exception() { |
TestSource source = _addSourceWithException("/test.dart"); |
try { |
- _context.computeResolvableCompilationUnit(source); |
+ context.computeResolvableCompilationUnit(source); |
fail("Expected AnalysisException"); |
} on AnalysisException { |
// Expected |
@@ -295,9 +204,9 @@ import 'libB.dart';'''; |
} |
void fail_computeResolvableCompilationUnit_html_exception() { |
- Source source = _addSource("/lib.html", "<html></html>"); |
+ Source source = addSource("/lib.html", "<html></html>"); |
try { |
- _context.computeResolvableCompilationUnit(source); |
+ context.computeResolvableCompilationUnit(source); |
fail("Expected AnalysisException"); |
} on AnalysisException { |
// Expected |
@@ -305,25 +214,23 @@ import 'libB.dart';'''; |
} |
void fail_computeResolvableCompilationUnit_valid() { |
- Source source = _addSource("/lib.dart", "library lib;"); |
- CompilationUnit parsedUnit = _context.parseCompilationUnit(source); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ CompilationUnit parsedUnit = context.parseCompilationUnit(source); |
expect(parsedUnit, isNotNull); |
CompilationUnit resolvedUnit = |
- _context.computeResolvableCompilationUnit(source); |
+ context.computeResolvableCompilationUnit(source); |
expect(resolvedUnit, isNotNull); |
expect(resolvedUnit, same(parsedUnit)); |
} |
Future fail_computeResolvedCompilationUnitAsync_dispose() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
+ Source source = addSource("/lib.dart", "library lib;"); |
// Complete all pending analysis tasks and flush the AST so that it won't |
// be available immediately. |
_performPendingAnalysisTasks(); |
_flushAst(source); |
CancelableFuture<CompilationUnit> future = |
- _context.computeResolvedCompilationUnitAsync(source, source); |
+ context.computeResolvedCompilationUnitAsync(source, source); |
bool completed = false; |
future.then((CompilationUnit unit) { |
fail('Future should have completed with error'); |
@@ -332,24 +239,22 @@ import 'libB.dart';'''; |
completed = true; |
}); |
expect(completed, isFalse); |
- expect(_context.pendingFutureSources_forTesting, isNotEmpty); |
+ expect(context.pendingFutureSources_forTesting, isNotEmpty); |
// Disposing of the context should cause all pending futures to complete |
// with AnalysisNotScheduled, so that no clients are left hanging. |
- _context.dispose(); |
- expect(_context.pendingFutureSources_forTesting, isEmpty); |
+ context.dispose(); |
+ expect(context.pendingFutureSources_forTesting, isEmpty); |
return pumpEventQueue().then((_) { |
expect(completed, isTrue); |
- expect(_context.pendingFutureSources_forTesting, isEmpty); |
+ expect(context.pendingFutureSources_forTesting, isEmpty); |
}); |
} |
Future fail_computeResolvedCompilationUnitAsync_unrelatedLibrary() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source librarySource = _addSource("/lib.dart", "library lib;"); |
- Source partSource = _addSource("/part.dart", "part of foo;"); |
+ Source librarySource = addSource("/lib.dart", "library lib;"); |
+ Source partSource = addSource("/part.dart", "part of foo;"); |
bool completed = false; |
- _context |
+ context |
.computeResolvedCompilationUnitAsync(partSource, librarySource) |
.then((_) { |
fail('Expected resolution to fail'); |
@@ -369,178 +274,170 @@ import 'libB.dart';'''; |
fail("Implement this"); |
} |
- void fail_getElement_constructor_named() { |
- Source source = _addSource("/lib.dart", r''' |
+ void test_getElement_constructor_named() { |
+ Source source = addSource("/lib.dart", r''' |
class A { |
A.named() {} |
}'''); |
_analyzeAll_assertFinished(); |
- LibraryElement library = _context.computeLibraryElement(source); |
+ LibraryElement library = context.computeLibraryElement(source); |
ClassElement classA = _findClass(library.definingCompilationUnit, "A"); |
ConstructorElement constructor = classA.constructors[0]; |
ElementLocation location = constructor.location; |
- Element element = _context.getElement(location); |
+ Element element = context.getElement(location); |
expect(element, same(constructor)); |
} |
- void fail_getElement_constructor_unnamed() { |
- Source source = _addSource("/lib.dart", r''' |
+ void test_getElement_constructor_unnamed() { |
+ Source source = addSource("/lib.dart", r''' |
class A { |
A() {} |
}'''); |
_analyzeAll_assertFinished(); |
- LibraryElement library = _context.computeLibraryElement(source); |
+ LibraryElement library = context.computeLibraryElement(source); |
ClassElement classA = _findClass(library.definingCompilationUnit, "A"); |
ConstructorElement constructor = classA.constructors[0]; |
ElementLocation location = constructor.location; |
- Element element = _context.getElement(location); |
+ Element element = context.getElement(location); |
expect(element, same(constructor)); |
} |
- void fail_getElement_enum() { |
- Source source = _addSource('/test.dart', 'enum MyEnum {A, B, C}'); |
+ void test_getElement_enum() { |
+ Source source = addSource('/test.dart', 'enum MyEnum {A, B, C}'); |
_analyzeAll_assertFinished(); |
- LibraryElement library = _context.computeLibraryElement(source); |
+ LibraryElement library = context.computeLibraryElement(source); |
ClassElement myEnum = library.definingCompilationUnit.getEnum('MyEnum'); |
ElementLocation location = myEnum.location; |
- Element element = _context.getElement(location); |
+ Element element = context.getElement(location); |
expect(element, same(myEnum)); |
} |
void fail_getErrors_dart_none() { |
- Source source = _addSource("/lib.dart", "library lib;"); |
- var errorInfo = _context.getErrors(source); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ var errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
List<AnalysisError> errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
- _context.computeErrors(source); |
+ context.computeErrors(source); |
errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
} |
void fail_getErrors_dart_some() { |
- Source source = _addSource("/lib.dart", "library 'lib';"); |
- var errorInfo = _context.getErrors(source); |
+ Source source = addSource("/lib.dart", "library 'lib';"); |
+ var errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
List<AnalysisError> errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
- _context.computeErrors(source); |
+ context.computeErrors(source); |
errors = errorInfo.errors; |
expect(errors, hasLength(1)); |
} |
void fail_getErrors_html_none() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- AnalysisErrorInfo errorInfo = _context.getErrors(source); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ AnalysisErrorInfo errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
List<AnalysisError> errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
- _context.computeErrors(source); |
+ context.computeErrors(source); |
errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
} |
void fail_getErrors_html_some() { |
- Source source = _addSource("/test.html", r''' |
+ Source source = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.dart'/> |
</head></html>'''); |
- AnalysisErrorInfo errorInfo = _context.getErrors(source); |
+ AnalysisErrorInfo errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
List<AnalysisError> errors = errorInfo.errors; |
expect(errors, hasLength(0)); |
- _context.computeErrors(source); |
+ context.computeErrors(source); |
errors = errorInfo.errors; |
expect(errors, hasLength(1)); |
} |
void fail_getHtmlElement_html() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- HtmlElement element = _context.getHtmlElement(source); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ HtmlElement element = context.getHtmlElement(source); |
expect(element, isNull); |
- _context.computeHtmlElement(source); |
- element = _context.getHtmlElement(source); |
+ context.computeHtmlElement(source); |
+ element = context.getHtmlElement(source); |
expect(element, isNotNull); |
} |
void fail_getHtmlFilesReferencing_library() { |
- Source htmlSource = _addSource("/test.html", r''' |
+ Source htmlSource = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.dart'/> |
<script type='application/dart' src='test.js'/> |
</head></html>'''); |
- Source librarySource = _addSource("/test.dart", "library lib;"); |
- List<Source> result = _context.getHtmlFilesReferencing(librarySource); |
+ Source librarySource = addSource("/test.dart", "library lib;"); |
+ List<Source> result = context.getHtmlFilesReferencing(librarySource); |
expect(result, hasLength(0)); |
- _context.parseHtmlUnit(htmlSource); |
- result = _context.getHtmlFilesReferencing(librarySource); |
+ context.parseHtmlUnit(htmlSource); |
+ result = context.getHtmlFilesReferencing(librarySource); |
expect(result, hasLength(1)); |
expect(result[0], htmlSource); |
} |
void fail_getHtmlFilesReferencing_part() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source htmlSource = _addSource("/test.html", r''' |
+ Source htmlSource = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.dart'/> |
<script type='application/dart' src='test.js'/> |
</head></html>'''); |
Source librarySource = |
- _addSource("/test.dart", "library lib; part 'part.dart';"); |
- Source partSource = _addSource("/part.dart", "part of lib;"); |
- _context.computeLibraryElement(librarySource); |
- List<Source> result = _context.getHtmlFilesReferencing(partSource); |
+ addSource("/test.dart", "library lib; part 'part.dart';"); |
+ Source partSource = addSource("/part.dart", "part of lib;"); |
+ context.computeLibraryElement(librarySource); |
+ List<Source> result = context.getHtmlFilesReferencing(partSource); |
expect(result, hasLength(0)); |
- _context.parseHtmlUnit(htmlSource); |
- result = _context.getHtmlFilesReferencing(partSource); |
+ context.parseHtmlUnit(htmlSource); |
+ result = context.getHtmlFilesReferencing(partSource); |
expect(result, hasLength(1)); |
expect(result[0], htmlSource); |
} |
void fail_getHtmlSources() { |
- List<Source> sources = _context.htmlSources; |
+ List<Source> sources = context.htmlSources; |
expect(sources, hasLength(0)); |
- Source source = _addSource("/test.html", ""); |
- _context.computeKindOf(source); |
- sources = _context.htmlSources; |
+ Source source = addSource("/test.html", ""); |
+ context.computeKindOf(source); |
+ sources = context.htmlSources; |
expect(sources, hasLength(1)); |
expect(sources[0], source); |
} |
void fail_getLibrariesReferencedFromHtml() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source htmlSource = _addSource("/test.html", r''' |
+ Source htmlSource = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.dart'/> |
<script type='application/dart' src='test.js'/> |
</head></html>'''); |
- Source librarySource = _addSource("/test.dart", "library lib;"); |
- _context.computeLibraryElement(librarySource); |
- _context.parseHtmlUnit(htmlSource); |
- List<Source> result = _context.getLibrariesReferencedFromHtml(htmlSource); |
+ Source librarySource = addSource("/test.dart", "library lib;"); |
+ context.computeLibraryElement(librarySource); |
+ context.parseHtmlUnit(htmlSource); |
+ List<Source> result = context.getLibrariesReferencedFromHtml(htmlSource); |
expect(result, hasLength(1)); |
expect(result[0], librarySource); |
} |
void fail_getResolvedCompilationUnit_library() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library libb;"); |
- LibraryElement library = _context.computeLibraryElement(source); |
- expect(_context.getResolvedCompilationUnit(source, library), isNotNull); |
- _context.setContents(source, "library lib;"); |
- expect(_context.getResolvedCompilationUnit(source, library), isNull); |
+ Source source = addSource("/lib.dart", "library libb;"); |
+ LibraryElement library = context.computeLibraryElement(source); |
+ expect(context.getResolvedCompilationUnit(source, library), isNotNull); |
+ context.setContents(source, "library lib;"); |
+ expect(context.getResolvedCompilationUnit(source, library), isNull); |
} |
void fail_getResolvedHtmlUnit() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.html", "<html></html>"); |
- expect(_context.getResolvedHtmlUnit(source), isNull); |
- _context.resolveHtmlUnit(source); |
- expect(_context.getResolvedHtmlUnit(source), isNotNull); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ expect(context.getResolvedHtmlUnit(source), isNull); |
+ context.resolveHtmlUnit(source); |
+ expect(context.getResolvedHtmlUnit(source), isNotNull); |
} |
void fail_mergeContext() { |
@@ -548,16 +445,16 @@ class A { |
} |
void fail_parseHtmlUnit_noErrors() { |
- Source source = _addSource("/lib.html", "<html></html>"); |
- ht.HtmlUnit unit = _context.parseHtmlUnit(source); |
+ Source source = addSource("/lib.html", "<html></html>"); |
+ ht.HtmlUnit unit = context.parseHtmlUnit(source); |
expect(unit, isNotNull); |
} |
void fail_parseHtmlUnit_resolveDirectives() { |
- Source libSource = _addSource("/lib.dart", r''' |
+ Source libSource = addSource("/lib.dart", r''' |
library lib; |
class ClassA {}'''); |
- Source source = _addSource("/lib.html", r''' |
+ Source source = addSource("/lib.html", r''' |
<html> |
<head> |
<script type='application/dart'> |
@@ -568,7 +465,7 @@ class ClassA {}'''); |
<body> |
</body> |
</html>'''); |
- ht.HtmlUnit unit = _context.parseHtmlUnit(source); |
+ ht.HtmlUnit unit = context.parseHtmlUnit(source); |
expect(unit, isNotNull); |
// import directive should be resolved |
ht.XmlTagNode htmlNode = unit.tagNodes[0]; |
@@ -581,190 +478,177 @@ class ClassA {}'''); |
} |
void fail_performAnalysisTask_addPart() { |
- Source libSource = _addSource("/lib.dart", r''' |
+ Source libSource = addSource("/lib.dart", r''' |
library lib; |
part 'part.dart';'''); |
// run all tasks without part |
_analyzeAll_assertFinished(); |
// add part and run all tasks |
- Source partSource = _addSource("/part.dart", r''' |
+ Source partSource = addSource("/part.dart", r''' |
part of lib; |
'''); |
_analyzeAll_assertFinished(); |
// "libSource" should be here |
- List<Source> librariesWithPart = |
- _context.getLibrariesContaining(partSource); |
+ List<Source> librariesWithPart = context.getLibrariesContaining(partSource); |
expect(librariesWithPart, unorderedEquals([libSource])); |
} |
void fail_performAnalysisTask_changeLibraryContents() { |
Source libSource = |
- _addSource("/test.dart", "library lib; part 'test-part.dart';"); |
- Source partSource = _addSource("/test-part.dart", "part of lib;"); |
+ addSource("/test.dart", "library lib; part 'test-part.dart';"); |
+ Source partSource = addSource("/test-part.dart", "part of lib;"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 1"); |
// update and analyze #1 |
- _context.setContents(libSource, "library lib;"); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ context.setContents(libSource, "library lib;"); |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 2"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part resolved 2"); |
// update and analyze #2 |
- _context.setContents(libSource, "library lib; part 'test-part.dart';"); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ context.setContents(libSource, "library lib; part 'test-part.dart';"); |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 3"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 3"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 2"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 3"); |
} |
void fail_performAnalysisTask_changeLibraryThenPartContents() { |
Source libSource = |
- _addSource("/test.dart", "library lib; part 'test-part.dart';"); |
- Source partSource = _addSource("/test-part.dart", "part of lib;"); |
+ addSource("/test.dart", "library lib; part 'test-part.dart';"); |
+ Source partSource = addSource("/test-part.dart", "part of lib;"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 1"); |
// update and analyze #1 |
- _context.setContents(libSource, "library lib;"); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ context.setContents(libSource, "library lib;"); |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 2"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part resolved 2"); |
// update and analyze #2 |
- _context.setContents(partSource, "part of lib; // 1"); |
+ context.setContents(partSource, "part of lib; // 1"); |
// Assert that changing the part's content does not effect the library |
// now that it is no longer part of that library |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library changed 3"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 3"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 3"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part resolved 3"); |
} |
void fail_performAnalysisTask_changePartContents_makeItAPart() { |
- Source libSource = _addSource("/lib.dart", r''' |
+ Source libSource = addSource("/lib.dart", r''' |
library lib; |
part 'part.dart'; |
void f(x) {}'''); |
- Source partSource = _addSource("/part.dart", "void g() { f(null); }"); |
+ Source partSource = addSource("/part.dart", "void g() { f(null); }"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 1"); |
// update and analyze |
- _context.setContents(partSource, r''' |
+ context.setContents(partSource, r''' |
part of lib; |
void g() { f(null); }'''); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 2"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 2"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 2"); |
- expect(_context.getErrors(libSource).errors, hasLength(0)); |
- expect(_context.getErrors(partSource).errors, hasLength(0)); |
+ expect(context.getErrors(libSource).errors, hasLength(0)); |
+ expect(context.getErrors(partSource).errors, hasLength(0)); |
} |
/** |
* https://code.google.com/p/dart/issues/detail?id=12424 |
*/ |
void fail_performAnalysisTask_changePartContents_makeItNotPart() { |
- Source libSource = _addSource("/lib.dart", r''' |
+ Source libSource = addSource("/lib.dart", r''' |
library lib; |
part 'part.dart'; |
void f(x) {}'''); |
- Source partSource = _addSource("/part.dart", r''' |
+ Source partSource = addSource("/part.dart", r''' |
part of lib; |
void g() { f(null); }'''); |
_analyzeAll_assertFinished(); |
- expect(_context.getErrors(libSource).errors, hasLength(0)); |
- expect(_context.getErrors(partSource).errors, hasLength(0)); |
+ expect(context.getErrors(libSource).errors, hasLength(0)); |
+ expect(context.getErrors(partSource).errors, hasLength(0)); |
// Remove 'part' directive, which should make "f(null)" an error. |
- _context.setContents(partSource, r''' |
+ context.setContents(partSource, r''' |
//part of lib; |
void g() { f(null); }'''); |
_analyzeAll_assertFinished(); |
- expect(_context.getErrors(libSource).errors.length != 0, isTrue); |
+ expect(context.getErrors(libSource).errors.length != 0, isTrue); |
} |
void fail_performAnalysisTask_changePartContents_noSemanticChanges() { |
Source libSource = |
- _addSource("/test.dart", "library lib; part 'test-part.dart';"); |
- Source partSource = _addSource("/test-part.dart", "part of lib;"); |
+ addSource("/test.dart", "library lib; part 'test-part.dart';"); |
+ Source partSource = addSource("/test-part.dart", "part of lib;"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 1"); |
// update and analyze #1 |
- _context.setContents(partSource, "part of lib; // 1"); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ context.setContents(partSource, "part of lib; // 1"); |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 2"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 2"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 2"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 2"); |
// update and analyze #2 |
- _context.setContents(partSource, "part of lib; // 12"); |
- expect(_context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
+ context.setContents(partSource, "part of lib; // 12"); |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNull, |
reason: "library changed 3"); |
- expect(_context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
+ expect(context.getResolvedCompilationUnit2(partSource, libSource), isNull, |
reason: "part changed 3"); |
_analyzeAll_assertFinished(); |
- expect( |
- _context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
+ expect(context.getResolvedCompilationUnit2(libSource, libSource), isNotNull, |
reason: "library resolved 3"); |
expect( |
- _context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
+ context.getResolvedCompilationUnit2(partSource, libSource), isNotNull, |
reason: "part resolved 3"); |
} |
@@ -774,11 +658,11 @@ void g() { f(null); }'''); |
{ |
ChangeSet changeSet = new ChangeSet(); |
changeSet.addedSource(source); |
- _context.applyChanges(changeSet); |
+ context.applyChanges(changeSet); |
} |
// prepare errors |
_analyzeAll_assertFinished(); |
- List<AnalysisError> errors = _context.getErrors(source).errors; |
+ List<AnalysisError> errors = context.getErrors(source).errors; |
// validate errors |
expect(errors, hasLength(1)); |
AnalysisError error = errors[0]; |
@@ -792,11 +676,11 @@ void g() { f(null); }'''); |
{ |
ChangeSet changeSet = new ChangeSet(); |
changeSet.addedSource(source); |
- _context.applyChanges(changeSet); |
+ context.applyChanges(changeSet); |
} |
// prepare errors |
_analyzeAll_assertFinished(); |
- List<AnalysisError> errors = _context.getErrors(source).errors; |
+ List<AnalysisError> errors = context.getErrors(source).errors; |
// validate errors |
expect(errors, hasLength(1)); |
AnalysisError error = errors[0]; |
@@ -806,44 +690,44 @@ void g() { f(null); }'''); |
void fail_performAnalysisTask_importedLibraryAdd() { |
Source libASource = |
- _addSource("/libA.dart", "library libA; import 'libB.dart';"); |
+ addSource("/libA.dart", "library libA; import 'libB.dart';"); |
_analyzeAll_assertFinished(); |
expect( |
- _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
+ context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
reason: "libA resolved 1"); |
- expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)), |
+ expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)), |
isTrue, reason: "libA has an error"); |
// add libB.dart and analyze |
- Source libBSource = _addSource("/libB.dart", "library libB;"); |
+ Source libBSource = addSource("/libB.dart", "library libB;"); |
_analyzeAll_assertFinished(); |
expect( |
- _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
+ context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
reason: "libA resolved 2"); |
expect( |
- _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
+ context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
reason: "libB resolved 2"); |
- expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)), |
+ expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)), |
isTrue, reason: "libA doesn't have errors"); |
} |
void fail_performAnalysisTask_importedLibraryAdd_html() { |
- Source htmlSource = _addSource("/page.html", r''' |
+ Source htmlSource = addSource("/page.html", r''' |
<html><body><script type="application/dart"> |
import '/libB.dart'; |
main() {print('hello dart');} |
</script></body></html>'''); |
_analyzeAll_assertFinished(); |
- expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull, |
+ expect(context.getResolvedHtmlUnit(htmlSource), isNotNull, |
reason: "htmlUnit resolved 1"); |
- expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(htmlSource)), |
+ expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(htmlSource)), |
isTrue, reason: "htmlSource has an error"); |
// add libB.dart and analyze |
- Source libBSource = _addSource("/libB.dart", "library libB;"); |
+ Source libBSource = addSource("/libB.dart", "library libB;"); |
_analyzeAll_assertFinished(); |
- expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull, |
+ expect(context.getResolvedHtmlUnit(htmlSource), isNotNull, |
reason: "htmlUnit resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
+ context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
reason: "libB resolved 2"); |
// TODO (danrubel) commented out to fix red bots |
// AnalysisErrorInfo errors = _context.getErrors(htmlSource); |
@@ -855,56 +739,56 @@ void g() { f(null); }'''); |
void fail_performAnalysisTask_importedLibraryDelete() { |
Source libASource = |
- _addSource("/libA.dart", "library libA; import 'libB.dart';"); |
- Source libBSource = _addSource("/libB.dart", "library libB;"); |
+ addSource("/libA.dart", "library libA; import 'libB.dart';"); |
+ Source libBSource = addSource("/libB.dart", "library libB;"); |
_analyzeAll_assertFinished(); |
expect( |
- _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
+ context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
reason: "libA resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
+ context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
reason: "libB resolved 1"); |
- expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)), |
+ expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)), |
isTrue, reason: "libA doesn't have errors"); |
// remove libB.dart content and analyze |
- _context.setContents(libBSource, null); |
+ context.setContents(libBSource, null); |
_analyzeAll_assertFinished(); |
expect( |
- _context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
+ context.getResolvedCompilationUnit2(libASource, libASource), isNotNull, |
reason: "libA resolved 2"); |
- expect(_hasAnalysisErrorWithErrorSeverity(_context.getErrors(libASource)), |
+ expect(_hasAnalysisErrorWithErrorSeverity(context.getErrors(libASource)), |
isTrue, reason: "libA has an error"); |
} |
void fail_performAnalysisTask_importedLibraryDelete_html() { |
// NOTE: This was failing before converting to the new task model. |
- Source htmlSource = _addSource("/page.html", r''' |
+ Source htmlSource = addSource("/page.html", r''' |
<html><body><script type="application/dart"> |
import 'libB.dart'; |
main() {print('hello dart');} |
</script></body></html>'''); |
- Source libBSource = _addSource("/libB.dart", "library libB;"); |
+ Source libBSource = addSource("/libB.dart", "library libB;"); |
_analyzeAll_assertFinished(); |
- expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull, |
+ expect(context.getResolvedHtmlUnit(htmlSource), isNotNull, |
reason: "htmlUnit resolved 1"); |
expect( |
- _context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
+ context.getResolvedCompilationUnit2(libBSource, libBSource), isNotNull, |
reason: "libB resolved 1"); |
- expect(!_hasAnalysisErrorWithErrorSeverity(_context.getErrors(htmlSource)), |
+ expect(!_hasAnalysisErrorWithErrorSeverity(context.getErrors(htmlSource)), |
isTrue, reason: "htmlSource doesn't have errors"); |
// remove libB.dart content and analyze |
- _context.setContents(libBSource, null); |
+ context.setContents(libBSource, null); |
_analyzeAll_assertFinished(); |
- expect(_context.getResolvedHtmlUnit(htmlSource), isNotNull, |
+ expect(context.getResolvedHtmlUnit(htmlSource), isNotNull, |
reason: "htmlUnit resolved 1"); |
- AnalysisErrorInfo errors = _context.getErrors(htmlSource); |
+ AnalysisErrorInfo errors = context.getErrors(htmlSource); |
expect(_hasAnalysisErrorWithErrorSeverity(errors), isTrue, |
reason: "htmlSource has an error"); |
} |
void fail_performAnalysisTask_IOException() { |
TestSource source = _addSourceWithException2("/test.dart", "library test;"); |
- int oldTimestamp = _context.getModificationStamp(source); |
+ int oldTimestamp = context.getModificationStamp(source); |
source.generateExceptionOnRead = false; |
_analyzeAll_assertFinished(); |
expect(source.readCount, 1); |
@@ -913,16 +797,16 @@ void g() { f(null); }'''); |
_changeSource(source, ""); |
// Ensure that the timestamp differs, |
// so that analysis engine notices the change |
- } while (oldTimestamp == _context.getModificationStamp(source)); |
+ } while (oldTimestamp == context.getModificationStamp(source)); |
_analyzeAll_assertFinished(); |
expect(source.readCount, 2); |
} |
void fail_performAnalysisTask_missingPart() { |
Source source = |
- _addSource("/test.dart", "library lib; part 'no-such-file.dart';"); |
+ addSource("/test.dart", "library lib; part 'no-such-file.dart';"); |
_analyzeAll_assertFinished(); |
- expect(_context.getLibraryElement(source), isNotNull, |
+ expect(context.getLibraryElement(source), isNotNull, |
reason: "performAnalysisTask failed to compute an element model"); |
} |
@@ -931,12 +815,11 @@ void g() { f(null); }'''); |
} |
void fail_resolveCompilationUnit_import_relative() { |
- _context = contextWithCore(); |
Source sourceA = |
- _addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
- _addSource("/libB.dart", "library libB; class B{}"); |
+ addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
+ addSource("/libB.dart", "library libB; class B{}"); |
CompilationUnit compilationUnit = |
- _context.resolveCompilationUnit2(sourceA, sourceA); |
+ context.resolveCompilationUnit2(sourceA, sourceA); |
expect(compilationUnit, isNotNull); |
LibraryElement library = compilationUnit.element.library; |
List<LibraryElement> importedLibraries = library.importedLibraries; |
@@ -946,12 +829,11 @@ void g() { f(null); }'''); |
} |
void fail_resolveCompilationUnit_import_relative_cyclic() { |
- _context = contextWithCore(); |
Source sourceA = |
- _addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
- _addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}"); |
+ addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
+ addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}"); |
CompilationUnit compilationUnit = |
- _context.resolveCompilationUnit2(sourceA, sourceA); |
+ context.resolveCompilationUnit2(sourceA, sourceA); |
expect(compilationUnit, isNotNull); |
LibraryElement library = compilationUnit.element.library; |
List<LibraryElement> importedLibraries = library.importedLibraries; |
@@ -961,70 +843,68 @@ void g() { f(null); }'''); |
} |
void fail_resolveHtmlUnit() { |
- Source source = _addSource("/lib.html", "<html></html>"); |
- ht.HtmlUnit unit = _context.resolveHtmlUnit(source); |
+ Source source = addSource("/lib.html", "<html></html>"); |
+ ht.HtmlUnit unit = context.resolveHtmlUnit(source); |
expect(unit, isNotNull); |
} |
void fail_setAnalysisOptions_reduceAnalysisPriorityOrder() { |
AnalysisOptionsImpl options = |
- new AnalysisOptionsImpl.con1(_context.analysisOptions); |
+ new AnalysisOptionsImpl.con1(context.analysisOptions); |
List<Source> sources = new List<Source>(); |
for (int index = 0; index < options.cacheSize; index++) { |
- sources.add(_addSource("/lib.dart$index", "")); |
+ sources.add(addSource("/lib.dart$index", "")); |
} |
- _context.analysisPriorityOrder = sources; |
- int oldPriorityOrderSize = _getPriorityOrder(_context).length; |
+ context.analysisPriorityOrder = sources; |
+ int oldPriorityOrderSize = _getPriorityOrder(context).length; |
options.cacheSize = options.cacheSize - 10; |
- _context.analysisOptions = options; |
- expect(oldPriorityOrderSize > _getPriorityOrder(_context).length, isTrue); |
+ context.analysisOptions = options; |
+ expect(oldPriorityOrderSize > _getPriorityOrder(context).length, isTrue); |
} |
void fail_setAnalysisPriorityOrder_lessThanCacheSize() { |
- AnalysisOptions options = _context.analysisOptions; |
+ AnalysisOptions options = context.analysisOptions; |
List<Source> sources = new List<Source>(); |
for (int index = 0; index < options.cacheSize; index++) { |
- sources.add(_addSource("/lib.dart$index", "")); |
+ sources.add(addSource("/lib.dart$index", "")); |
} |
- _context.analysisPriorityOrder = sources; |
- expect(options.cacheSize > _getPriorityOrder(_context).length, isTrue); |
+ context.analysisPriorityOrder = sources; |
+ expect(options.cacheSize > _getPriorityOrder(context).length, isTrue); |
} |
Future fail_setChangedContents_libraryWithPart() { |
AnalysisOptionsImpl options = new AnalysisOptionsImpl(); |
options.incremental = true; |
- _context = new AnalysisContextForTests(); |
- _context.analysisOptions = options; |
+ context.analysisOptions = options; |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- _sourceFactory = _context.sourceFactory; |
+ context.onSourcesChanged.listen(listener.onData); |
String oldCode = r''' |
library lib; |
part 'part.dart'; |
int a = 0;'''; |
- Source librarySource = _addSource("/lib.dart", oldCode); |
+ Source librarySource = addSource("/lib.dart", oldCode); |
String partContents = r''' |
part of lib; |
int b = a;'''; |
- Source partSource = _addSource("/part.dart", partContents); |
- LibraryElement element = _context.computeLibraryElement(librarySource); |
+ Source partSource = addSource("/part.dart", partContents); |
+ LibraryElement element = context.computeLibraryElement(librarySource); |
CompilationUnit unit = |
- _context.getResolvedCompilationUnit(librarySource, element); |
+ context.getResolvedCompilationUnit(librarySource, element); |
expect(unit, isNotNull); |
int offset = oldCode.indexOf("int a") + 4; |
String newCode = r''' |
library lib; |
part 'part.dart'; |
int ya = 0;'''; |
- expect(_getIncrementalAnalysisCache(_context), isNull); |
- _context.setChangedContents(librarySource, newCode, offset, 0, 1); |
- expect(_context.getContents(librarySource).data, newCode); |
+ expect(_getIncrementalAnalysisCache(context), isNull); |
+ context.setChangedContents(librarySource, newCode, offset, 0, 1); |
+ expect(context.getContents(librarySource).data, newCode); |
IncrementalAnalysisCache incrementalCache = |
- _getIncrementalAnalysisCache(_context); |
+ _getIncrementalAnalysisCache(context); |
expect(incrementalCache.librarySource, librarySource); |
expect(incrementalCache.resolvedUnit, same(unit)); |
- expect(_context.getResolvedCompilationUnit2(partSource, librarySource), |
- isNull); |
+ expect( |
+ context.getResolvedCompilationUnit2(partSource, librarySource), isNull); |
expect(incrementalCache.newContents, newCode); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
@@ -1036,30 +916,28 @@ int ya = 0;'''; |
}); |
} |
- void fail_setContents_unchanged_consistentModificationTime() { |
+ void test_setContents_unchanged_consistentModificationTime() { |
String contents = "// foo"; |
- Source source = _addSource("/test.dart", contents); |
+ Source source = addSource("/test.dart", contents); |
// do all, no tasks |
_analyzeAll_assertFinished(); |
{ |
- AnalysisResult result = _context.performAnalysisTask(); |
+ AnalysisResult result = context.performAnalysisTask(); |
expect(result.changeNotices, isNull); |
} |
// set the same contents, still no tasks |
- _context.setContents(source, contents); |
+ context.setContents(source, contents); |
{ |
- AnalysisResult result = _context.performAnalysisTask(); |
+ AnalysisResult result = context.performAnalysisTask(); |
expect(result.changeNotices, isNull); |
} |
} |
void fail_unreadableSource() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source test1 = _addSource("/test1.dart", r''' |
+ Source test1 = addSource("/test1.dart", r''' |
import 'test2.dart'; |
library test1;'''); |
- Source test2 = _addSource("/test2.dart", r''' |
+ Source test2 = addSource("/test2.dart", r''' |
import 'test1.dart'; |
import 'test3.dart'; |
library test2;'''); |
@@ -1067,61 +945,27 @@ library test2;'''); |
_analyzeAll_assertFinished(); |
// test1 and test2 should have been successfully analyzed |
// despite the fact that test3 couldn't be read. |
- expect(_context.computeLibraryElement(test1), isNotNull); |
- expect(_context.computeLibraryElement(test2), isNotNull); |
- expect(_context.computeLibraryElement(test3), isNull); |
- } |
- |
- @override |
- void setUp() { |
- EnginePlugin enginePlugin = AnalysisEngine.instance.enginePlugin; |
- if (enginePlugin.taskExtensionPoint == null) { |
- ExtensionManager manager = new ExtensionManager(); |
- manager.processPlugins([enginePlugin]); |
- } |
- |
- _context = new AnalysisContextImpl(); |
- _sourceFactory = new SourceFactory([ |
- new DartUriResolver(DirectoryBasedDartSdk.defaultSdk), |
- new FileUriResolver() |
- ]); |
- _context.sourceFactory = _sourceFactory; |
- AnalysisOptionsImpl options = |
- new AnalysisOptionsImpl.con1(_context.analysisOptions); |
- options.cacheSize = 256; |
- _context.analysisOptions = options; |
- } |
- |
- void test_applyChanges_change_flush_element() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source librarySource = _addSource("/lib.dart", r''' |
-library lib; |
-int a = 0;'''); |
- expect(_context.computeLibraryElement(librarySource), isNotNull); |
- _context.setContents(librarySource, r''' |
-library lib; |
-int aa = 0;'''); |
- expect(_context.getLibraryElement(librarySource), isNull); |
+ expect(context.computeLibraryElement(test1), isNotNull); |
+ expect(context.computeLibraryElement(test2), isNotNull); |
+ expect(context.computeLibraryElement(test3), isNull); |
} |
@override |
void tearDown() { |
- _context = null; |
- _sourceFactory = null; |
+ context = null; |
+ sourceFactory = null; |
super.tearDown(); |
} |
Future test_applyChanges_add() { |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- expect(_context.sourcesNeedingProcessing, isEmpty); |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ context.onSourcesChanged.listen(listener.onData); |
+ expect(context.sourcesNeedingProcessing, isEmpty); |
+ Source source = newSource('/test.dart'); |
ChangeSet changeSet = new ChangeSet(); |
changeSet.addedSource(source); |
- _context.applyChanges(changeSet); |
- expect(_context.sourcesNeedingProcessing, contains(source)); |
+ context.applyChanges(changeSet); |
+ expect(context.sourcesNeedingProcessing, contains(source)); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
listener.assertNoMoreEvents(); |
@@ -1130,20 +974,18 @@ int aa = 0;'''); |
Future test_applyChanges_change() { |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- expect(_context.sourcesNeedingProcessing, isEmpty); |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ context.onSourcesChanged.listen(listener.onData); |
+ expect(context.sourcesNeedingProcessing, isEmpty); |
+ Source source = newSource('/test.dart'); |
ChangeSet changeSet1 = new ChangeSet(); |
changeSet1.addedSource(source); |
- _context.applyChanges(changeSet1); |
- expect(_context.sourcesNeedingProcessing, contains(source)); |
- Source source2 = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart")); |
+ context.applyChanges(changeSet1); |
+ expect(context.sourcesNeedingProcessing, contains(source)); |
+ Source source2 = newSource('/test2.dart'); |
ChangeSet changeSet2 = new ChangeSet(); |
changeSet2.addedSource(source2); |
changeSet2.changedSource(source); |
- _context.applyChanges(changeSet2); |
+ context.applyChanges(changeSet2); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
listener.assertEvent(wereSourcesAdded: true, changedSources: [source]); |
@@ -1153,20 +995,18 @@ int aa = 0;'''); |
Future test_applyChanges_change_content() { |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- expect(_context.sourcesNeedingProcessing, isEmpty); |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ context.onSourcesChanged.listen(listener.onData); |
+ expect(context.sourcesNeedingProcessing, isEmpty); |
+ Source source = newSource('/test.dart'); |
ChangeSet changeSet1 = new ChangeSet(); |
changeSet1.addedSource(source); |
- _context.applyChanges(changeSet1); |
- expect(_context.sourcesNeedingProcessing, contains(source)); |
- Source source2 = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart")); |
+ context.applyChanges(changeSet1); |
+ expect(context.sourcesNeedingProcessing, contains(source)); |
+ Source source2 = newSource('/test2.dart'); |
ChangeSet changeSet2 = new ChangeSet(); |
changeSet2.addedSource(source2); |
changeSet2.changedContent(source, 'library test;'); |
- _context.applyChanges(changeSet2); |
+ context.applyChanges(changeSet2); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
listener.assertEvent(wereSourcesAdded: true, changedSources: [source]); |
@@ -1174,36 +1014,45 @@ int aa = 0;'''); |
}); |
} |
+ void test_applyChanges_change_flush_element() { |
+ Source librarySource = addSource("/lib.dart", r''' |
+library lib; |
+int a = 0;'''); |
+ expect(context.computeLibraryElement(librarySource), isNotNull); |
+ context.setContents(librarySource, r''' |
+library lib; |
+int aa = 0;'''); |
+ expect(context.getLibraryElement(librarySource), isNull); |
+ } |
+ |
Future test_applyChanges_change_multiple() { |
- _context = contextWithCore(); |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- _sourceFactory = _context.sourceFactory; |
+ context.onSourcesChanged.listen(listener.onData); |
String libraryContents1 = r''' |
library lib; |
part 'part.dart'; |
int a = 0;'''; |
- Source librarySource = _addSource("/lib.dart", libraryContents1); |
+ Source librarySource = addSource("/lib.dart", libraryContents1); |
String partContents1 = r''' |
part of lib; |
int b = a;'''; |
- Source partSource = _addSource("/part.dart", partContents1); |
- _context.computeLibraryElement(librarySource); |
+ Source partSource = addSource("/part.dart", partContents1); |
+ context.computeLibraryElement(librarySource); |
String libraryContents2 = r''' |
library lib; |
part 'part.dart'; |
int aa = 0;'''; |
- _context.setContents(librarySource, libraryContents2); |
+ context.setContents(librarySource, libraryContents2); |
String partContents2 = r''' |
part of lib; |
int b = aa;'''; |
- _context.setContents(partSource, partContents2); |
- _context.computeLibraryElement(librarySource); |
+ context.setContents(partSource, partContents2); |
+ context.computeLibraryElement(librarySource); |
CompilationUnit libraryUnit = |
- _context.resolveCompilationUnit2(librarySource, librarySource); |
+ context.resolveCompilationUnit2(librarySource, librarySource); |
expect(libraryUnit, isNotNull); |
CompilationUnit partUnit = |
- _context.resolveCompilationUnit2(partSource, librarySource); |
+ context.resolveCompilationUnit2(partSource, librarySource); |
expect(partUnit, isNotNull); |
TopLevelVariableDeclaration declaration = |
libraryUnit.declarations[0] as TopLevelVariableDeclaration; |
@@ -1227,20 +1076,18 @@ int b = aa;'''; |
Future test_applyChanges_change_range() { |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- expect(_context.sourcesNeedingProcessing, isEmpty); |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ context.onSourcesChanged.listen(listener.onData); |
+ expect(context.sourcesNeedingProcessing, isEmpty); |
+ Source source = newSource('/test.dart'); |
ChangeSet changeSet1 = new ChangeSet(); |
changeSet1.addedSource(source); |
- _context.applyChanges(changeSet1); |
- expect(_context.sourcesNeedingProcessing, contains(source)); |
- Source source2 = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test2.dart")); |
+ context.applyChanges(changeSet1); |
+ expect(context.sourcesNeedingProcessing, contains(source)); |
+ Source source2 = newSource('/test2.dart'); |
ChangeSet changeSet2 = new ChangeSet(); |
changeSet2.addedSource(source2); |
changeSet2.changedRange(source, 'library test;', 0, 0, 13); |
- _context.applyChanges(changeSet2); |
+ context.applyChanges(changeSet2); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
listener.assertEvent(wereSourcesAdded: true, changedSources: [source]); |
@@ -1249,140 +1096,128 @@ int b = aa;'''; |
} |
void test_computeDocumentationComment_block() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
String comment = "/** Comment */"; |
- Source source = _addSource("/test.dart", """ |
+ Source source = addSource("/test.dart", """ |
$comment |
class A {}"""); |
- LibraryElement libraryElement = _context.computeLibraryElement(source); |
+ LibraryElement libraryElement = context.computeLibraryElement(source); |
expect(libraryElement, isNotNull); |
ClassElement classElement = libraryElement.definingCompilationUnit.types[0]; |
expect(libraryElement, isNotNull); |
- expect(_context.computeDocumentationComment(classElement), comment); |
+ expect(context.computeDocumentationComment(classElement), comment); |
} |
void test_computeDocumentationComment_none() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", "class A {}"); |
- LibraryElement libraryElement = _context.computeLibraryElement(source); |
+ Source source = addSource("/test.dart", "class A {}"); |
+ LibraryElement libraryElement = context.computeLibraryElement(source); |
expect(libraryElement, isNotNull); |
ClassElement classElement = libraryElement.definingCompilationUnit.types[0]; |
expect(libraryElement, isNotNull); |
- expect(_context.computeDocumentationComment(classElement), isNull); |
+ expect(context.computeDocumentationComment(classElement), isNull); |
} |
void test_computeDocumentationComment_null() { |
- expect(_context.computeDocumentationComment(null), isNull); |
+ expect(context.computeDocumentationComment(null), isNull); |
} |
void test_computeDocumentationComment_singleLine_multiple_EOL_n() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
String comment = "/// line 1\n/// line 2\n/// line 3\n"; |
- Source source = _addSource("/test.dart", "${comment}class A {}"); |
- LibraryElement libraryElement = _context.computeLibraryElement(source); |
+ Source source = addSource("/test.dart", "${comment}class A {}"); |
+ LibraryElement libraryElement = context.computeLibraryElement(source); |
expect(libraryElement, isNotNull); |
ClassElement classElement = libraryElement.definingCompilationUnit.types[0]; |
expect(libraryElement, isNotNull); |
- String actual = _context.computeDocumentationComment(classElement); |
+ String actual = context.computeDocumentationComment(classElement); |
expect(actual, "/// line 1\n/// line 2\n/// line 3"); |
} |
void test_computeDocumentationComment_singleLine_multiple_EOL_rn() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
String comment = "/// line 1\r\n/// line 2\r\n/// line 3\r\n"; |
- Source source = _addSource("/test.dart", "${comment}class A {}"); |
- LibraryElement libraryElement = _context.computeLibraryElement(source); |
+ Source source = addSource("/test.dart", "${comment}class A {}"); |
+ LibraryElement libraryElement = context.computeLibraryElement(source); |
expect(libraryElement, isNotNull); |
ClassElement classElement = libraryElement.definingCompilationUnit.types[0]; |
expect(libraryElement, isNotNull); |
- String actual = _context.computeDocumentationComment(classElement); |
+ String actual = context.computeDocumentationComment(classElement); |
expect(actual, "/// line 1\n/// line 2\n/// line 3"); |
} |
void test_computeExportedLibraries_none() { |
- Source source = _addSource("/test.dart", "library test;"); |
- expect(_context.computeExportedLibraries(source), hasLength(0)); |
+ Source source = addSource("/test.dart", "library test;"); |
+ expect(context.computeExportedLibraries(source), hasLength(0)); |
} |
void test_computeExportedLibraries_some() { |
// addSource("/lib1.dart", "library lib1;"); |
// addSource("/lib2.dart", "library lib2;"); |
- Source source = _addSource( |
+ Source source = addSource( |
"/test.dart", "library test; export 'lib1.dart'; export 'lib2.dart';"); |
- expect(_context.computeExportedLibraries(source), hasLength(2)); |
+ expect(context.computeExportedLibraries(source), hasLength(2)); |
} |
void test_computeHtmlElement_nonHtml() { |
- Source source = _addSource("/test.dart", "library test;"); |
- expect(_context.computeHtmlElement(source), isNull); |
+ Source source = addSource("/test.dart", "library test;"); |
+ expect(context.computeHtmlElement(source), isNull); |
} |
void test_computeKindOf_html() { |
- Source source = _addSource("/test.html", ""); |
- expect(_context.computeKindOf(source), same(SourceKind.HTML)); |
+ Source source = addSource("/test.html", ""); |
+ expect(context.computeKindOf(source), same(SourceKind.HTML)); |
} |
void test_computeKindOf_library() { |
- Source source = _addSource("/test.dart", "library lib;"); |
- expect(_context.computeKindOf(source), same(SourceKind.LIBRARY)); |
+ Source source = addSource("/test.dart", "library lib;"); |
+ expect(context.computeKindOf(source), same(SourceKind.LIBRARY)); |
} |
void test_computeKindOf_libraryAndPart() { |
- Source source = _addSource("/test.dart", "library lib; part of lib;"); |
- expect(_context.computeKindOf(source), same(SourceKind.LIBRARY)); |
+ Source source = addSource("/test.dart", "library lib; part of lib;"); |
+ expect(context.computeKindOf(source), same(SourceKind.LIBRARY)); |
} |
void test_computeKindOf_part() { |
- Source source = _addSource("/test.dart", "part of lib;"); |
- expect(_context.computeKindOf(source), same(SourceKind.PART)); |
+ Source source = addSource("/test.dart", "part of lib;"); |
+ expect(context.computeKindOf(source), same(SourceKind.PART)); |
} |
void test_computeLibraryElement() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", "library lib;"); |
- LibraryElement element = _context.computeLibraryElement(source); |
+ Source source = addSource("/test.dart", "library lib;"); |
+ LibraryElement element = context.computeLibraryElement(source); |
expect(element, isNotNull); |
} |
void test_computeLineInfo_dart() { |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
library lib; |
main() {}'''); |
- LineInfo info = _context.computeLineInfo(source); |
+ LineInfo info = context.computeLineInfo(source); |
expect(info, isNotNull); |
} |
void test_computeLineInfo_html() { |
- Source source = _addSource("/test.html", r''' |
+ Source source = addSource("/test.html", r''' |
<html> |
<body> |
<h1>A</h1> |
</body> |
</html>'''); |
- LineInfo info = _context.computeLineInfo(source); |
+ LineInfo info = context.computeLineInfo(source); |
expect(info, isNotNull); |
} |
Future test_computeResolvedCompilationUnitAsync_afterDispose() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
+ Source source = addSource("/lib.dart", "library lib;"); |
// Complete all pending analysis tasks and flush the AST so that it won't |
// be available immediately. |
_performPendingAnalysisTasks(); |
_flushAst(source); |
// Dispose of the context. |
- _context.dispose(); |
+ context.dispose(); |
// Any attempt to start an asynchronous computation should return a future |
// which completes with error. |
CancelableFuture<CompilationUnit> future = |
- _context.computeResolvedCompilationUnitAsync(source, source); |
+ context.computeResolvedCompilationUnitAsync(source, source); |
bool completed = false; |
future.then((CompilationUnit unit) { |
fail('Future should have completed with error'); |
@@ -1396,289 +1231,260 @@ main() {}'''); |
} |
void test_dispose() { |
- expect(_context.isDisposed, isFalse); |
- _context.dispose(); |
- expect(_context.isDisposed, isTrue); |
+ expect(context.isDisposed, isFalse); |
+ context.dispose(); |
+ expect(context.isDisposed, isTrue); |
} |
void test_exists_false() { |
TestSource source = new TestSource(); |
source.exists2 = false; |
- expect(_context.exists(source), isFalse); |
+ expect(context.exists(source), isFalse); |
} |
void test_exists_null() { |
- expect(_context.exists(null), isFalse); |
+ expect(context.exists(null), isFalse); |
} |
void test_exists_overridden() { |
Source source = new TestSource(); |
- _context.setContents(source, ""); |
- expect(_context.exists(source), isTrue); |
+ context.setContents(source, ""); |
+ expect(context.exists(source), isTrue); |
} |
void test_exists_true() { |
- expect(_context.exists(new AnalysisContextImplTest_Source_exists_true()), |
+ expect(context.exists(new AnalysisContextImplTest_Source_exists_true()), |
isTrue); |
} |
void test_getAnalysisOptions() { |
- expect(_context.analysisOptions, isNotNull); |
+ expect(context.analysisOptions, isNotNull); |
} |
void test_getContents_fromSource() { |
String content = "library lib;"; |
TimestampedData<String> contents = |
- _context.getContents(new TestSource('/test.dart', content)); |
+ context.getContents(new TestSource('/test.dart', content)); |
expect(contents.data.toString(), content); |
} |
void test_getContents_overridden() { |
String content = "library lib;"; |
Source source = new TestSource(); |
- _context.setContents(source, content); |
- TimestampedData<String> contents = _context.getContents(source); |
+ context.setContents(source, content); |
+ TimestampedData<String> contents = context.getContents(source); |
expect(contents.data.toString(), content); |
} |
void test_getContents_unoverridden() { |
String content = "library lib;"; |
Source source = new TestSource('/test.dart', content); |
- _context.setContents(source, "part of lib;"); |
- _context.setContents(source, null); |
- TimestampedData<String> contents = _context.getContents(source); |
+ context.setContents(source, "part of lib;"); |
+ context.setContents(source, null); |
+ TimestampedData<String> contents = context.getContents(source); |
expect(contents.data.toString(), content); |
} |
void test_getDeclaredVariables() { |
- _context = contextWithCore(); |
- expect(_context.declaredVariables, isNotNull); |
+ expect(context.declaredVariables, isNotNull); |
} |
void test_getElement() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
LibraryElement core = |
- _context.computeLibraryElement(_sourceFactory.forUri("dart:core")); |
+ context.computeLibraryElement(sourceFactory.forUri("dart:core")); |
expect(core, isNotNull); |
ClassElement classObject = |
_findClass(core.definingCompilationUnit, "Object"); |
expect(classObject, isNotNull); |
ElementLocation location = classObject.location; |
- Element element = _context.getElement(location); |
+ Element element = context.getElement(location); |
expect(element, same(classObject)); |
} |
void test_getHtmlElement_dart() { |
- Source source = _addSource("/test.dart", ""); |
- expect(_context.getHtmlElement(source), isNull); |
- expect(_context.computeHtmlElement(source), isNull); |
- expect(_context.getHtmlElement(source), isNull); |
+ Source source = addSource("/test.dart", ""); |
+ expect(context.getHtmlElement(source), isNull); |
+ expect(context.computeHtmlElement(source), isNull); |
+ expect(context.getHtmlElement(source), isNull); |
} |
void test_getHtmlFilesReferencing_html() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source htmlSource = _addSource("/test.html", r''' |
+ Source htmlSource = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.dart'/> |
<script type='application/dart' src='test.js'/> |
</head></html>'''); |
- Source librarySource = _addSource("/test.dart", "library lib;"); |
- Source secondHtmlSource = _addSource("/test.html", "<html></html>"); |
- _context.computeLibraryElement(librarySource); |
- List<Source> result = _context.getHtmlFilesReferencing(secondHtmlSource); |
+ Source librarySource = addSource("/test.dart", "library lib;"); |
+ Source secondHtmlSource = addSource("/test.html", "<html></html>"); |
+ context.computeLibraryElement(librarySource); |
+ List<Source> result = context.getHtmlFilesReferencing(secondHtmlSource); |
expect(result, hasLength(0)); |
- _context.parseHtmlUnit(htmlSource); |
- result = _context.getHtmlFilesReferencing(secondHtmlSource); |
+ context.parseHtmlUnit(htmlSource); |
+ result = context.getHtmlFilesReferencing(secondHtmlSource); |
expect(result, hasLength(0)); |
} |
void test_getKindOf_html() { |
- Source source = _addSource("/test.html", ""); |
- expect(_context.getKindOf(source), same(SourceKind.HTML)); |
+ Source source = addSource("/test.html", ""); |
+ expect(context.getKindOf(source), same(SourceKind.HTML)); |
} |
void test_getKindOf_library() { |
- Source source = _addSource("/test.dart", "library lib;"); |
- expect(_context.getKindOf(source), same(SourceKind.UNKNOWN)); |
- _context.computeKindOf(source); |
- expect(_context.getKindOf(source), same(SourceKind.LIBRARY)); |
+ Source source = addSource("/test.dart", "library lib;"); |
+ expect(context.getKindOf(source), same(SourceKind.UNKNOWN)); |
+ context.computeKindOf(source); |
+ expect(context.getKindOf(source), same(SourceKind.LIBRARY)); |
} |
void test_getKindOf_part() { |
- Source source = _addSource("/test.dart", "part of lib;"); |
- expect(_context.getKindOf(source), same(SourceKind.UNKNOWN)); |
- _context.computeKindOf(source); |
- expect(_context.getKindOf(source), same(SourceKind.PART)); |
+ Source source = addSource("/test.dart", "part of lib;"); |
+ expect(context.getKindOf(source), same(SourceKind.UNKNOWN)); |
+ context.computeKindOf(source); |
+ expect(context.getKindOf(source), same(SourceKind.PART)); |
} |
void test_getKindOf_unknown() { |
- Source source = _addSource("/test.css", ""); |
- expect(_context.getKindOf(source), same(SourceKind.UNKNOWN)); |
+ Source source = addSource("/test.css", ""); |
+ expect(context.getKindOf(source), same(SourceKind.UNKNOWN)); |
} |
void test_getLaunchableClientLibrarySources_doesNotImportHtml() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
main() {}'''); |
- _context.computeLibraryElement(source); |
- List<Source> sources = _context.launchableClientLibrarySources; |
+ context.computeLibraryElement(source); |
+ List<Source> sources = context.launchableClientLibrarySources; |
expect(sources, isEmpty); |
} |
void test_getLaunchableClientLibrarySources_importsHtml_explicitly() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- List<Source> sources = _context.launchableClientLibrarySources; |
+ List<Source> sources = context.launchableClientLibrarySources; |
expect(sources, isEmpty); |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'dart:html'; |
main() {}'''); |
- _context.computeLibraryElement(source); |
- sources = _context.launchableClientLibrarySources; |
+ context.computeLibraryElement(source); |
+ sources = context.launchableClientLibrarySources; |
expect(sources, unorderedEquals([source])); |
} |
void test_getLaunchableClientLibrarySources_importsHtml_implicitly() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- List<Source> sources = _context.launchableClientLibrarySources; |
+ List<Source> sources = context.launchableClientLibrarySources; |
expect(sources, isEmpty); |
- _addSource("/a.dart", r''' |
+ addSource("/a.dart", r''' |
import 'dart:html'; |
'''); |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'a.dart'; |
main() {}'''); |
- _context.computeLibraryElement(source); |
- sources = _context.launchableClientLibrarySources; |
+ context.computeLibraryElement(source); |
+ sources = context.launchableClientLibrarySources; |
expect(sources, unorderedEquals([source])); |
} |
void test_getLaunchableClientLibrarySources_importsHtml_implicitly2() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- List<Source> sources = _context.launchableClientLibrarySources; |
+ List<Source> sources = context.launchableClientLibrarySources; |
expect(sources, isEmpty); |
- _addSource("/a.dart", r''' |
+ addSource("/a.dart", r''' |
export 'dart:html'; |
'''); |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'a.dart'; |
main() {}'''); |
- _context.computeLibraryElement(source); |
- sources = _context.launchableClientLibrarySources; |
+ context.computeLibraryElement(source); |
+ sources = context.launchableClientLibrarySources; |
expect(sources, unorderedEquals([source])); |
} |
void test_getLaunchableServerLibrarySources() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- expect(_context.launchableServerLibrarySources, isEmpty); |
- Source source = _addSource("/test.dart", "main() {}"); |
- _context.computeLibraryElement(source); |
- expect(_context.launchableServerLibrarySources, unorderedEquals([source])); |
+ expect(context.launchableServerLibrarySources, isEmpty); |
+ Source source = addSource("/test.dart", "main() {}"); |
+ context.computeLibraryElement(source); |
+ expect(context.launchableServerLibrarySources, unorderedEquals([source])); |
} |
void test_getLaunchableServerLibrarySources_importsHtml_explicitly() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'dart:html'; |
main() {} |
'''); |
- _context.computeLibraryElement(source); |
- expect(_context.launchableServerLibrarySources, isEmpty); |
+ context.computeLibraryElement(source); |
+ expect(context.launchableServerLibrarySources, isEmpty); |
} |
void test_getLaunchableServerLibrarySources_importsHtml_implicitly() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- _addSource("/imports_html.dart", r''' |
+ addSource("/imports_html.dart", r''' |
import 'dart:html'; |
'''); |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'imports_html.dart'; |
main() {}'''); |
- _context.computeLibraryElement(source); |
- expect(_context.launchableServerLibrarySources, isEmpty); |
+ context.computeLibraryElement(source); |
+ expect(context.launchableServerLibrarySources, isEmpty); |
} |
void test_getLaunchableServerLibrarySources_noMain() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", ''); |
- _context.computeLibraryElement(source); |
- expect(_context.launchableServerLibrarySources, isEmpty); |
+ Source source = addSource("/test.dart", ''); |
+ context.computeLibraryElement(source); |
+ expect(context.launchableServerLibrarySources, isEmpty); |
} |
void test_getLibrariesContaining() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source librarySource = _addSource("/lib.dart", r''' |
+ Source librarySource = addSource("/lib.dart", r''' |
library lib; |
part 'part.dart';'''); |
- Source partSource = _addSource("/part.dart", "part of lib;"); |
- _context.computeLibraryElement(librarySource); |
- List<Source> result = _context.getLibrariesContaining(librarySource); |
+ Source partSource = addSource("/part.dart", "part of lib;"); |
+ context.computeLibraryElement(librarySource); |
+ List<Source> result = context.getLibrariesContaining(librarySource); |
expect(result, hasLength(1)); |
expect(result[0], librarySource); |
- result = _context.getLibrariesContaining(partSource); |
+ result = context.getLibrariesContaining(partSource); |
expect(result, hasLength(1)); |
expect(result[0], librarySource); |
} |
void test_getLibrariesDependingOn() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source libASource = _addSource("/libA.dart", "library libA;"); |
- _addSource("/libB.dart", "library libB;"); |
- Source lib1Source = _addSource("/lib1.dart", r''' |
+ Source libASource = addSource("/libA.dart", "library libA;"); |
+ addSource("/libB.dart", "library libB;"); |
+ Source lib1Source = addSource("/lib1.dart", r''' |
library lib1; |
import 'libA.dart'; |
export 'libB.dart';'''); |
- Source lib2Source = _addSource("/lib2.dart", r''' |
+ Source lib2Source = addSource("/lib2.dart", r''' |
library lib2; |
import 'libB.dart'; |
export 'libA.dart';'''); |
- _context.computeLibraryElement(lib1Source); |
- _context.computeLibraryElement(lib2Source); |
- List<Source> result = _context.getLibrariesDependingOn(libASource); |
+ context.computeLibraryElement(lib1Source); |
+ context.computeLibraryElement(lib2Source); |
+ List<Source> result = context.getLibrariesDependingOn(libASource); |
expect(result, unorderedEquals([lib1Source, lib2Source])); |
} |
void test_getLibrariesReferencedFromHtml_no() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source htmlSource = _addSource("/test.html", r''' |
+ Source htmlSource = addSource("/test.html", r''' |
<html><head> |
<script type='application/dart' src='test.js'/> |
</head></html>'''); |
- _addSource("/test.dart", "library lib;"); |
- _context.parseHtmlUnit(htmlSource); |
- List<Source> result = _context.getLibrariesReferencedFromHtml(htmlSource); |
+ addSource("/test.dart", "library lib;"); |
+ context.parseHtmlUnit(htmlSource); |
+ List<Source> result = context.getLibrariesReferencedFromHtml(htmlSource); |
expect(result, hasLength(0)); |
} |
void test_getLibraryElement() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", "library lib;"); |
- LibraryElement element = _context.getLibraryElement(source); |
+ Source source = addSource("/test.dart", "library lib;"); |
+ LibraryElement element = context.getLibraryElement(source); |
expect(element, isNull); |
- _context.computeLibraryElement(source); |
- element = _context.getLibraryElement(source); |
+ context.computeLibraryElement(source); |
+ element = context.getLibraryElement(source); |
expect(element, isNotNull); |
} |
void test_getLibrarySources() { |
- List<Source> sources = _context.librarySources; |
+ List<Source> sources = context.librarySources; |
int originalLength = sources.length; |
- Source source = _addSource("/test.dart", "library lib;"); |
- _context.computeKindOf(source); |
- sources = _context.librarySources; |
+ Source source = addSource("/test.dart", "library lib;"); |
+ context.computeKindOf(source); |
+ sources = context.librarySources; |
expect(sources, hasLength(originalLength + 1)); |
for (Source returnedSource in sources) { |
if (returnedSource == source) { |
@@ -1689,20 +1495,20 @@ export 'libA.dart';'''); |
} |
void test_getLineInfo() { |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
library lib; |
main() {}'''); |
- LineInfo info = _context.getLineInfo(source); |
+ LineInfo info = context.getLineInfo(source); |
expect(info, isNull); |
- _context.parseCompilationUnit(source); |
- info = _context.getLineInfo(source); |
+ context.parseCompilationUnit(source); |
+ info = context.getLineInfo(source); |
expect(info, isNotNull); |
} |
void test_getModificationStamp_fromSource() { |
int stamp = 42; |
- expect(_context.getModificationStamp( |
+ expect(context.getModificationStamp( |
new AnalysisContextImplTest_Source_getModificationStamp_fromSource( |
stamp)), stamp); |
} |
@@ -1712,49 +1518,41 @@ main() {}'''); |
Source source = |
new AnalysisContextImplTest_Source_getModificationStamp_overridden( |
stamp); |
- _context.setContents(source, ""); |
- expect(stamp != _context.getModificationStamp(source), isTrue); |
+ context.setContents(source, ""); |
+ expect(stamp != context.getModificationStamp(source), isTrue); |
} |
void test_getPublicNamespace_element() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", "class A {}"); |
- LibraryElement library = _context.computeLibraryElement(source); |
+ Source source = addSource("/test.dart", "class A {}"); |
+ LibraryElement library = context.computeLibraryElement(source); |
expect(library, isNotNull); |
- Namespace namespace = _context.getPublicNamespace(library); |
+ Namespace namespace = context.getPublicNamespace(library); |
expect(namespace, isNotNull); |
EngineTestCase.assertInstanceOf( |
(obj) => obj is ClassElement, ClassElement, namespace.get("A")); |
} |
void test_getResolvedCompilationUnit_library_null() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
- expect(_context.getResolvedCompilationUnit(source, null), isNull); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ expect(context.getResolvedCompilationUnit(source, null), isNull); |
} |
void test_getResolvedCompilationUnit_source_dart() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
- expect(_context.getResolvedCompilationUnit2(source, source), isNull); |
- _context.resolveCompilationUnit2(source, source); |
- expect(_context.getResolvedCompilationUnit2(source, source), isNotNull); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ expect(context.getResolvedCompilationUnit2(source, source), isNull); |
+ context.resolveCompilationUnit2(source, source); |
+ expect(context.getResolvedCompilationUnit2(source, source), isNotNull); |
} |
void test_getResolvedCompilationUnit_source_html() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.html", "<html></html>"); |
- expect(_context.getResolvedCompilationUnit2(source, source), isNull); |
- expect(_context.resolveCompilationUnit2(source, source), isNull); |
- expect(_context.getResolvedCompilationUnit2(source, source), isNull); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ expect(context.getResolvedCompilationUnit2(source, source), isNull); |
+ expect(context.resolveCompilationUnit2(source, source), isNull); |
+ expect(context.getResolvedCompilationUnit2(source, source), isNull); |
} |
void test_getSourceFactory() { |
- expect(_context.sourceFactory, same(_sourceFactory)); |
+ expect(context.sourceFactory, same(sourceFactory)); |
} |
void test_getSourcesWithFullName() { |
@@ -1772,13 +1570,12 @@ main() {}'''); |
expected.add(source2); |
changeSet.addedSource(source2); |
- _context.applyChanges(changeSet); |
- expect( |
- _context.getSourcesWithFullName(filePath), unorderedEquals(expected)); |
+ context.applyChanges(changeSet); |
+ expect(context.getSourcesWithFullName(filePath), unorderedEquals(expected)); |
} |
void test_getStatistics() { |
- AnalysisContextStatistics statistics = _context.statistics; |
+ AnalysisContextStatistics statistics = context.statistics; |
expect(statistics, isNotNull); |
// The following lines are fragile. |
// The values depend on the number of libraries in the SDK. |
@@ -1788,48 +1585,44 @@ main() {}'''); |
} |
void test_isClientLibrary_dart() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
import 'dart:html'; |
main() {}'''); |
- expect(_context.isClientLibrary(source), isFalse); |
- expect(_context.isServerLibrary(source), isFalse); |
- _context.computeLibraryElement(source); |
- expect(_context.isClientLibrary(source), isTrue); |
- expect(_context.isServerLibrary(source), isFalse); |
+ expect(context.isClientLibrary(source), isFalse); |
+ expect(context.isServerLibrary(source), isFalse); |
+ context.computeLibraryElement(source); |
+ expect(context.isClientLibrary(source), isTrue); |
+ expect(context.isServerLibrary(source), isFalse); |
} |
void test_isClientLibrary_html() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- expect(_context.isClientLibrary(source), isFalse); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ expect(context.isClientLibrary(source), isFalse); |
} |
void test_isServerLibrary_dart() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/test.dart", r''' |
+ Source source = addSource("/test.dart", r''' |
library lib; |
main() {}'''); |
- expect(_context.isClientLibrary(source), isFalse); |
- expect(_context.isServerLibrary(source), isFalse); |
- _context.computeLibraryElement(source); |
- expect(_context.isClientLibrary(source), isFalse); |
- expect(_context.isServerLibrary(source), isTrue); |
+ expect(context.isClientLibrary(source), isFalse); |
+ expect(context.isServerLibrary(source), isFalse); |
+ context.computeLibraryElement(source); |
+ expect(context.isClientLibrary(source), isFalse); |
+ expect(context.isServerLibrary(source), isTrue); |
} |
void test_isServerLibrary_html() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- expect(_context.isServerLibrary(source), isFalse); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ expect(context.isServerLibrary(source), isFalse); |
} |
void test_parseCompilationUnit_errors() { |
- Source source = _addSource("/lib.dart", "library {"); |
- CompilationUnit compilationUnit = _context.parseCompilationUnit(source); |
+ Source source = addSource("/lib.dart", "library {"); |
+ CompilationUnit compilationUnit = context.parseCompilationUnit(source); |
expect(compilationUnit, isNotNull); |
- var errorInfo = _context.getErrors(source); |
+ var errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
List<AnalysisError> errors = errorInfo.errors; |
expect(errors, isNotNull); |
@@ -1839,7 +1632,7 @@ main() {}'''); |
void test_parseCompilationUnit_exception() { |
Source source = _addSourceWithException("/test.dart"); |
try { |
- _context.parseCompilationUnit(source); |
+ context.parseCompilationUnit(source); |
fail("Expected AnalysisException"); |
} on AnalysisException { |
// Expected |
@@ -1847,24 +1640,24 @@ main() {}'''); |
} |
void test_parseCompilationUnit_html() { |
- Source source = _addSource("/test.html", "<html></html>"); |
- expect(_context.parseCompilationUnit(source), isNull); |
+ Source source = addSource("/test.html", "<html></html>"); |
+ expect(context.parseCompilationUnit(source), isNull); |
} |
void test_parseCompilationUnit_noErrors() { |
- Source source = _addSource("/lib.dart", "library lib;"); |
- CompilationUnit compilationUnit = _context.parseCompilationUnit(source); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ CompilationUnit compilationUnit = context.parseCompilationUnit(source); |
expect(compilationUnit, isNotNull); |
- AnalysisErrorInfo errorInfo = _context.getErrors(source); |
+ AnalysisErrorInfo errorInfo = context.getErrors(source); |
expect(errorInfo, isNotNull); |
expect(errorInfo.errors, hasLength(0)); |
} |
void test_parseCompilationUnit_nonExistentSource() { |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ Source source = newSource('/test.dart'); |
+ resourceProvider.deleteFile('/test.dart'); |
try { |
- _context.parseCompilationUnit(source); |
+ context.parseCompilationUnit(source); |
fail("Expected AnalysisException because file does not exist"); |
} on AnalysisException { |
// Expected result |
@@ -1901,22 +1694,18 @@ main() {}'''); |
} |
void test_resolveCompilationUnit_library() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
- LibraryElement library = _context.computeLibraryElement(source); |
+ Source source = addSource("/lib.dart", "library lib;"); |
+ LibraryElement library = context.computeLibraryElement(source); |
CompilationUnit compilationUnit = |
- _context.resolveCompilationUnit(source, library); |
+ context.resolveCompilationUnit(source, library); |
expect(compilationUnit, isNotNull); |
expect(compilationUnit.element, isNotNull); |
} |
void test_resolveCompilationUnit_source() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
+ Source source = addSource("/lib.dart", "library lib;"); |
CompilationUnit compilationUnit = |
- _context.resolveCompilationUnit2(source, source); |
+ context.resolveCompilationUnit2(source, source); |
expect(compilationUnit, isNotNull); |
} |
@@ -1925,70 +1714,66 @@ main() {}'''); |
options.cacheSize = 42; |
options.dart2jsHint = false; |
options.hint = false; |
- _context.analysisOptions = options; |
- AnalysisOptions result = _context.analysisOptions; |
+ context.analysisOptions = options; |
+ AnalysisOptions result = context.analysisOptions; |
expect(result.cacheSize, options.cacheSize); |
expect(result.dart2jsHint, options.dart2jsHint); |
expect(result.hint, options.hint); |
} |
void test_setAnalysisPriorityOrder_empty() { |
- _context.analysisPriorityOrder = new List<Source>(); |
+ context.analysisPriorityOrder = new List<Source>(); |
} |
void test_setAnalysisPriorityOrder_nonEmpty() { |
List<Source> sources = new List<Source>(); |
- sources.add(_addSource("/lib.dart", "library lib;")); |
- _context.analysisPriorityOrder = sources; |
+ sources.add(addSource("/lib.dart", "library lib;")); |
+ context.analysisPriorityOrder = sources; |
} |
void test_setChangedContents_notResolved() { |
- _context = contextWithCore(); |
AnalysisOptionsImpl options = |
- new AnalysisOptionsImpl.con1(_context.analysisOptions); |
+ new AnalysisOptionsImpl.con1(context.analysisOptions); |
options.incremental = true; |
- _context.analysisOptions = options; |
- _sourceFactory = _context.sourceFactory; |
+ context.analysisOptions = options; |
String oldCode = r''' |
library lib; |
int a = 0;'''; |
- Source librarySource = _addSource("/lib.dart", oldCode); |
+ Source librarySource = addSource("/lib.dart", oldCode); |
int offset = oldCode.indexOf("int a") + 4; |
String newCode = r''' |
library lib; |
int ya = 0;'''; |
- _context.setChangedContents(librarySource, newCode, offset, 0, 1); |
- expect(_context.getContents(librarySource).data, newCode); |
- expect(_getIncrementalAnalysisCache(_context), isNull); |
+ context.setChangedContents(librarySource, newCode, offset, 0, 1); |
+ expect(context.getContents(librarySource).data, newCode); |
+ expect(_getIncrementalAnalysisCache(context), isNull); |
} |
Future test_setContents_libraryWithPart() { |
- _context = contextWithCore(); |
SourcesChangedListener listener = new SourcesChangedListener(); |
- _context.onSourcesChanged.listen(listener.onData); |
- _sourceFactory = _context.sourceFactory; |
+ context.onSourcesChanged.listen(listener.onData); |
String libraryContents1 = r''' |
library lib; |
part 'part.dart'; |
int a = 0;'''; |
- Source librarySource = _addSource("/lib.dart", libraryContents1); |
+ Source librarySource = addSource("/lib.dart", libraryContents1); |
String partContents1 = r''' |
part of lib; |
int b = a;'''; |
- Source partSource = _addSource("/part.dart", partContents1); |
- _context.computeLibraryElement(librarySource); |
+ Source partSource = addSource("/part.dart", partContents1); |
+ context.computeLibraryElement(librarySource); |
IncrementalAnalysisCache incrementalCache = new IncrementalAnalysisCache( |
librarySource, librarySource, null, null, null, 0, 0, 0); |
- _setIncrementalAnalysisCache(_context, incrementalCache); |
- expect(_getIncrementalAnalysisCache(_context), same(incrementalCache)); |
+ _setIncrementalAnalysisCache(context, incrementalCache); |
+ expect(_getIncrementalAnalysisCache(context), same(incrementalCache)); |
String libraryContents2 = r''' |
library lib; |
part 'part.dart'; |
int aa = 0;'''; |
- _context.setContents(librarySource, libraryContents2); |
- expect(_context.getResolvedCompilationUnit2(partSource, librarySource), |
- isNull); |
- expect(_getIncrementalAnalysisCache(_context), isNull); |
+ context.setContents(librarySource, libraryContents2); |
+ expect( |
+ context.getResolvedCompilationUnit2(partSource, librarySource), isNull); |
+ expect(_getIncrementalAnalysisCache(context), isNull); |
return pumpEventQueue().then((_) { |
listener.assertEvent(wereSourcesAdded: true); |
listener.assertEvent(changedSources: [librarySource]); |
@@ -2000,53 +1785,48 @@ int aa = 0;'''; |
} |
void test_setContents_null() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source librarySource = _addSource("/lib.dart", r''' |
+ Source librarySource = addSource("/lib.dart", r''' |
library lib; |
int a = 0;'''); |
- _context.computeLibraryElement(librarySource); |
+ context.computeLibraryElement(librarySource); |
IncrementalAnalysisCache incrementalCache = new IncrementalAnalysisCache( |
librarySource, librarySource, null, null, null, 0, 0, 0); |
- _setIncrementalAnalysisCache(_context, incrementalCache); |
- expect(_getIncrementalAnalysisCache(_context), same(incrementalCache)); |
- _context.setContents(librarySource, null); |
- expect(_context.getResolvedCompilationUnit2(librarySource, librarySource), |
+ _setIncrementalAnalysisCache(context, incrementalCache); |
+ expect(_getIncrementalAnalysisCache(context), same(incrementalCache)); |
+ context.setContents(librarySource, null); |
+ expect(context.getResolvedCompilationUnit2(librarySource, librarySource), |
isNull); |
- expect(_getIncrementalAnalysisCache(_context), isNull); |
+ expect(_getIncrementalAnalysisCache(context), isNull); |
} |
void test_setSourceFactory() { |
- expect(_context.sourceFactory, _sourceFactory); |
+ expect(context.sourceFactory, sourceFactory); |
SourceFactory factory = new SourceFactory([]); |
- _context.sourceFactory = factory; |
- expect(_context.sourceFactory, factory); |
+ context.sourceFactory = factory; |
+ expect(context.sourceFactory, factory); |
} |
void test_updateAnalysis() { |
- expect(_context.sourcesNeedingProcessing, isEmpty); |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile("/test.dart")); |
+ expect(context.sourcesNeedingProcessing, isEmpty); |
+ Source source = newSource('/test.dart'); |
AnalysisDelta delta = new AnalysisDelta(); |
delta.setAnalysisLevel(source, AnalysisLevel.ALL); |
- _context.applyAnalysisDelta(delta); |
- expect(_context.sourcesNeedingProcessing, contains(source)); |
+ context.applyAnalysisDelta(delta); |
+ expect(context.sourcesNeedingProcessing, contains(source)); |
delta = new AnalysisDelta(); |
delta.setAnalysisLevel(source, AnalysisLevel.NONE); |
- _context.applyAnalysisDelta(delta); |
- expect(_context.sourcesNeedingProcessing.contains(source), isFalse); |
+ context.applyAnalysisDelta(delta); |
+ expect(context.sourcesNeedingProcessing.contains(source), isFalse); |
} |
Future xtest_computeResolvedCompilationUnitAsync() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
+ Source source = addSource("/lib.dart", "library lib;"); |
// Complete all pending analysis tasks and flush the AST so that it won't |
// be available immediately. |
_performPendingAnalysisTasks(); |
_flushAst(source); |
bool completed = false; |
- _context |
+ context |
.computeResolvedCompilationUnitAsync(source, source) |
.then((CompilationUnit unit) { |
expect(unit, isNotNull); |
@@ -2061,15 +1841,13 @@ int a = 0;'''); |
} |
Future xtest_computeResolvedCompilationUnitAsync_cancel() { |
- _context = contextWithCore(); |
- _sourceFactory = _context.sourceFactory; |
- Source source = _addSource("/lib.dart", "library lib;"); |
+ Source source = addSource("/lib.dart", "library lib;"); |
// Complete all pending analysis tasks and flush the AST so that it won't |
// be available immediately. |
_performPendingAnalysisTasks(); |
_flushAst(source); |
CancelableFuture<CompilationUnit> future = |
- _context.computeResolvedCompilationUnitAsync(source, source); |
+ context.computeResolvedCompilationUnitAsync(source, source); |
bool completed = false; |
future.then((CompilationUnit unit) { |
fail('Future should have been canceled'); |
@@ -2078,55 +1856,45 @@ int a = 0;'''); |
completed = true; |
}); |
expect(completed, isFalse); |
- expect(_context.pendingFutureSources_forTesting, isNotEmpty); |
+ expect(context.pendingFutureSources_forTesting, isNotEmpty); |
future.cancel(); |
- expect(_context.pendingFutureSources_forTesting, isEmpty); |
+ expect(context.pendingFutureSources_forTesting, isEmpty); |
return pumpEventQueue().then((_) { |
expect(completed, isTrue); |
- expect(_context.pendingFutureSources_forTesting, isEmpty); |
+ expect(context.pendingFutureSources_forTesting, isEmpty); |
}); |
} |
void xtest_performAnalysisTask_stress() { |
int maxCacheSize = 4; |
AnalysisOptionsImpl options = |
- new AnalysisOptionsImpl.con1(_context.analysisOptions); |
+ new AnalysisOptionsImpl.con1(context.analysisOptions); |
options.cacheSize = maxCacheSize; |
- _context.analysisOptions = options; |
+ context.analysisOptions = options; |
int sourceCount = maxCacheSize + 2; |
List<Source> sources = new List<Source>(); |
ChangeSet changeSet = new ChangeSet(); |
for (int i = 0; i < sourceCount; i++) { |
- Source source = _addSource("/lib$i.dart", "library lib$i;"); |
+ Source source = addSource("/lib$i.dart", "library lib$i;"); |
sources.add(source); |
changeSet.addedSource(source); |
} |
- _context.applyChanges(changeSet); |
- _context.analysisPriorityOrder = sources; |
+ context.applyChanges(changeSet); |
+ context.analysisPriorityOrder = sources; |
for (int i = 0; i < 1000; i++) { |
- List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices; |
+ List<ChangeNotice> notice = context.performAnalysisTask().changeNotices; |
if (notice == null) { |
//System.out.println("test_performAnalysisTask_stress: " + i); |
break; |
} |
} |
- List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices; |
+ List<ChangeNotice> notice = context.performAnalysisTask().changeNotices; |
if (notice != null) { |
fail( |
"performAnalysisTask failed to terminate after analyzing all sources"); |
} |
} |
- Source _addSource(String fileName, String contents) { |
- Source source = |
- new FileBasedSource.con1(FileUtilities2.createFile(fileName)); |
- ChangeSet changeSet = new ChangeSet(); |
- changeSet.addedSource(source); |
- _context.applyChanges(changeSet); |
- _context.setContents(source, contents); |
- return source; |
- } |
- |
TestSource _addSourceWithException(String fileName) { |
return _addSourceWithException2(fileName, ""); |
} |
@@ -2136,7 +1904,7 @@ int a = 0;'''); |
source.generateExceptionOnRead = true; |
ChangeSet changeSet = new ChangeSet(); |
changeSet.addedSource(source); |
- _context.applyChanges(changeSet); |
+ context.applyChanges(changeSet); |
return source; |
} |
@@ -2154,7 +1922,7 @@ int a = 0;'''); |
*/ |
void _analyzeAll_assertFinished2(int maxIterations) { |
for (int i = 0; i < maxIterations; i++) { |
- List<ChangeNotice> notice = _context.performAnalysisTask().changeNotices; |
+ List<ChangeNotice> notice = context.performAnalysisTask().changeNotices; |
if (notice == null) { |
return; |
} |
@@ -2166,7 +1934,7 @@ int a = 0;'''); |
source.setContents(contents); |
ChangeSet changeSet = new ChangeSet(); |
changeSet.changedSource(source); |
- _context.applyChanges(changeSet); |
+ context.applyChanges(changeSet); |
} |
/** |
@@ -2187,7 +1955,7 @@ int a = 0;'''); |
} |
void _flushAst(Source source) { |
- CacheEntry entry = _context.getReadableSourceEntryOrNull(source); |
+ CacheEntry entry = context.getReadableSourceEntryOrNull(source); |
entry.setState(RESOLVED_UNIT, CacheState.FLUSHED); |
} |
@@ -2201,7 +1969,7 @@ int a = 0;'''); |
} |
void _performPendingAnalysisTasks([int maxTasks = 20]) { |
- for (int i = 0; _context.performAnalysisTask().hasMoreWork; i++) { |
+ for (int i = 0; context.performAnalysisTask().hasMoreWork; i++) { |
if (i > maxTasks) { |
fail('Analysis did not terminate.'); |
} |
@@ -2211,7 +1979,7 @@ int a = 0;'''); |
void _removeSource(Source source) { |
ChangeSet changeSet = new ChangeSet(); |
changeSet.removedSource(source); |
- _context.applyChanges(changeSet); |
+ context.applyChanges(changeSet); |
} |
void _setIncrementalAnalysisCache( |