| Index: pkg/analyzer/test/src/task/driver_test.dart
|
| diff --git a/pkg/analyzer/test/src/task/driver_test.dart b/pkg/analyzer/test/src/task/driver_test.dart
|
| index 221636a2c5e41c8e19b01313ffecc22544bb2c1b..bd216758d77d7166b04ead01ea852ce1feb594e7 100644
|
| --- a/pkg/analyzer/test/src/task/driver_test.dart
|
| +++ b/pkg/analyzer/test/src/task/driver_test.dart
|
| @@ -124,6 +124,32 @@ class AnalysisDriverTest extends AbstractDriverTest {
|
| expect(analysisDriver.createNextWorkOrder(), isNull);
|
| }
|
|
|
| + test_createWorkOrderForResult_aboutToComputeResult() {
|
| + AnalysisTarget target = new TestSource();
|
| + ResultDescriptor result = new ResultDescriptor('result', null);
|
| + TaskDescriptor descriptor = new TaskDescriptor(
|
| + 'task',
|
| + (context, target) => new TestAnalysisTask(context, target),
|
| + (target) => {},
|
| + [result]);
|
| + taskManager.addTaskDescriptor(descriptor);
|
| + context.getCacheEntry(target).setState(result, CacheState.INVALID);
|
| + // has result
|
| + {
|
| + when(context.aboutToComputeResult(anyObject, result)).thenReturn(true);
|
| + WorkOrder workOrder =
|
| + analysisDriver.createWorkOrderForResult(target, result);
|
| + expect(workOrder, isNull);
|
| + }
|
| + // no result
|
| + {
|
| + when(context.aboutToComputeResult(anyObject, result)).thenReturn(false);
|
| + WorkOrder workOrder =
|
| + analysisDriver.createWorkOrderForResult(target, result);
|
| + expect(workOrder, isNotNull);
|
| + }
|
| + }
|
| +
|
| test_createWorkOrderForResult_error() {
|
| AnalysisTarget target = new TestSource();
|
| ResultDescriptor result = new ResultDescriptor('result', null);
|
| @@ -649,20 +675,7 @@ class WorkItemTest extends AbstractDriverTest {
|
| expect(item.target, target);
|
| }
|
|
|
| - test_gatherInputs_complete() {
|
| - AnalysisTarget target = new TestSource();
|
| - TaskDescriptor descriptor = new TaskDescriptor(
|
| - 'task',
|
| - (context, target) => new TestAnalysisTask(context, target),
|
| - (target) => {},
|
| - [new ResultDescriptor('output', null)]);
|
| - WorkItem item = new WorkItem(context, target, descriptor, null, 0, null);
|
| - WorkItem result = item.gatherInputs(taskManager, []);
|
| - expect(result, isNull);
|
| - expect(item.exception, isNull);
|
| - }
|
| -
|
| - test_gatherInputs_incomplete() {
|
| + test_gatherInputs_aboutToComputeResult_hasResult() {
|
| AnalysisTarget target = new TestSource();
|
| ResultDescriptor resultA = new ResultDescriptor('resultA', null);
|
| ResultDescriptor resultB = new ResultDescriptor('resultB', null);
|
| @@ -680,27 +693,15 @@ class WorkItemTest extends AbstractDriverTest {
|
| [resultB]);
|
| taskManager.addTaskDescriptor(task1);
|
| taskManager.addTaskDescriptor(task2);
|
| + // configure mocks
|
| + when(context.aboutToComputeResult(anyObject, resultA)).thenReturn(true);
|
| // gather inputs
|
| WorkItem item = new WorkItem(context, target, task2, null, 0, null);
|
| WorkItem inputItem = item.gatherInputs(taskManager, []);
|
| - expect(inputItem, isNotNull);
|
| - }
|
| -
|
| - test_gatherInputs_invalid() {
|
| - AnalysisTarget target = new TestSource();
|
| - ResultDescriptor inputResult = new ResultDescriptor('input', null);
|
| - TaskDescriptor descriptor = new TaskDescriptor(
|
| - 'task',
|
| - (context, target) => new TestAnalysisTask(context, target),
|
| - (target) => {'one': inputResult.of(target)},
|
| - [new ResultDescriptor('output', null)]);
|
| - WorkItem item = new WorkItem(context, target, descriptor, null, 0, null);
|
| - WorkItem result = item.gatherInputs(taskManager, []);
|
| - expect(result, isNull);
|
| - expect(item.exception, isNotNull);
|
| + expect(inputItem, isNull);
|
| }
|
|
|
| - test_gatherInputs_aboutToComputeResult_hasResult() {
|
| + test_gatherInputs_aboutToComputeResult_noResult() {
|
| AnalysisTarget target = new TestSource();
|
| ResultDescriptor resultA = new ResultDescriptor('resultA', null);
|
| ResultDescriptor resultB = new ResultDescriptor('resultB', null);
|
| @@ -718,15 +719,31 @@ class WorkItemTest extends AbstractDriverTest {
|
| [resultB]);
|
| taskManager.addTaskDescriptor(task1);
|
| taskManager.addTaskDescriptor(task2);
|
| + // configure ResultProvider
|
| // configure mocks
|
| - when(context.aboutToComputeResult(anyObject, resultA)).thenReturn(true);
|
| + when(context.aboutToComputeResult(anyObject, resultA)).thenReturn(false);
|
| // gather inputs
|
| WorkItem item = new WorkItem(context, target, task2, null, 0, null);
|
| WorkItem inputItem = item.gatherInputs(taskManager, []);
|
| - expect(inputItem, isNull);
|
| + expect(inputItem, isNotNull);
|
| + expect(inputItem.target, target);
|
| + expect(inputItem.descriptor, task1);
|
| }
|
|
|
| - test_gatherInputs_aboutToComputeResult_noResult() {
|
| + test_gatherInputs_complete() {
|
| + AnalysisTarget target = new TestSource();
|
| + TaskDescriptor descriptor = new TaskDescriptor(
|
| + 'task',
|
| + (context, target) => new TestAnalysisTask(context, target),
|
| + (target) => {},
|
| + [new ResultDescriptor('output', null)]);
|
| + WorkItem item = new WorkItem(context, target, descriptor, null, 0, null);
|
| + WorkItem result = item.gatherInputs(taskManager, []);
|
| + expect(result, isNull);
|
| + expect(item.exception, isNull);
|
| + }
|
| +
|
| + test_gatherInputs_incomplete() {
|
| AnalysisTarget target = new TestSource();
|
| ResultDescriptor resultA = new ResultDescriptor('resultA', null);
|
| ResultDescriptor resultB = new ResultDescriptor('resultB', null);
|
| @@ -744,15 +761,24 @@ class WorkItemTest extends AbstractDriverTest {
|
| [resultB]);
|
| taskManager.addTaskDescriptor(task1);
|
| taskManager.addTaskDescriptor(task2);
|
| - // configure ResultProvider
|
| - // configure mocks
|
| - when(context.aboutToComputeResult(anyObject, resultA)).thenReturn(false);
|
| // gather inputs
|
| WorkItem item = new WorkItem(context, target, task2, null, 0, null);
|
| WorkItem inputItem = item.gatherInputs(taskManager, []);
|
| expect(inputItem, isNotNull);
|
| - expect(inputItem.target, target);
|
| - expect(inputItem.descriptor, task1);
|
| + }
|
| +
|
| + test_gatherInputs_invalid() {
|
| + AnalysisTarget target = new TestSource();
|
| + ResultDescriptor inputResult = new ResultDescriptor('input', null);
|
| + TaskDescriptor descriptor = new TaskDescriptor(
|
| + 'task',
|
| + (context, target) => new TestAnalysisTask(context, target),
|
| + (target) => {'one': inputResult.of(target)},
|
| + [new ResultDescriptor('output', null)]);
|
| + WorkItem item = new WorkItem(context, target, descriptor, null, 0, null);
|
| + WorkItem result = item.gatherInputs(taskManager, []);
|
| + expect(result, isNull);
|
| + expect(item.exception, isNotNull);
|
| }
|
| }
|
|
|
|
|