tests: Factor out duplicate getFrameJQuery()

This commit is contained in:
Richard Hansen 2021-07-22 13:33:48 -04:00 committed by webzwo0i
parent 42026ff771
commit ff39eeafca
2 changed files with 10 additions and 39 deletions

View file

@ -34,11 +34,11 @@ helper.multipleUsers = {
},
async _loadJQueryForUser1Frame() {
this._user1.padChrome$ = await getFrameJQuery(this._user1.$frame, true);
this._user1.padChrome$ = await helper.getFrameJQuery(this._user1.$frame, true);
this._user1.padOuter$ =
await getFrameJQuery(this._user1.padChrome$('iframe[name="ace_outer"]'), false);
await helper.getFrameJQuery(this._user1.padChrome$('iframe[name="ace_outer"]'), false);
this._user1.padInner$ =
await getFrameJQuery(this._user1.padOuter$('iframe[name="ace_inner"]'), true);
await helper.getFrameJQuery(this._user1.padOuter$('iframe[name="ace_inner"]'), true);
// update helper vars now that they are available
helper.padChrome$ = this._user1.padChrome$;
@ -79,37 +79,6 @@ helper.multipleUsers = {
},
};
// copied from helper.js
const getFrameJQuery = async ($iframe, includeSendkeys = false) => {
const win = $iframe[0].contentWindow;
const doc = win.document;
const load = async (url) => {
const elem = doc.createElement('script');
elem.setAttribute('src', url);
const p = new Promise((resolve, reject) => {
const handler = (evt) => {
elem.removeEventListener('load', handler);
elem.removeEventListener('error', handler);
if (evt.type === 'error') return reject(new Error(`failed to load ${url}`));
resolve();
};
elem.addEventListener('load', handler);
elem.addEventListener('error', handler);
});
doc.head.appendChild(elem);
await p;
};
if (!win.$) await load('../../static/js/vendors/jquery.js');
if (!win.bililiteRange && includeSendkeys) await load('../tests/frontend/lib/sendkeys.js');
win.$.window = win;
win.$.document = doc;
return win.$;
};
const getCookies =
() => helper.padChrome$.window.require('ep_etherpad-lite/static/js/pad_utils').Cookies;