{"ScriptPreparationCode":"function escapeRegExp(string) {\r\n return string.replace(/[.*\u002B?^${}()|[\\]\\\\]/g, \u0027\\\\$\u0026\u0027); // $\u0026 means the whole matched string\r\n}","TestCases":[{"Name":"Includes","Code":"const headerName = \u002723434\u0142dfwfwfweffwefwefe\u0027;\r\nconst HTTP_HEADER_NAME_CHARS = \u0027!#$%\u0026*\u002B-.0123456789ABCDEFGHIJKLMNOPQRSTUWVXYZ^_\u0060abcdefghijklmnopqrstuvwxyz|~\u0027;\r\nfor (const character of headerName) {\r\n if (!HTTP_HEADER_NAME_CHARS.includes(character)) {\r\n return character;\r\n }\r\n }\r\n return null;","IsDeferred":false},{"Name":"Regexp","Code":"const headerName = \u002723434\u0142dfwfwfweffwefwefe\u0027;\r\nconst HTTP_HEADER_NAME_CHARS = \u0027!#$%\u0026*\u002B-.0123456789ABCDEFGHIJKLMNOPQRSTUWVXYZ^_\u0060abcdefghijklmnopqrstuvwxyz|~\u0027;\r\nconst reg = new RegExp(\u0027^[\u0027 \u002B escapeRegExp(HTTP_HEADER_NAME_CHARS) \u002B \u0027]$\u0027);\r\nreg.test(headerName);","IsDeferred":false}]}