setinterval-settimeout-clamping.html (870B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <meta name="assert" content ="setTimeout and setInterval sequencing is correct even with 0 timeout"> 4 <link rel="help" href="https://html.spec.whatwg.org/#run-steps-after-a-timeout" /> 5 <script src=/resources/testharness.js></script> 6 <script src=/resources/testharnessreport.js></script> 7 8 <script> 9 async_test(t => { 10 let done = false; 11 const id = setInterval(() => { 12 done = true; 13 }, 0); 14 t.add_cleanup(() => clearInterval(id)); 15 16 setTimeout(t.step_func(() => { 17 assert_true(done); 18 t.done(); 19 }), 0); 20 }, "setInterval(0) before setTimeout(0)"); 21 22 async_test(t => { 23 let done = false; 24 setTimeout(() => { 25 done = true; 26 }, 0); 27 28 const id = setInterval(t.step_func(() => { 29 assert_true(done); 30 t.done(); 31 }), 0); 32 t.add_cleanup(() => clearInterval(id)); 33 }, "setTimeout(0) before setInterval(0)"); 34 </script>