mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-01 03:12:42 +01:00
tests: Spy on socket.io messages as early as possible
This commit is contained in:
parent
e28c9ffc97
commit
c8e0916e1a
2 changed files with 25 additions and 29 deletions
|
@ -311,14 +311,21 @@ const handshake = async () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
await new Promise((resolve) => {
|
await Promise.all([
|
||||||
|
new Promise((resolve) => {
|
||||||
const h = (obj) => {
|
const h = (obj) => {
|
||||||
if (obj.accessStatus || obj.type !== 'CLIENT_VARS') return;
|
if (obj.accessStatus || obj.type !== 'CLIENT_VARS') return;
|
||||||
socket.off('message', h);
|
socket.off('message', h);
|
||||||
resolve();
|
resolve();
|
||||||
};
|
};
|
||||||
socket.on('message', h);
|
socket.on('message', h);
|
||||||
});
|
}),
|
||||||
|
// This hook is only intended to be used by test code. If a plugin would like to use this hook,
|
||||||
|
// the hook must first be promoted to officially supported by deleting the leading underscore
|
||||||
|
// from the name, adding documentation to `doc/api/hooks_client-side.md`, and deleting this
|
||||||
|
// comment.
|
||||||
|
hooks.aCallAll('_socketCreated', {socket}),
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Defers message handling until setCollabClient() is called with a non-null value. */
|
/** Defers message handling until setCollabClient() is called with a non-null value. */
|
||||||
|
|
|
@ -99,6 +99,16 @@ const helper = {};
|
||||||
hookFns: {},
|
hookFns: {},
|
||||||
}, opts);
|
}, opts);
|
||||||
|
|
||||||
|
// Set up socket.io spying as early as possible.
|
||||||
|
/** chat messages received */
|
||||||
|
helper.chatMessages = [];
|
||||||
|
/** changeset commits from the server */
|
||||||
|
helper.commits = [];
|
||||||
|
/** userInfo messages from the server */
|
||||||
|
helper.userInfos = [];
|
||||||
|
if (opts.hookFns._socketCreated == null) opts.hookFns._socketCreated = [];
|
||||||
|
opts.hookFns._socketCreated.unshift(() => helper.spyOnSocketIO());
|
||||||
|
|
||||||
// if opts.params is set we manipulate the URL to include URL parameters IE ?foo=Bah.
|
// if opts.params is set we manipulate the URL to include URL parameters IE ?foo=Bah.
|
||||||
let encodedParams;
|
let encodedParams;
|
||||||
if (opts.params) {
|
if (opts.params) {
|
||||||
|
@ -171,27 +181,6 @@ const helper = {};
|
||||||
helper.padOuter$.fx.off = true;
|
helper.padOuter$.fx.off = true;
|
||||||
helper.padInner$.fx.off = true;
|
helper.padInner$.fx.off = true;
|
||||||
|
|
||||||
/*
|
|
||||||
* chat messages received
|
|
||||||
* @type {Array}
|
|
||||||
*/
|
|
||||||
helper.chatMessages = [];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* changeset commits from the server
|
|
||||||
* @type {Array}
|
|
||||||
*/
|
|
||||||
helper.commits = [];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* userInfo messages from the server
|
|
||||||
* @type {Array}
|
|
||||||
*/
|
|
||||||
helper.userInfos = [];
|
|
||||||
|
|
||||||
// listen for server messages
|
|
||||||
helper.spyOnSocketIO();
|
|
||||||
|
|
||||||
return opts.id;
|
return opts.id;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue