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

Side by Side Diff: mojo/dart/unittests/embedder_tests/dart_to_cpp_tests.dart

Issue 1964193002: Dart: Refactors Proxies (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Cleanup Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:typed_data'; 6 import 'dart:typed_data';
7 7
8 import 'package:_mojo_for_test_only/dart_to_cpp/dart_to_cpp.mojom.dart'; 8 import 'package:_mojo_for_test_only/dart_to_cpp/dart_to_cpp.mojom.dart';
9 import 'package:mojo/bindings.dart' as bindings; 9 import 'package:mojo/bindings.dart' as bindings;
10 import 'package:mojo/core.dart' as core; 10 import 'package:mojo/core.dart' as core;
(...skipping 25 matching lines...) Expand all
36 36
37 EchoArgsList createEchoArgsList(List<EchoArgs> list) { 37 EchoArgsList createEchoArgsList(List<EchoArgs> list) {
38 return list.fold(null, (result, arg) { 38 return list.fold(null, (result, arg) {
39 var element = new EchoArgsList(); 39 var element = new EchoArgsList();
40 element.item = arg; 40 element.item = arg;
41 element.next = result; 41 element.next = result;
42 return element; 42 return element;
43 }); 43 });
44 } 44 }
45 45
46 void setClient(bindings.ProxyBase proxy) { 46 void setClient(bindings.Proxy proxy) {
47 assert(cppSide == null); 47 assert(cppSide == null);
48 cppSide = proxy; 48 cppSide = proxy;
49 cppSide.ptr.startTest(); 49 cppSide.startTest();
50 } 50 }
51 51
52 void ping() { 52 void ping() {
53 cppSide.ptr.pingResponse(); 53 cppSide.pingResponse();
54 _completer.complete(null); 54 _completer.complete(null);
55 cppSide.close(); 55 cppSide.close();
56 } 56 }
57 57
58 void echo(int numIterations, EchoArgs arg) { 58 void echo(int numIterations, EchoArgs arg) {
59 if (arg.si64 > 0) { 59 if (arg.si64 > 0) {
60 arg.si64 = BAD_VALUE; 60 arg.si64 = BAD_VALUE;
61 } 61 }
62 if (arg.si32 > 0) { 62 if (arg.si32 > 0) {
63 arg.si32 = BAD_VALUE; 63 arg.si32 = BAD_VALUE;
(...skipping 21 matching lines...) Expand all
85 specialArg.si8 = -1; 85 specialArg.si8 = -1;
86 specialArg.name = 'going'; 86 specialArg.name = 'going';
87 specialArg.dataHandle = dataPipe2.consumer; 87 specialArg.dataHandle = dataPipe2.consumer;
88 specialArg.messageHandle = messagePipe2.endpoints[0]; 88 specialArg.messageHandle = messagePipe2.endpoints[0];
89 89
90 dataPipe1.producer.write(_sampleData.buffer.asByteData()); 90 dataPipe1.producer.write(_sampleData.buffer.asByteData());
91 dataPipe2.producer.write(_sampleData.buffer.asByteData()); 91 dataPipe2.producer.write(_sampleData.buffer.asByteData());
92 messagePipe1.endpoints[1].write(_sampleMessage.buffer.asByteData()); 92 messagePipe1.endpoints[1].write(_sampleMessage.buffer.asByteData());
93 messagePipe2.endpoints[1].write(_sampleMessage.buffer.asByteData()); 93 messagePipe2.endpoints[1].write(_sampleMessage.buffer.asByteData());
94 94
95 cppSide.ptr.echoResponse(createEchoArgsList([arg, specialArg])); 95 cppSide.echoResponse(createEchoArgsList([arg, specialArg]));
96 96
97 dataPipe1.producer.handle.close(); 97 dataPipe1.producer.handle.close();
98 dataPipe2.producer.handle.close(); 98 dataPipe2.producer.handle.close();
99 messagePipe1.endpoints[1].handle.close(); 99 messagePipe1.endpoints[1].handle.close();
100 messagePipe2.endpoints[1].handle.close(); 100 messagePipe2.endpoints[1].handle.close();
101 } 101 }
102 cppSide.ptr.testFinished(); 102 cppSide.testFinished();
103 _completer.complete(null); 103 _completer.complete(null);
104 cppSide.close(); 104 cppSide.close();
105 } 105 }
106 106
107 Future<bool> get future => _completer.future; 107 Future<bool> get future => _completer.future;
108 } 108 }
109 109
110 main(List args, Object handleToken) { 110 main(List args, Object handleToken) {
111 var rawHandle = new core.MojoHandle(handleToken); 111 var rawHandle = new core.MojoHandle(handleToken);
112 var endpoint = new core.MojoMessagePipeEndpoint(rawHandle); 112 var endpoint = new core.MojoMessagePipeEndpoint(rawHandle);
113 var dartSide = new DartSideImpl(endpoint); 113 var dartSide = new DartSideImpl(endpoint);
114 dartSide.future.then((_) { 114 dartSide.future.then((_) {
115 print('Success'); 115 print('Success');
116 }); 116 });
117 } 117 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698