| <!DOCTYPE html> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script> |
| async_test(t => { |
| const xhr = new XMLHttpRequest(); |
| xhr.open('GET', 'resources/get.txt'); |
| xhr.onload = t.step_func(() => { |
| assert_equals(xhr.responseText, 'PASS'); |
| t.done(); |
| }); |
| |
| assert_throws_dom('SyntaxError', () => { |
| xhr.open('FOO BAR', 'nonexistent'); |
| }, 'open() should throw for a SyntaxError for an invalid method'); |
| |
| xhr.send(); |
| }, 'open() with an invalid method is no-op'); |
| |
| async_test(t => { |
| const xhr = new XMLHttpRequest(); |
| xhr.open('GET', 'resources/get.txt'); |
| xhr.onload = t.step_func(() => { |
| assert_equals(xhr.responseText, 'PASS'); |
| t.done(); |
| }); |
| |
| assert_throws_dom('SecurityError', () => { |
| xhr.open('CONNECT', 'nonexistent'); |
| }, 'open() should throw for a SecurityError for a forbidden method'); |
| |
| xhr.send(); |
| }, 'open() with a forbidden method is no-op'); |
| |
| async_test(t => { |
| const xhr = new XMLHttpRequest(); |
| xhr.open('GET', 'resources/get.txt'); |
| xhr.onload = t.step_func(() => { |
| assert_equals(xhr.responseText, 'PASS'); |
| t.done(); |
| }); |
| |
| assert_throws_dom('SyntaxError', () => { |
| xhr.open('GET', 'http://localhost:foobar/'); |
| }, 'open() should throw for a SyntaxError for an invalid URL'); |
| |
| xhr.send(); |
| }, 'open() with an invalid URL is no-op'); |
| </script> |