test-worker.js (1160B)
1 "use strict"; 2 3 console.log("initial-message-from-worker", { foo: "bar" }, globalThis); 4 5 self.addEventListener("message", function onMessage(event) { 6 const { type, message } = event.data; 7 8 // Override Date.prototype.getTime and RegExp.toString to make sure those are not 9 // called when logging to the console (see Bug 1892638) 10 const date = new Date(2024, 0, 1); 11 date.getTime = () => { 12 return 42; 13 }; 14 // eslint-disable-next-line no-extend-native 15 Date.prototype.getTime = date.getTime; 16 const regexp = /foo/m; 17 regexp.toString = () => { 18 return "24"; 19 }; 20 21 switch (type) { 22 case "log": 23 console.log(message); 24 break; 25 case "error": 26 throw new Error(message); 27 case "log-objects": 28 console.log("log-from-worker", message, globalThis); 29 console.log(Symbol("logged-symbol-from-worker")); 30 console.log(["array-item", 42, { key: "value" }]); 31 console.log("sab-from-worker", event.data.sab); 32 33 /* Check if page functions can be called by console previewers */ 34 console.log("date-from-worker", date); 35 console.log("regexp-from-worker", regexp, /not-overloaded/g); 36 break; 37 } 38 });