blob: 63594564dff0f5e4e3ea3ffdecf3bbc203910695 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
<script>
function createUnhandledPromise() {
window.addEventListener("unhandledrejection", (event) => {
console.log("unhandledrejection - " + JSON.stringify(event.reason));
console.assert(event.promise === rejectedPromiseTest, "unhandledrejection promise should be rejectedPromiseTest.");
setTimeout(() => {
window.rejectedPromiseTest.catch((value) => {
console.log("caught - " + JSON.stringify(value));
});
});
});
window.addEventListener("rejectionhandled", (event) => {
console.log("rejectionhandled - " + JSON.stringify(event.reason));
TestPage.dispatchEventToFrontend("rejectionhandled");
});
window.rejectedPromiseTest = Promise.reject("test");
console.log(window.rejectedPromiseTest); // Ensure that the injected script sees the `Promise`.
}
function test()
{
ProtocolTest.awaitEvent("rejectionhandled")
.then(() => {
ProtocolTest.completeTest();
});
ProtocolTest.evaluateInPage(`createUnhandledPromise()`)
.catch((e) => {
ProtocolTest.fail(e);
});
}
</script>
</head>
<body onload="runTest()">
<p>Tests that the injected script only `.then()`s promises if they are returned by native getters.</p>
</body>
</html>