| <!DOCTYPE html> |
| |
| <script src="/js-test-resources/js-test.js"></script> |
| <script> |
| description('Test for ArrayBuffer POST in XMLHttpRequest send'); |
| window.jsTestIsAsync = true; |
| |
| new Promise(function(resolve, reject) { |
| var array = new Uint8Array([0, 1, 2, 25, 45, 58, 255]); |
| var xhr = new XMLHttpRequest; |
| xhr.open('POST', 'resources/post-echo-as-ascii.cgi', true); |
| xhr.onreadystatechange = function() { |
| if (xhr.readyState === 4) { |
| debug('xhr.readyState = ' + xhr.readyState + ': responseURL = ' + xhr.responseURL); |
| resolve(xhr); |
| } |
| } |
| xhr.send(new DataView(array.buffer)); |
| }).then(function(xhr) { |
| window.status = xhr.status; |
| shouldBeEqualToString('status', '200'); |
| responseText = xhr.responseText; |
| shouldBeEqualToString('responseText', '0 1 2 25 45 58 255'); |
| }).catch(function(reason) { |
| testFailed(String(reason)); |
| }).then(finishJSTest, finishJSTest); |
| |
| </script> |