v1
1/3/2024 by dfs_kate -00
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
const loggerFormat = '%cwarn%c %cdata.wm.LoginState%c';
const formatArgs = [
    "font-weight: normal; text-transform: lowercase; padding: 0 3px; border-radius: 5px; color: hsl(54 100% 20%); background-color: hsl(54 100% 50%);",
    '',
    "font-weight: normal; color: #888;",
    ''
];

function createOnDemandLogProxy(B,...C){const A=console.log.bind(console,B,...C);return new Proxy(A,{get:function(t,p){if(typeof p==='string'){return console.log.bind(console,B+" "+p,...C)}else{return t[p]}}})}function createReflectLogProxy(B,...C){const A=console.log.bind(console,B,...C);return new Proxy(A,{get:function(t,p){if(typeof p==='string'&&!Reflect.has(t,p)){return console.log.bind(console,B+" "+p,...C)}else{return Reflect.get(t,p)}}})}function createPropCachingLogProxy(B,...C){const A=console.log.bind(console,B,...C);return new Proxy(A,{get:function(t,p){if(typeof p==='string'&&!Reflect.has(t,p)){const D=console.log.bind(console,B+" "+p,...C);Reflect.set(t,p,D);return D}else{return Reflect.get(t,p)}}})}function createMapCachingLogProxy(B,...C){const A=console.log.bind(console,B,...C);const logCache=new Map();return new Proxy(A,{get:function(t,p){if(typeof p==='string'&&!Reflect.has(t,p)){let D=logCache.get(p);if(!D){D=console.log.bind(console,B+" "+p,...C);logCache.set(p,D)}return D}else{return Reflect.get(t,p)}}})}

const consoleStatic = console.log.bind(console, loggerFormat, ...formatArgs);
function consoleOnDemand() {
  return console.log.bind(console, loggerFormat, ...formatArgs);
}
function consoleDynamic(extra) {
  return console.log.bind(console, loggerFormat + " " + extra, ...formatArgs);
}
const consoleOnDemandProxy = createOnDemandLogProxy(loggerFormat, ...formatArgs);
const consoleReflectProxy = createReflectLogProxy(loggerFormat, ...formatArgs);
const consolePropCachingProxy = createPropCachingLogProxy(loggerFormat, ...formatArgs);
const consoleMapCachingProxy = createMapCachingLogProxy(loggerFormat, ...formatArgs);

let i = 0;
delete caserun single casemove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consolePropCachingProxy[extraFormat]("some message");
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleOnDemand()("some message" + extraFormat);
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleMapCachingProxy[extraFormat]("some message");
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleOnDemandProxy("some message" + extraFormat);
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleOnDemandProxy["x y"]("some message" + extraFormat);
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleOnDemandProxy[extraFormat]("some message");
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleReflectProxy[extraFormat]("some message");
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleDynamic(extraFormat)("some message");
delete caserun single casemove upmove downdrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
consoleStatic("some message" + extraFormat);
delete caserun single casemove updrag and drop case


ready



let extraFormat = `logger ${i++ % 100}`;
console.log(loggerFormat, ...formatArgs, "some message" + extraFormat);
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN