pause-remove-from-document-networkState.html (1023B)
1 <!doctype html> 2 <title>paused state when removing from a document when networkState is NETWORK_EMPTY</title> 3 <meta name="timeout" content="long" /> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <div id="log"></div> 7 <video hidden></video> 8 <script> 9 // Negative test for the specified behavior prior to HTML r8447. 10 promise_test(async function(t) { 11 var v = document.querySelector('video'); 12 var watcher = new EventWatcher(t, v, [ 'pause' ]); 13 var p = v.play(); 14 15 await new Promise(resolve => t.step_timeout(resolve, 0)); 16 assert_equals(v.networkState, v.NETWORK_EMPTY, 17 'networkState after stable state'); 18 assert_false(v.paused, 'paused after stable state'); 19 v.parentNode.removeChild(v); 20 assert_false(v.paused, 'paused after removing'); 21 22 await watcher.wait_for('pause'); 23 24 await promise_rejects_dom(t, 'AbortError', p, 'We expect promise being rejected'); 25 assert_true(v.paused, 'paused after removing and stable state'); 26 }); 27 </script>