diff --git a/st/prettify/run_prettify.js b/st/prettify/run_prettify.js index 7c907b6dc..ef809657f 100644 --- a/st/prettify/run_prettify.js +++ b/st/prettify/run_prettify.js @@ -30,7 +30,7 @@ */ (function(){function aa(g){function r(){try{L.doScroll("left")}catch(ba){k.setTimeout(r,50);return}x("poll")}function x(r){if("readystatechange"!=r.type||"complete"==z.readyState)("load"==r.type?k:z)[B](n+r.type,x,!1),!l&&(l=!0)&&g.call(k,r.type||r)}var X=z.addEventListener,l=!1,E=!0,v=X?"addEventListener":"attachEvent",B=X?"removeEventListener":"detachEvent",n=X?"":"on";if("complete"==z.readyState)g.call(k,"lazy");else{if(z.createEventObject&&L.doScroll){try{E=!k.frameElement}catch(ba){}E&&r()}z[v](n+ "DOMContentLoaded",x,!1);z[v](n+"readystatechange",x,!1);k[v](n+"load",x,!1)}}function T(){U&&aa(function(){var g=M.length;ca(g?function(){for(var r=0;r=c?parseInt(e.substring(1),8):"u"===c||"x"===c?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e); return"\\"===e||"-"===e||"]"===e||"^"===e?"\\"+e:e}function c(e){var c=e.substring(1,e.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));e=[];var a="^"===c[0],b=["["];a&&b.push("^");for(var a=a?1:0,h=c.length;ap||122p||90p||122 window.__runWithAttack(a)); +const getDuration = ClientFunction(() => window.__duration__); +const getStatus = ClientFunction(() => window.__status__); + +test('run_prettify.js completes within 2000ms', async t => { + const attack = '?'.repeat(10000) + '='; + await runWithAttack(attack); + await t.expect(getDuration()).ok({ timeout: 15000 }); + const status = await getStatus(); + const ms = await getDuration(); + await t.expect(ms).gt(0, `status=${status}`); + await t.expect(ms).lt(2000, `status=${status}`); +}); +