Index: pkg/analysis_server/test/integration/integration_tests.dart |
diff --git a/pkg/analysis_server/test/integration/integration_tests.dart b/pkg/analysis_server/test/integration/integration_tests.dart |
index d277f2cf0d27efeccd27c5988fd20959a275c151..3f465f3add6f1e442f5565b2d1194e9b0343d7e7 100644 |
--- a/pkg/analysis_server/test/integration/integration_tests.dart |
+++ b/pkg/analysis_server/test/integration/integration_tests.dart |
@@ -280,6 +280,17 @@ abstract class AbstractAnalysisServerIntegrationTest |
} |
/** |
+ * An error result from a server call. |
Brian Wilkerson
2017/02/12 18:47:09
nit: "call" --> "request"
devoncarew
2017/02/12 19:22:47
Done.
|
+ */ |
+class ServerErrorMessage { |
+ final Map message; |
+ |
+ ServerErrorMessage(this.message); |
+ |
+ dynamic get error => message['error']; |
+} |
+ |
+/** |
* Wrapper class for Matcher which doesn't create the underlying Matcher object |
* until it is needed. This is necessary in order to create matchers that can |
* refer to themselves (so that recursive data structures can be represented). |
@@ -577,9 +588,7 @@ class Server { |
_pendingCommands.remove(id); |
} |
if (messageAsMap.containsKey('error')) { |
- // TODO(paulberry): propagate the error info to the completer. |
- completer.completeError(new UnimplementedError( |
- 'Server responded with an error: ${JSON.encode(message)}')); |
+ completer.completeError(new ServerErrorMessage(messageAsMap)); |
} else { |
completer.complete(messageAsMap['result']); |
} |