| Index: runtime/observatory/tests/service/developer_extension_test.dart
|
| diff --git a/runtime/observatory/tests/service/developer_extension_test.dart b/runtime/observatory/tests/service/developer_extension_test.dart
|
| index fcfd66751f8139fe0a97ff585a715a3ef94d70c5..f134606fb66b6bdf0b2ab4dac38d6b785cd4ba9d 100644
|
| --- a/runtime/observatory/tests/service/developer_extension_test.dart
|
| +++ b/runtime/observatory/tests/service/developer_extension_test.dart
|
| @@ -47,6 +47,12 @@ Future<ServiceExtensionResponse> Handler(String method,
|
| }
|
| }
|
|
|
| +Future<ServiceExtensionResponse> LanguageErrorHandler(String method,
|
| + Map paremeters) {
|
| + // The following is an intentional syntax error.
|
| + klajsdlkjfad
|
| +}
|
| +
|
| void test() {
|
| registerExtension('__delay', Handler);
|
| registerExtension('__error', Handler);
|
| @@ -61,6 +67,7 @@ void test() {
|
| exceptionThrown = true;
|
| }
|
| expect(exceptionThrown, isTrue);
|
| + registerExtension('__languageError', LanguageErrorHandler);
|
| }
|
|
|
| var tests = [
|
| @@ -98,7 +105,8 @@ var tests = [
|
| await isolate.invokeRpcNoUpgrade('__nullFuture', {});
|
| } on ServerRpcException catch (e, st) {
|
| expect(e.code, equals(ServiceExtensionResponse.kExtensionError));
|
| - expect(e.message, equals('Extension handler returned null'));
|
| + expect(e.message, equals('Extension handler must complete to a '
|
| + 'ServiceExtensionResponse'));
|
| }
|
|
|
| result = await isolate.invokeRpcNoUpgrade('__success',
|
| @@ -109,6 +117,16 @@ var tests = [
|
| expect(result['parameters']['apple'], equals('banana'));
|
|
|
|
|
| + try {
|
| + result = await isolate.invokeRpcNoUpgrade('__languageError', {});
|
| + } on ServerRpcException catch (e, st) {
|
| + expect(e.code, equals(ServiceExtensionResponse.kExtensionError));
|
| + expect(e.message, stringContainsInOrder([
|
| + 'Error in extension `__languageError`:',
|
| + 'developer_extension_test.dart',
|
| + 'semicolon expected']));
|
| + }
|
| +
|
| },
|
| ];
|
|
|
|
|