summaryrefslogtreecommitdiffstats
path: root/mojo/apps/js/bindings/connector_unittests.js
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/apps/js/bindings/connector_unittests.js')
-rw-r--r--mojo/apps/js/bindings/connector_unittests.js132
1 files changed, 0 insertions, 132 deletions
diff --git a/mojo/apps/js/bindings/connector_unittests.js b/mojo/apps/js/bindings/connector_unittests.js
deleted file mode 100644
index d50f740..0000000
--- a/mojo/apps/js/bindings/connector_unittests.js
+++ /dev/null
@@ -1,132 +0,0 @@
-// 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.
-
-// Mock out the support module to avoid depending on the message loop.
-define("mojo/bindings/js/support", function() {
- var waitingCallbacks = [];
-
- function WaitCookie(id) {
- this.id = id;
- }
-
- function asyncWait(handle, flags, callback) {
- var id = waitingCallbacks.length;
- waitingCallbacks.push(callback);
- return new WaitCookie(id);
- }
-
- function cancelWait(cookie) {
- waitingCallbacks[cookie.id] = null;
- }
-
- function numberOfWaitingCallbacks() {
- var count = 0;
- for (var i = 0; i < waitingCallbacks.length; ++i) {
- if (waitingCallbacks[i])
- ++count;
- }
- return count;
- }
-
- function pumpOnce(result) {
- var callbacks = waitingCallbacks;
- waitingCallbacks = [];
- for (var i = 0; i < callbacks.length; ++i)
- callbacks[i](result);
- }
-
- var exports = {};
- exports.asyncWait = asyncWait;
- exports.cancelWait = cancelWait;
- exports.numberOfWaitingCallbacks = numberOfWaitingCallbacks;
- exports.pumpOnce = pumpOnce;
- return exports;
-});
-
-define([
- "gin/test/expect",
- "mojo/bindings/js/support",
- "mojo/bindings/js/core",
- "mojo/public/bindings/js/connector",
- "mojo/public/bindings/tests/sample_service.mojom",
-], function(expect, mockSupport, core, connector, sample) {
-
- var receivedFrobinate = false;
- var receivedDidFrobinate = false;
-
- // ServiceImpl --------------------------------------------------------------
-
- function ServiceImpl(peer) {
- this.peer = peer;
- }
-
- ServiceImpl.prototype = Object.create(sample.ServiceStub.prototype);
-
- ServiceImpl.prototype.frobinate = function(foo, baz, port) {
- receivedFrobinate = true;
-
- expect(foo.name).toBe("Example name");
- expect(baz).toBeTruthy();
- expect(core.close(port)).toBe(core.RESULT_OK);
-
- this.peer.didFrobinate(42);
- };
-
- // ServiceImpl --------------------------------------------------------------
-
- function ServiceClientImpl(peer) {
- this.peer = peer;
- }
-
- ServiceClientImpl.prototype =
- Object.create(sample.ServiceClientStub.prototype);
-
- ServiceClientImpl.prototype.didFrobinate = function(result) {
- receivedDidFrobinate = true;
-
- expect(result).toBe(42);
- };
-
- var pipe = core.createMessagePipe();
- var anotherPipe = core.createMessagePipe();
- var sourcePipe = core.createMessagePipe();
-
- var connection0 = new connector.Connection(
- pipe.handle0, ServiceImpl, sample.ServiceClientProxy);
-
- var connection1 = new connector.Connection(
- pipe.handle1, ServiceClientImpl, sample.ServiceProxy);
-
- var foo = new sample.Foo();
- foo.bar = new sample.Bar();
- foo.name = "Example name";
- foo.source = sourcePipe.handle0;
- connection1.remote.frobinate(foo, true, anotherPipe.handle0);
-
- mockSupport.pumpOnce(core.RESULT_OK);
-
- expect(receivedFrobinate).toBeTruthy();
- expect(receivedDidFrobinate).toBeTruthy();
-
- connection0.close();
- connection1.close();
-
- expect(mockSupport.numberOfWaitingCallbacks()).toBe(0);
-
- // sourcePipe.handle0 was closed automatically when sent over IPC.
- expect(core.close(sourcePipe.handle0)).toBe(core.RESULT_INVALID_ARGUMENT);
- // sourcePipe.handle1 hasn't been closed yet.
- expect(core.close(sourcePipe.handle1)).toBe(core.RESULT_OK);
-
- // anotherPipe.handle0 was closed automatically when sent over IPC.
- expect(core.close(anotherPipe.handle0)).toBe(core.RESULT_INVALID_ARGUMENT);
- // anotherPipe.handle1 hasn't been closed yet.
- expect(core.close(anotherPipe.handle1)).toBe(core.RESULT_OK);
-
- // The Connection object is responsible for closing these handles.
- expect(core.close(pipe.handle0)).toBe(core.RESULT_INVALID_ARGUMENT);
- expect(core.close(pipe.handle1)).toBe(core.RESULT_INVALID_ARGUMENT);
-
- this.result = "PASS";
-});