Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Unified Diff: pkg/analysis_server/tool/spec/codegen_inttest_methods.dart

Issue 628783002: Change integration test send...() methods to return structured objects. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/tool/spec/codegen_dart_protocol.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/tool/spec/codegen_inttest_methods.dart
diff --git a/pkg/analysis_server/tool/spec/codegen_inttest_methods.dart b/pkg/analysis_server/tool/spec/codegen_inttest_methods.dart
index 2e531096398f0c11503ab46719a80f174731ff4a..cebe8bc74e8381705302885bd69e3908f9a5de67 100644
--- a/pkg/analysis_server/tool/spec/codegen_inttest_methods.dart
+++ b/pkg/analysis_server/tool/spec/codegen_inttest_methods.dart
@@ -153,12 +153,19 @@ class CodegenInttestMethodsVisitor extends DartCodegenVisitor with CodeGenerator
toHtmlVisitor.describePayload(request.params, 'Parameters');
toHtmlVisitor.describePayload(request.result, 'Returns');
}));
- writeln('Future $methodName(${args.join(', ')}) {');
+ String resultClass;
+ String futureClass;
+ if (request.result == null) {
+ futureClass = 'Future';
+ } else {
+ resultClass =
+ camelJoin([request.domainName, request.method, 'result'], doCapitalize: true);
+ futureClass = 'Future<$resultClass>';
+ }
+ writeln('$futureClass $methodName(${args.join(', ')}) {');
indent(() {
String requestClass =
camelJoin([request.domainName, request.method, 'params'], doCapitalize: true);
- String resultValidator =
- camelJoin(['is', request.domainName, request.method, 'result']);
String paramsVar = 'null';
if (request.params != null) {
paramsVar = 'params';
@@ -178,8 +185,18 @@ class CodegenInttestMethodsVisitor extends DartCodegenVisitor with CodeGenerator
'return server.send(${JSON.encode(request.longMethod)}, $paramsVar)');
indent(() {
writeln(' .then((result) {');
- writeln('expect(result, $resultValidator);');
- writeln('return result;');
+ if (request.result != null) {
+ String kind = 'null';
+ if (requestClass == 'EditGetRefactoringParams') {
+ kind = 'kind';
+ }
+ writeln('ResponseDecoder decoder = new ResponseDecoder($kind);');
+ writeln(
+ "return new $resultClass.fromJson(decoder, 'result', result);");
+ } else {
+ writeln('expect(result, isNull);');
+ writeln('return null;');
+ }
});
writeln('});');
});
« no previous file with comments | « pkg/analysis_server/tool/spec/codegen_dart_protocol.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698