<!DOCTYPE html>
<html>
<head>
<script src="../../../http/tests/inspector/resources/inspector-test.js"></script>
<script src="resources/stack-trace-utilities.js"></script>
<script src="resources/tail-deleted-frames-this-value.js"></script>
<script>
function test()
{
    let suite = InspectorTest.createAsyncSuite("Debugger.TailDeletedFrames.ThisValue");

    suite.addTestCase({
        name: "Debugger.TailDeletedFrames.Scopes",
        description: "Ensure thisObject in tail deleted frames",
        async test() {
            // Trigger breakpoint.
            InspectorTest.evaluateInPage(`startABC()`);

            // Dump stack when paused.
            await WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Paused);
            InspectorTest.log("PAUSED");
            await logAsyncStackTrace({includeThisObject:true});

            // Resume and end test.
            WI.debuggerManager.resume();
            await WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Resumed);
            InspectorTest.log("RESUMED");
        }
    });

    suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Ensure proper this value in tail deleted frames.</p>
</body>
</html>
