<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../../http/tests/inspector/resources/inspector-test.js"></script>
<script src="resources/remote-object-utilities.js"></script>
<script>
if (window.internals)
    window.internals.settings.setUnhandledPromiseRejectionToConsoleEnabled(false);

function test()
{
    let steps = [
        // Promise
        {expression: `new Promise(function(){})`},
        {expression: `Promise.reject()`},
        {expression: `Promise.reject("result")`},
        {expression: `Promise.resolve()`},
        {expression: `Promise.resolve({result:1})`},
    ];

    if (!window.WI) {
        window.steps = steps;
        return;
    }

    runSteps(steps);
}
</script>
</head>
<body onload="runTest(); runInBrowserTest();"></body>
</html>
