Mock .matchMedia in global/window

This commit is contained in:
Miguel de Benito Delgado 2025-05-26 16:26:43 +00:00
parent fab9e842e8
commit 96d099b71e
2 changed files with 18 additions and 12 deletions

View file

@ -17,7 +17,7 @@
goog.provide("app.util.globals");
goog.scope(function() {
goog.scope(function () {
app.util.globals.global = goog.global;
function createGlobalEventEmitter(k) {
@ -25,22 +25,27 @@ goog.scope(function() {
* may subscribe to them.
*/
return {
addListener(...args) {
},
removeListener(...args) {
},
addEventListener(...args) {
},
removeEventListener(...args) {
}
}
addListener(...args) {},
removeListener(...args) {},
addEventListener(...args) {},
removeEventListener(...args) {},
dispatchEvent(...args) { return true; },
};
}
app.util.globals.window = (function() {
app.util.globals.window = (function () {
if (typeof goog.global.window !== "undefined") {
return goog.global.window;
} else {
return createGlobalEventEmitter();
const mockWindow = createGlobalEventEmitter();
mockWindow.matchMedia = function (query) {
const mediaObj = createGlobalEventEmitter();
mediaObj.matches = false;
mediaObj.media = query;
mediaObj.onchange = null;
return mediaObj;
};
return mockWindow;
}
})();