{"ScriptPreparationCode":"/*your preparation JavaScript code goes here\r\nTo execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/\r\nasync function globalMeasureThatScriptPrepareFunction() {\r\n // This function is optional, feel free to remove it.\r\n // await someThing();\r\n}","TestCases":[{"Name":"Split \u002B filter Classname","Code":"let element = document.getElementById(\u0022foo\u0022);\r\nlet i = 1000;\r\nwhile (i--) {\r\n\tconst classes = element.className.split(/\\s\u002B/g)\r\n if (classes.length) {\r\n let selector = \u0060${classes.join(\u0027.\u0027)}\u0060;\r\n if (selector.endsWith(\u0027.\u0027)) {\r\n selector = \u0060.${selector.slice(0, -1)}\u0060;\r\n }\r\n }\r\n}","IsDeferred":false},{"Name":"Trim \u002B replace ClassName","Code":"let element = document.getElementById(\u0022foo\u0022);\r\nlet i = 1000;\r\nwhile (i--) {\r\n\tlet selector = \u0022.\u0022 \u002B element.className.trim().replace(/\\s\u002B/g, \u0027.\u0027);\r\n}","IsDeferred":false},{"Name":"No Trim - Replace CLassName","Code":"let element = document.getElementById(\u0022foo\u0022);\r\nlet i = 1000;\r\nwhile (i--) {\r\n\tlet selector = \u0022.\u0022 \u002B element.className.replace(/\\s\u002B/g, \u0027.\u0027);\r\n if (selector.endsWith(\u0027.\u0027)) {\r\n selector = selector.slice(0, -1);\r\n }\r\n}","IsDeferred":false}]}