<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Long Animation Frame Timing: promise resolvers</title>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="resources/utils.js"></script>

<body>
<h1>Long Animation Frame: promise resolvers</h1>
<div id="log"></div>
<script type="module">

const {REMOTE_ORIGIN} = get_host_info();

test_promise_script(async t => {
    await fetch("/common/dummy.xml");
    busy_wait(very_long_frame_duration);
}, "resolve", "Window.fetch.then");

test_promise_script(async t => {
    const response = await fetch("/common/dummy.xml");
    await response.text();
    busy_wait(very_long_frame_duration);
}, "resolve", "Response.text.then");

test_promise_script(async t => {
    const response = await fetch("/common/dummy.xml");
    await response.arrayBuffer();
    busy_wait(very_long_frame_duration);
}, "resolve", "Response.arrayBuffer.then");

test_promise_script(async t => {
    const response = await fetch("/fetch/api/resources/data.json");
    await response.json();
    busy_wait(very_long_frame_duration);
}, "resolve", "Response.json.then");

test_promise_script(async t => {
    const response = await import("/loading/resources/dummy.js");
    busy_wait(very_long_frame_duration);
}, "resolve", "import.then");

test_promise_script(async t => {
    fetch(new URL("/common/dummy.xml", REMOTE_ORIGIN).href, {mode: "cors"})
        .catch(() => {
            busy_wait(very_long_frame_duration);
        })
}, "reject", "Window.fetch.catch" );
</script>
</body>
