Branch data Line data Source code
1 [ + ]: 2 : import assert from 'node:assert/strict'; 2 : 2 : import { XMLHttpRequest } from '../../../lib/whatwg-xhr.js'; 3 : 2 : 4 : 2 : import { prepare_xhr_for_event_order_test } from './xmlhttprequest-event-order.js?q4'; 5 : 2 : import { assert_xhr_event_order_matches } from './xmlhttprequest-event-order.js?q4'; 6 : 2 : 7 [ + ]: 2 : export default (activeURL) => { 8 : 1 : 9 : 1 : let xhr = new XMLHttpRequest(); 10 : 1 : 11 : 1 : prepare_xhr_for_event_order_test(xhr); 12 : 1 : 13 [ + ]: 1 : xhr.addEventListener('readystatechange', () => { 14 [ - ]: 3 : if(xhr.readyState === 3){ 15 : 0 : assert.strictEqual(xhr.response, ''); 16 : 0 : } 17 : 1 : }); 18 : 1 : 19 [ + ]: 1 : xhr.addEventListener('loadend', (e) => { 20 : 1 : assert_xhr_event_order_matches([ 21 : 1 : 1, 22 : 1 : `loadstart(0,0,false)`, 23 : 1 : 2, 24 : 1 : `progress(0,0,false)`, 25 : 1 : 4, 26 : 1 : `load(0,0,false)`, 27 : 1 : `loadend(0,0,false)` 28 : 1 : ]); 29 : 1 : }); 30 : 1 : 31 : 1 : xhr.upload.onloadend = () => {}; 32 : 1 : 33 : 1 : xhr.open('POST', `${activeURL}/content.py`, true); 34 : 1 : xhr.send(); 35 : 1 : } 36 : 2 : 37 : 2 : /* 38 : 2 : * send-no-response-event-order.htm 39 : 2 : * 40 : 2 : 41 : 2 : <!DOCTYPE html> 42 : 2 : <html> 43 : 2 : <head> 44 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#handler-xhr-onloadstart" data-tested-assertations="../.." /> 45 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#handler-xhr-onloadend" data-tested-assertations="../.." /> 46 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#event-xhr-loadstart" data-tested-assertations="../.." /> 47 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#event-xhr-loadend" data-tested-assertations="../.." /> 48 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following-sibling::ol/li[9]/ol/li[2]" /> 49 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[10] following::a[contains(@href,'#switch-done')]/.." /> 50 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#switch-done" data-tested-assertations="following::ol[1]/li[3] following::ol[1]/li[4] following::ol[1]/li[6] following::ol[1]/li[7]" /> 51 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-response-attribute" data-tested-assertations="following-sibling::ol/li[1]" /> 52 : 2 : <script src="/resources/testharness.js"></script> 53 : 2 : <script src="/resources/testharnessreport.js"></script> 54 : 2 : <script src="resources/xmlhttprequest-event-order.js"></script> 55 : 2 : <title>XMLHttpRequest: The send() method: event order when there is no response entity body</title> 56 : 2 : </head> 57 : 2 : 58 : 2 : <body> 59 : 2 : <div id="log"></div> 60 : 2 : 61 : 2 : <script type="text/javascript"> 62 : 2 : var test = async_test(); 63 : 2 : 64 : 2 : test.step(function() 65 : 2 : { 66 : 2 : var xhr = new XMLHttpRequest(); 67 : 2 : prepare_xhr_for_event_order_test(xhr); 68 : 2 : 69 : 2 : xhr.addEventListener("readystatechange", test.step_func(function() { 70 : 2 : if (xhr.readyState == 3) { 71 : 2 : assert_equals(xhr.response, ""); 72 : 2 : } 73 : 2 : })); 74 : 2 : 75 : 2 : xhr.addEventListener("loadend", test.step_func(function(e) { 76 : 2 : assert_xhr_event_order_matches([1, "loadstart(0,0,false)", 2, "progress(0,0,false)", 4,"load(0,0,false)", "loadend(0,0,false)"]); 77 : 2 : test.done(); 78 : 2 : })); 79 : 2 : 80 : 2 : xhr.open("POST", "./resources/content.py", true); 81 : 2 : xhr.send(); 82 : 2 : }); 83 : 2 : </script> 84 : 2 : </body> 85 : 2 : </html> 86 : 2 : 87 : 2 : * 88 : 2 : * send-no-response-event-order.htm 89 : 2 : */