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

Unified Diff: mojo/edk/js/tests/connection_tests.js

Issue 814543006: Move //mojo/{public, edk} underneath //third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 11 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 | « mojo/edk/js/tests/BUILD.gn ('k') | mojo/edk/js/tests/js_to_cpp.mojom » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/js/tests/connection_tests.js
diff --git a/mojo/edk/js/tests/connection_tests.js b/mojo/edk/js/tests/connection_tests.js
deleted file mode 100644
index 17009d9a1abaddcfffb636c3609cb3e8aa22a195..0000000000000000000000000000000000000000
--- a/mojo/edk/js/tests/connection_tests.js
+++ /dev/null
@@ -1,264 +0,0 @@
-// Copyright 2013 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/public/js/support", ["timer"], function(timer) {
- 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) {
- if (callbacks[i])
- callbacks[i](result);
- }
- }
-
- // Queue up a pumpOnce call to execute after the stack unwinds. Use
- // this to trigger a pump after all Promises are executed.
- function queuePump(result) {
- timer.createOneShot(0, pumpOnce.bind(undefined, result));
- }
-
- var exports = {};
- exports.asyncWait = asyncWait;
- exports.cancelWait = cancelWait;
- exports.numberOfWaitingCallbacks = numberOfWaitingCallbacks;
- exports.pumpOnce = pumpOnce;
- exports.queuePump = queuePump;
- return exports;
-});
-
-define([
- "gin/test/expect",
- "mojo/public/js/support",
- "mojo/public/js/core",
- "mojo/public/js/connection",
- "mojo/public/interfaces/bindings/tests/sample_interfaces.mojom",
- "mojo/public/interfaces/bindings/tests/sample_service.mojom",
- "mojo/public/js/threading",
- "gc",
-], function(expect,
- mockSupport,
- core,
- connection,
- sample_interfaces,
- sample_service,
- threading,
- gc) {
- testClientServer();
- testWriteToClosedPipe();
- testRequestResponse().then(function() {
- this.result = "PASS";
- gc.collectGarbage(); // should not crash
- threading.quit();
- }.bind(this)).catch(function(e) {
- this.result = "FAIL: " + (e.stack || e);
- threading.quit();
- }.bind(this));
-
- function createPeerConnection(handle, stubClass, proxyClass) {
- var c = new connection.Connection(handle, stubClass, proxyClass);
- c.local.peer = c.remote;
- c.remote.peer = c.local;
- return c;
- }
-
- function testClientServer() {
- var receivedFrobinate = false;
- var receivedDidFrobinate = false;
-
- // ServiceImpl ------------------------------------------------------------
-
- function ServiceImpl() {
- }
-
- ServiceImpl.prototype = Object.create(
- sample_service.Service.stubClass.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);
- };
-
- // ServiceClientImpl ------------------------------------------------------
-
- function ServiceClientImpl() {
- }
-
- ServiceClientImpl.prototype =
- Object.create(sample_service.ServiceClient.stubClass.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 = createPeerConnection(
- pipe.handle0, ServiceImpl, sample_service.ServiceClient.proxyClass);
-
- var connection1 = createPeerConnection(
- pipe.handle1, ServiceClientImpl, sample_service.Service.proxyClass);
-
- var foo = new sample_service.Foo();
- foo.bar = new sample_service.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);
- }
-
- function testWriteToClosedPipe() {
- var pipe = core.createMessagePipe();
-
- var connection1 = createPeerConnection(
- pipe.handle1, function() {}, sample_service.Service.proxyClass);
-
- // Close the other end of the pipe.
- core.close(pipe.handle0);
-
- // Not observed yet because we haven't pumped events yet.
- expect(connection1.encounteredError()).toBeFalsy();
-
- var foo = new sample_service.Foo();
- foo.bar = new sample_service.Bar();
- // TODO(darin): crbug.com/357043: pass null in place of |foo| here.
- connection1.remote.frobinate(foo, true, null);
-
- // Write failures are not reported.
- expect(connection1.encounteredError()).toBeFalsy();
-
- // Pump events, and then we should start observing the closed pipe.
- mockSupport.pumpOnce(core.RESULT_OK);
-
- expect(connection1.encounteredError()).toBeTruthy();
-
- connection1.close();
- }
-
- function testRequestResponse() {
-
- // ProviderImpl ------------------------------------------------------------
-
- function ProviderImpl() {
- }
-
- ProviderImpl.prototype =
- Object.create(sample_interfaces.Provider.stubClass.prototype);
-
- ProviderImpl.prototype.echoString = function(a) {
- mockSupport.queuePump(core.RESULT_OK);
- return Promise.resolve({a: a});
- };
-
- ProviderImpl.prototype.echoStrings = function(a, b) {
- mockSupport.queuePump(core.RESULT_OK);
- return Promise.resolve({a: a, b: b});
- };
-
- // ProviderClientImpl ------------------------------------------------------
-
- function ProviderClientImpl() {
- }
-
- ProviderClientImpl.prototype =
- Object.create(sample_interfaces.ProviderClient.stubClass.prototype);
-
- var pipe = core.createMessagePipe();
-
- var connection0 = createPeerConnection(
- pipe.handle0,
- ProviderImpl,
- sample_interfaces.ProviderClient.proxyClass);
-
- var connection1 = createPeerConnection(
- pipe.handle1,
- ProviderClientImpl,
- sample_interfaces.Provider.proxyClass);
-
- var origReadMessage = core.readMessage;
- // echoString
- mockSupport.queuePump(core.RESULT_OK);
- return connection1.remote.echoString("hello").then(function(response) {
- expect(response.a).toBe("hello");
- }).then(function() {
- // echoStrings
- mockSupport.queuePump(core.RESULT_OK);
- return connection1.remote.echoStrings("hello", "world");
- }).then(function(response) {
- expect(response.a).toBe("hello");
- expect(response.b).toBe("world");
- }).then(function() {
- // Mock a read failure, expect it to fail.
- core.readMessage = function() {
- return { result: core.RESULT_UNKNOWN };
- };
- mockSupport.queuePump(core.RESULT_OK);
- return connection1.remote.echoString("goodbye");
- }).then(function() {
- throw Error("Expected echoString to fail.");
- }, function(error) {
- expect(error.message).toBe("Connection error: " + core.RESULT_UNKNOWN);
-
- // Clean up.
- core.readMessage = origReadMessage;
- });
- }
-});
« no previous file with comments | « mojo/edk/js/tests/BUILD.gn ('k') | mojo/edk/js/tests/js_to_cpp.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698