| Index: mojo/public/dart/tests/bindings_generation_test.dart
|
| diff --git a/mojo/public/dart/tests/bindings_generation_test.dart b/mojo/public/dart/tests/bindings_generation_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ed365abb58787d78cafd88330800c628fb1225bd
|
| --- /dev/null
|
| +++ b/mojo/public/dart/tests/bindings_generation_test.dart
|
| @@ -0,0 +1,66 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +import 'dart:async';
|
| +import 'dart:isolate';
|
| +import 'dart:typed_data';
|
| +
|
| +import 'package:mojo/public/dart/utils/lib/expect.dart';
|
| +import 'package:mojo/public/dart/bindings/lib/bindings.dart' as bindings;
|
| +import 'package:mojo/public/dart/system/lib/core.dart' as core;
|
| +import 'package:mojo/public/dart/system/lib/embedder.dart' as embedder;
|
| +
|
| +import 'package:mojo/public/interfaces/bindings/tests/sample_interfaces.mojom.dart' as sample;
|
| +
|
| +
|
| +class ProviderInterfaceImpl extends sample.ProviderInterface {
|
| + ProviderInterfaceImpl(core.MojoMessagePipeEndpoint endpoint) : super(endpoint);
|
| +
|
| + Future echoString(Object params) {
|
| + Expect.isTrue(params is sample.Provider_EchoString_Params);
|
| + var response = new sample.Provider_EchoString_ResponseParams();
|
| + response.a = params.a;
|
| + return new Future.value(response);
|
| + }
|
| +
|
| + Future echoStrings(Object params) {
|
| + Expect.isTrue(params is sample.Provider_EchoStrings_Params);
|
| + var response = new sample.Provider_EchoStrings_ResponseParams();
|
| + response.a = params.a;
|
| + response.b = params.b;
|
| + return new Future.value(response);
|
| + }
|
| +
|
| + Future echoMessagePipeHandle(Object params) {
|
| + Expect.isTrue(params is sample.Provider_EchoMessagePipeHandle_Params);
|
| + var response = new sample.Provider_EchoMessagePipeHandle_ResponseParams();
|
| + response.a = params.a;
|
| + return new Future.value(response);
|
| + }
|
| +
|
| + Future echoEnum(Object params) {
|
| + var response = new sample.Provider_EchoEnum_ResponseParams();
|
| + response.a = params.a;
|
| + return new Future.value(response);
|
| + }
|
| +}
|
| +
|
| +
|
| +void providerIsolate(core.MojoMessagePipeEndpoint endpoint) {
|
| + var provider = new ProviderInterfaceImpl(endpoint);
|
| +}
|
| +
|
| +
|
| +main() {
|
| + embedder.mojoEmbedderInit().then((status) {
|
| + var pipe = new core.MojoMessagePipe();
|
| + var client = new sample.ProviderClient(pipe.endpoints[0]);
|
| + Isolate.spawn(providerIsolate, pipe.endpoints[1]).then((_) {
|
| + client.echoString("hello!").then((response) {
|
| + Expect.equals("hello!", response.a);
|
| + client.close();
|
| + });
|
| + });
|
| + });
|
| +}
|
|
|