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

Unified Diff: pkg/analyzer/test/src/task/dart_test.dart

Issue 1113103003: Use memento in ScanDartTask. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 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/task/dart.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/task/dart_test.dart
diff --git a/pkg/analyzer/test/src/task/dart_test.dart b/pkg/analyzer/test/src/task/dart_test.dart
index ddabeb38ce0b4e6e507f93bb7144a91c61e08e98..0bc79c49503c3dfd6b56f71d0362c44bbe2baeca 100644
--- a/pkg/analyzer/test/src/task/dart_test.dart
+++ b/pkg/analyzer/test/src/task/dart_test.dart
@@ -1756,6 +1756,14 @@ main(p1, p2, p3, p4) {
@reflectiveTest
class ScanDartTaskTest extends _AbstractDartTaskTest {
+ void assertSameResults(List<ResultDescriptor> descriptors) {
+ descriptors.forEach((descriptor) {
+ var oldResult = oldOutputs[descriptor];
+ var newResult = outputs[descriptor];
+ expect(newResult, same(oldResult));
+ });
+ }
+
test_buildInputs() {
Map<String, TaskInput> inputs = ScanDartTask.buildInputs(emptySource);
expect(inputs, isNotNull);
@@ -1802,6 +1810,17 @@ class ScanDartTaskTest extends _AbstractDartTaskTest {
expect(outputs[TOKEN_STREAM], isNotNull);
}
+ test_perform_useMemento() {
+ AnalysisTarget target = newSource('/test.dart', 'main() {}');
+ _computeResult(target, TOKEN_STREAM);
+ // update content
+ context.setContents(target, 'main() {}');
+ // recompute
+ _computeResult(target, TOKEN_STREAM);
+ // values from the mememto are returned
+ assertSameResults([LINE_INFO, SCAN_ERRORS, TOKEN_STREAM]);
+ }
+
void _performScanTask(String content) {
AnalysisTarget target = newSource('/test.dart', content);
_computeResult(target, TOKEN_STREAM);
@@ -1832,6 +1851,7 @@ main() {
class _AbstractDartTaskTest extends AbstractContextTest {
Source emptySource;
+ Map<ResultDescriptor<dynamic>, dynamic> oldOutputs;
AnalysisTask task;
Map<ResultDescriptor<dynamic>, dynamic> outputs;
GatheringErrorListener errorListener = new GatheringErrorListener();
@@ -1842,6 +1862,7 @@ class _AbstractDartTaskTest extends AbstractContextTest {
}
void _computeResult(AnalysisTarget target, ResultDescriptor result) {
+ oldOutputs = outputs;
task = analysisDriver.computeResult(target, result);
expect(task.caughtException, isNull);
outputs = task.outputs;
« no previous file with comments | « pkg/analyzer/lib/src/task/dart.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698