fune/remote/shared/messagehandler/test/browser/resources/modules/windowglobal/sessiondataupdate.sys.mjs
Julian Descottes 987247c956 Bug 1806820 - [remote] Refactor session data broadcast test r=webdriver-reviewers,Sasha,whimboo
The current test had complicated logic in the test module "command.sys.mjs" which means we were asserting the test module more than the actual behavior of MessageHandler/SessionData.

Instead, we use a simpler test module, and precisely assert all the updates we receive for session data updates. Also taking the opportunity to add some tests when updating session data items from several categories.

Differential Revision: https://phabricator.services.mozilla.com/D166969
2023-01-20 11:09:08 +00:00

33 lines
866 B
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { Module } from "chrome://remote/content/shared/messagehandler/Module.sys.mjs";
class SessionDataUpdateModule extends Module {
#sessionDataUpdates;
constructor(messageHandler) {
super(messageHandler);
this.#sessionDataUpdates = [];
}
destroy() {}
/**
* Commands
*/
_applySessionData(params) {
const filteredSessionData = params.sessionData.filter(item =>
this.messageHandler.matchesContext(item.contextDescriptor)
);
this.#sessionDataUpdates.push(filteredSessionData);
}
getSessionDataUpdates() {
return this.#sessionDataUpdates;
}
}
export const sessiondataupdate = SessionDataUpdateModule;