<!
DOCTYPE HTML >
<
html >
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1142577
-->
<
head >
<
meta charset=
"utf-8" >
<
title >Test for Bug 1142577 - Async stacks for setTimeout</
title >
<
script src=
"/tests/SimpleTest/SimpleTest.js" ></
script >
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
</
head >
<
body >
<a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=1142577 " >Mozil
la Bug 1142577</a>
<pre id="stack" ></pre >
<script type="application/javascript" >
SimpleTest.waitForExplicitFinish();
SimpleTest.requestFlakyTimeout("Testing async stacks across setTimeout" );
function getFunctionName(frame ) {
return frame .slice(0, frame .indexOf("@" ));
}
function a() { b() }
function b() { c() }
function c() { setTimeout(d, 1) }
function d() { e() }
function e() { f() }
function f() { setTimeout(g, 1) }
function g() { h() }
function h() { i() }
function i() {
var stackString = Error().stack;
document.getElementById("stack" ).textContent = stackString;
var frames = stackString
.split("\n" )
.map (getFunctionName)
.filter(function (name) { return !!name; });
is(frames[0], "i" );
is(frames[1], "h" );
is(frames[2], "g" );
is(frames[3], "setTimeout handler*SimpleTest_setTimeoutShim" );
is(frames[4], "f" );
is(frames[5], "e" );
is(frames[6], "d" );
is(frames[7], "setTimeout handler*SimpleTest_setTimeoutShim" );
is(frames[8], "c" );
is(frames[9], "b" );
is(frames[10], "a" );
SimpleTest.finish();
}
SpecialPowers.pushPrefEnv(
{"set" : [['javascript.options.asyncstack_capture_debuggee_only' , false]]},
a);
</script >
</body >
</html >
Messung V0.5 C=94 H=98 G=95
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland