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

Unified Diff: pkg/analyzer/test/src/context/context_test.dart

Issue 1219503003: Remove incrementalAnalysisCache and fix more tests (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/context/context.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 e670075dcda35a3cbc7db1452077b99bc0256603..865ef8bb9bf3fa2643ec6479faf241226137885d 100644
--- a/pkg/analyzer/test/src/context/context_test.dart
+++ b/pkg/analyzer/test/src/context/context_test.dart
@@ -54,11 +54,6 @@ main() {
@reflectiveTest
class AnalysisContextImplTest extends AbstractContextTest {
- void test_applyChanges_empty() {
- context.applyChanges(new ChangeSet());
- expect(context.performAnalysisTask().changeNotices, isNull);
- }
-
void fail_parseHtmlUnit_resolveDirectives() {
Source libSource = addSource("/lib.dart", r'''
library lib;
@@ -98,30 +93,6 @@ class ClassA {}''');
expect(importNode.source, libSource);
}
- void test_performAnalysisTask_getContentException_dart() {
- Source source = _addSourceWithException('test.dart');
- // prepare errors
- _analyzeAll_assertFinished();
- List<AnalysisError> errors = context.getErrors(source).errors;
- // validate errors
- expect(errors, hasLength(1));
- AnalysisError error = errors[0];
- expect(error.source, same(source));
- expect(error.errorCode, ScannerErrorCode.UNABLE_GET_CONTENT);
- }
-
- void test_performAnalysisTask_getContentException_html() {
- Source source = _addSourceWithException('test.html');
- // prepare errors
- _analyzeAll_assertFinished();
- List<AnalysisError> errors = context.getErrors(source).errors;
- // validate errors
- expect(errors, hasLength(1));
- AnalysisError error = errors[0];
- expect(error.source, same(source));
- expect(error.errorCode, ScannerErrorCode.UNABLE_GET_CONTENT);
- }
-
void fail_performAnalysisTask_importedLibraryDelete_html() {
// NOTE: This was failing before converting to the new task model.
Source htmlSource = addSource("/page.html", r'''
@@ -146,89 +117,10 @@ class ClassA {}''');
reason: "htmlSource has an error");
}
- void test_performAnalysisTask_IOException() {
- TestSource source = _addSourceWithException2("/test.dart", "library test;");
- source.generateExceptionOnRead = false;
- _analyzeAll_assertFinished();
- expect(source.readCount, 1);
- _changeSource(source, "");
- source.generateExceptionOnRead = true;
- _analyzeAll_assertFinished();
- expect(source.readCount, 3);
- }
-
void fail_recordLibraryElements() {
fail("Implement this");
}
- void fail_setAnalysisOptions_reduceAnalysisPriorityOrder() {
- AnalysisOptionsImpl options =
- new AnalysisOptionsImpl.from(context.analysisOptions);
- List<Source> sources = new List<Source>();
- for (int index = 0; index < options.cacheSize; index++) {
- sources.add(addSource("/lib.dart$index", ""));
- }
- context.analysisPriorityOrder = sources;
- int oldPriorityOrderSize = _getPriorityOrder(context).length;
- options.cacheSize = options.cacheSize - 10;
- context.analysisOptions = options;
- expect(oldPriorityOrderSize > _getPriorityOrder(context).length, isTrue);
- }
-
- void fail_setAnalysisPriorityOrder_lessThanCacheSize() {
- AnalysisOptions options = context.analysisOptions;
- List<Source> sources = new List<Source>();
- for (int index = 0; index < options.cacheSize; index++) {
- sources.add(addSource("/lib.dart$index", ""));
- }
- context.analysisPriorityOrder = sources;
- expect(options.cacheSize > _getPriorityOrder(context).length, isTrue);
- }
-
- Future fail_setChangedContents_libraryWithPart() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.incremental = true;
- context.analysisOptions = options;
- SourcesChangedListener listener = new SourcesChangedListener();
- context.onSourcesChanged.listen(listener.onData);
- String oldCode = r'''
-library lib;
-part 'part.dart';
-int a = 0;''';
- 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);
- CompilationUnit unit =
- 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);
- IncrementalAnalysisCache incrementalCache =
- _getIncrementalAnalysisCache(context);
- expect(incrementalCache.librarySource, librarySource);
- expect(incrementalCache.resolvedUnit, same(unit));
- expect(
- context.getResolvedCompilationUnit2(partSource, librarySource), isNull);
- expect(incrementalCache.newContents, newCode);
- return pumpEventQueue().then((_) {
- listener.assertEvent(wereSourcesAdded: true);
- listener.assertEvent(changedSources: [librarySource]);
- listener.assertEvent(wereSourcesAdded: true);
- listener.assertEvent(changedSources: [partSource]);
- listener.assertEvent(changedSources: [librarySource]);
- listener.assertNoMoreEvents();
- });
- }
-
void fail_unreadableSource() {
Source test1 = addSource("/test1.dart", r'''
import 'test2.dart';
@@ -389,6 +281,11 @@ int b = aa;''';
});
}
+ void test_applyChanges_empty() {
+ context.applyChanges(new ChangeSet());
+ expect(context.performAnalysisTask().changeNotices, isNull);
+ }
+
void test_applyChanges_overriddenSource() {
// Note: addSource adds the source to the contentCache.
Source source = addSource("/test.dart", "library test;");
@@ -1597,6 +1494,30 @@ void g() { f(null); }''');
reason: "part resolved 3");
}
+ void test_performAnalysisTask_getContentException_dart() {
+ Source source = _addSourceWithException('test.dart');
+ // prepare errors
+ _analyzeAll_assertFinished();
+ List<AnalysisError> errors = context.getErrors(source).errors;
+ // validate errors
+ expect(errors, hasLength(1));
+ AnalysisError error = errors[0];
+ expect(error.source, same(source));
+ expect(error.errorCode, ScannerErrorCode.UNABLE_GET_CONTENT);
+ }
+
+ void test_performAnalysisTask_getContentException_html() {
+ Source source = _addSourceWithException('test.html');
+ // prepare errors
+ _analyzeAll_assertFinished();
+ List<AnalysisError> errors = context.getErrors(source).errors;
+ // validate errors
+ expect(errors, hasLength(1));
+ AnalysisError error = errors[0];
+ expect(error.source, same(source));
+ expect(error.errorCode, ScannerErrorCode.UNABLE_GET_CONTENT);
+ }
+
void test_performAnalysisTask_importedLibraryAdd() {
Source libASource =
addSource("/libA.dart", "library libA; import 'libB.dart';");
@@ -1667,6 +1588,17 @@ void g() { f(null); }''');
isTrue, reason: "libA has an error");
}
+ void test_performAnalysisTask_IOException() {
+ TestSource source = _addSourceWithException2("/test.dart", "library test;");
+ source.generateExceptionOnRead = false;
+ _analyzeAll_assertFinished();
+ expect(source.readCount, 1);
+ _changeSource(source, "");
+ source.generateExceptionOnRead = true;
+ _analyzeAll_assertFinished();
+ expect(source.readCount, 3);
+ }
+
void test_performAnalysisTask_missingPart() {
Source source =
addSource("/test.dart", "library lib; part 'no-such-file.dart';");
@@ -1723,17 +1655,6 @@ void g() { f(null); }''');
expect(resolvedUnitUris, contains('file:///test.dart'));
}
-// void test_resolveCompilationUnit_sourceChangeDuringResolution() {
-// _context = new _AnalysisContext_sourceChangeDuringResolution();
-// AnalysisContextFactory.initContextWithCore(_context);
-// _sourceFactory = _context.sourceFactory;
-// Source source = _addSource("/lib.dart", "library lib;");
-// CompilationUnit compilationUnit =
-// _context.resolveCompilationUnit2(source, source);
-// expect(compilationUnit, isNotNull);
-// expect(_context.getLineInfo(source), isNotNull);
-// }
-
void test_resolveCompilationUnit_import_relative() {
Source sourceA =
addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
@@ -1774,6 +1695,17 @@ void g() { f(null); }''');
]);
}
+// void test_resolveCompilationUnit_sourceChangeDuringResolution() {
+// _context = new _AnalysisContext_sourceChangeDuringResolution();
+// AnalysisContextFactory.initContextWithCore(_context);
+// _sourceFactory = _context.sourceFactory;
+// Source source = _addSource("/lib.dart", "library lib;");
+// CompilationUnit compilationUnit =
+// _context.resolveCompilationUnit2(source, source);
+// expect(compilationUnit, isNotNull);
+// expect(_context.getLineInfo(source), isNotNull);
+// }
+
void test_resolveCompilationUnit_library() {
Source source = addSource("/lib.dart", "library lib;");
LibraryElement library = context.computeLibraryElement(source);
@@ -1802,6 +1734,16 @@ void g() { f(null); }''');
expect(result.hint, options.hint);
}
+ void test_setAnalysisPriorityOrder() {
+ int priorityCount = 4;
+ List<Source> sources = new List<Source>();
+ for (int index = 0; index < priorityCount; index++) {
+ sources.add(addSource("/lib.dart$index", ""));
+ }
+ context.analysisPriorityOrder = sources;
+ expect(_getPriorityOrder(context).length, priorityCount);
+ }
+
void test_setAnalysisPriorityOrder_empty() {
context.analysisPriorityOrder = new List<Source>();
}
@@ -1812,6 +1754,42 @@ void g() { f(null); }''');
context.analysisPriorityOrder = sources;
}
+ Future test_setChangedContents_libraryWithPart() {
+ AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+ options.incremental = true;
+ context.analysisOptions = options;
+ SourcesChangedListener listener = new SourcesChangedListener();
+ context.onSourcesChanged.listen(listener.onData);
+ String oldCode = r'''
+library lib;
+part 'part.dart';
+int a = 0;''';
+ 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);
+ CompilationUnit unit =
+ context.resolveCompilationUnit(librarySource, element);
+ expect(unit, isNotNull);
+ int offset = oldCode.indexOf("int a") + 4;
+ String newCode = r'''
+library lib;
+part 'part.dart';
+int ya = 0;''';
+ context.setChangedContents(librarySource, newCode, offset, 0, 1);
+ expect(context.getContents(librarySource).data, newCode);
+ expect(
+ context.getResolvedCompilationUnit2(partSource, librarySource), isNull);
+ return pumpEventQueue().then((_) {
+ listener.assertEvent(wereSourcesAdded: true);
+ listener.assertEvent(wereSourcesAdded: true);
+ listener.assertEvent(changedSources: [librarySource]);
+ listener.assertNoMoreEvents();
+ });
+ }
+
void test_setChangedContents_notResolved() {
AnalysisOptionsImpl options =
new AnalysisOptionsImpl.from(context.analysisOptions);
@@ -1827,7 +1805,6 @@ library lib;
int ya = 0;''';
context.setChangedContents(librarySource, newCode, offset, 0, 1);
expect(context.getContents(librarySource).data, newCode);
- expect(_getIncrementalAnalysisCache(context), isNull);
}
Future test_setContents_libraryWithPart() {
@@ -1843,10 +1820,6 @@ part of lib;
int b = a;''';
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));
String libraryContents2 = r'''
library lib;
part 'part.dart';
@@ -1854,7 +1827,6 @@ int aa = 0;''';
context.setContents(librarySource, libraryContents2);
expect(
context.getResolvedCompilationUnit2(partSource, librarySource), isNull);
- expect(_getIncrementalAnalysisCache(context), isNull);
return pumpEventQueue().then((_) {
listener.assertEvent(wereSourcesAdded: true);
listener.assertEvent(wereSourcesAdded: true);
@@ -1869,14 +1841,9 @@ library lib;
int a = 0;''');
context.setContents(librarySource, '// different');
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),
isNull);
- expect(_getIncrementalAnalysisCache(context), isNull);
}
void test_setContents_unchanged_consistentModificationTime() {
@@ -2003,11 +1970,6 @@ int a = 0;''');
entry.setState(RESOLVED_UNIT, CacheState.FLUSHED);
}
- IncrementalAnalysisCache _getIncrementalAnalysisCache(
- AnalysisContextImpl context2) {
- return context2.test_incrementalAnalysisCache;
- }
-
List<Source> _getPriorityOrder(AnalysisContextImpl context2) {
return context2.test_priorityOrder;
}
@@ -2027,11 +1989,6 @@ int a = 0;''');
context.applyChanges(changeSet);
}
- void _setIncrementalAnalysisCache(
- AnalysisContextImpl context, IncrementalAnalysisCache incrementalCache) {
- context.test_incrementalAnalysisCache = incrementalCache;
- }
-
/**
* Returns `true` if there is an [AnalysisError] with [ErrorSeverity.ERROR] in
* the given [AnalysisErrorInfo].
« no previous file with comments | « pkg/analyzer/lib/src/context/context.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698