| Index: pkg/analysis_server/test/analysis/notification_highlights_test.dart
|
| diff --git a/pkg/analysis_server/test/analysis/notification_highlights_test.dart b/pkg/analysis_server/test/analysis/notification_highlights_test.dart
|
| index 714ab6ba0b20943b01d224dc56f3613efd5e62be..98f5d57220eab0849193ef376cfdd063d5d68389 100644
|
| --- a/pkg/analysis_server/test/analysis/notification_highlights_test.dart
|
| +++ b/pkg/analysis_server/test/analysis/notification_highlights_test.dart
|
| @@ -23,9 +23,7 @@ main() {
|
| @reflectiveTest
|
| class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
|
| List<HighlightRegion> regions;
|
| -
|
| - @override
|
| - bool get enableNewAnalysisDriver => false;
|
| + Completer _regionsAvailable = new Completer();
|
|
|
| void assertHasRawRegion(HighlightRegionType type, int offset, int length) {
|
| for (HighlightRegion region in regions) {
|
| @@ -93,7 +91,14 @@ class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
|
|
|
| Future prepareHighlights() {
|
| addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
|
| - return waitForTasksFinished();
|
| + // The test would time out if the notification was not received soon enough,
|
| + // but the time-out is painfully long, so we provide a shorter timeout here.
|
| + new Future.delayed(new Duration(seconds: 2), () {
|
| + if (!_regionsAvailable.isCompleted) {
|
| + _regionsAvailable.complete(null);
|
| + }
|
| + });
|
| + return _regionsAvailable.future;
|
| }
|
|
|
| void processNotification(Notification notification) {
|
| @@ -101,6 +106,7 @@ class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
|
| var params = new AnalysisHighlightsParams.fromNotification(notification);
|
| if (params.file == testFile) {
|
| regions = params.regions;
|
| + _regionsAvailable.complete(null);
|
| }
|
| }
|
| }
|
|
|