| Index: pkg/analysis_server/test/analysis_server_test.dart
|
| diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
|
| index 98e560166c174ea0418d7c72abad68d683ab33a3..acff6abab3f17064cc20c9161d67f047c5f64dce 100644
|
| --- a/pkg/analysis_server/test/analysis_server_test.dart
|
| +++ b/pkg/analysis_server/test/analysis_server_test.dart
|
| @@ -4,8 +4,8 @@
|
|
|
| library test.analysis_server;
|
|
|
| -import 'dart:async';
|
|
|
| +import 'package:analyzer/src/generated/java_engine.dart';
|
| import 'package:analyzer/src/generated/engine.dart';
|
| import 'package:analyzer/src/generated/error.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
| @@ -22,13 +22,11 @@ import 'mocks.dart';
|
| class AnalysisServerTestHelper {
|
| MockServerChannel channel;
|
| AnalysisServer server;
|
| - MockAnalysisLogger logger;
|
|
|
| - AnalysisServerTestHelper() {
|
| + AnalysisServerTestHelper({bool rethrowExceptions: true}) {
|
| channel = new MockServerChannel();
|
| - server = new AnalysisServer(channel, PhysicalResourceProvider.INSTANCE);
|
| - logger = new MockAnalysisLogger();
|
| - AnalysisEngine.instance.logger = logger;
|
| + server = new AnalysisServer(channel, PhysicalResourceProvider.INSTANCE,
|
| + rethrowExceptions: rethrowExceptions);
|
| }
|
| }
|
|
|
| @@ -157,6 +155,20 @@ main() {
|
| expect(response.error, isNotNull);
|
| });
|
| });
|
| +
|
| + test('rethrow exceptions', () {
|
| + AnalysisServerTestHelper helper = new AnalysisServerTestHelper();
|
| + MockAnalysisContext context = new MockAnalysisContext();
|
| + Exception exceptionToThrow = new Exception('test exception');
|
| + context.when(callsTo('performAnalysisTask')).alwaysThrow(exceptionToThrow);
|
| + helper.server.addContextToWorkQueue(context);
|
| + try {
|
| + helper.server.performTask();
|
| + fail('exception not rethrown');
|
| + } on AnalysisException catch (exception) {
|
| + expect(exception.cause.exception, equals(exceptionToThrow));
|
| + }
|
| + });
|
| });
|
| }
|
|
|
|
|