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 : export default (activeURL) => { 5 : 1 : 6 : 1 : let xhr = new XMLHttpRequest(); 7 : 1 : 8 : 1 : method('track'); 9 : 1 : method('TRACK'); 10 : 1 : method('trAck'); 11 : 1 : method('TRACE'); 12 : 1 : method('trace'); 13 : 1 : method('traCE'); 14 : 1 : method('connect'); 15 : 1 : method('CONNECT'); 16 : 1 : method('connECT'); 17 : 1 : 18 [ + ]: 1 : function method(method){ 19 : 9 : assert.throws( 20 [ + ]: 9 : () => { 21 : 9 : xhr.open(method, '...'); 22 : 9 : }, 23 [ + ]: 9 : (err) => { 24 : 9 : assert(err instanceof DOMException, 'DOMException expected'); 25 : 9 : assert(err.name === 'SecurityError', 'SecurityError expected'); 26 : 9 : 27 : 9 : return true; 28 : 9 : } 29 : 9 : ); 30 : 9 : } 31 : 1 : } 32 : 2 : 33 : 2 : /* 34 : 2 : * open-method-insecure.mjs 35 : 2 : * 36 : 2 : 37 : 2 : <!DOCTYPE html> 38 : 2 : <html> 39 : 2 : <head> 40 : 2 : <title>XMLHttpRequest: open() - "insecure" methods</title> 41 : 2 : <script src="/resources/testharness.js"></script> 42 : 2 : <script src="/resources/testharnessreport.js"></script> 43 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::ol/li[5] following::ol/li[6]" /> 44 : 2 : </head> 45 : 2 : <body> 46 : 2 : <div id="log"></div> 47 : 2 : <script> 48 : 2 : function method(method) { 49 : 2 : test(function() { 50 : 2 : var client = new XMLHttpRequest() 51 : 2 : assert_throws_dom("SecurityError", function() { client.open(method, "...") }) 52 : 2 : }, document.title + " (" + method + ")") 53 : 2 : } 54 : 2 : method("track") 55 : 2 : method("TRACK") 56 : 2 : method("trAck") 57 : 2 : method("TRACE") 58 : 2 : method("trace") 59 : 2 : method("traCE") 60 : 2 : method("connect") 61 : 2 : method("CONNECT") 62 : 2 : method("connECT") 63 : 2 : </script> 64 : 2 : </body> 65 : 2 : </html> 66 : 2 : 67 : 2 : * 68 : 2 : * open-method-insecure.mjs 69 : 2 : */