OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
4 <script type="text/javascript"> | 4 <script type="text/javascript"> |
5 var test = async_test('Test canceling XMLHttpRequest with responseType set to "s
tream".'); | 5 var test = async_test('Test canceling XMLHttpRequest with responseType set to "s
tream".'); |
6 | 6 |
7 test.step(function() | 7 test.step(function() |
8 { | 8 { |
9 var xhr = new XMLHttpRequest; | 9 var xhr = new XMLHttpRequest; |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 case xhr.HEADERS_RECEIVED: | 29 case xhr.HEADERS_RECEIVED: |
30 assert_equals(xhr.response, null, 'xhr.response during HEADERS_RECEI
VED'); | 30 assert_equals(xhr.response, null, 'xhr.response during HEADERS_RECEI
VED'); |
31 return; | 31 return; |
32 | 32 |
33 case xhr.LOADING: | 33 case xhr.LOADING: |
34 var stream = xhr.response; | 34 var stream = xhr.response; |
35 assert_true(stream instanceof ReadableStream, | 35 assert_true(stream instanceof ReadableStream, |
36 'xhr.response should be ReadableStream during LOADING'); | 36 'xhr.response should be ReadableStream during LOADING'); |
37 stream.cancel('canceled via ReadableStream.cancel'); | 37 stream.cancel('canceled via ReadableStream.cancel'); |
38 assert_equals(stream.state, 'closed', 'stream.state after cancel'); | |
39 | 38 |
40 // Check that we saw all states. | 39 // Check that we saw all states. |
41 assert_array_equals(seenStates, | 40 assert_array_equals(seenStates, |
42 [xhr.OPENED, xhr.HEADERS_RECEIVED, xhr.LOADING,
xhr.DONE]); | 41 [xhr.OPENED, xhr.HEADERS_RECEIVED, xhr.LOADING,
xhr.DONE]); |
43 | 42 |
44 assert_equals(xhr.readyState, xhr.UNSENT, 'xhr.readyState after canc
el'); | 43 assert_equals(xhr.readyState, xhr.UNSENT, 'xhr.readyState after canc
el'); |
45 assert_equals(xhr.response, null, 'xhr.response after cancel'); | 44 assert_equals(xhr.response, null, 'xhr.response after cancel'); |
46 stream.closed.then(test.step_func(function(value) { | 45 stream.closed.then(function(value) { |
47 assert_equals(value, undefined, | 46 assert_equals(value, undefined, |
48 'stream.closed should be resolved with undefined'); | 47 'stream.closed should be resolved with undefined'); |
49 test.done(); | 48 test.done(); |
50 }), test.step_func(function() { | 49 }).catch(test.step_func(function(e) { |
51 assert_unreached('stream.closed should not be rejected'); | 50 assert_unreached('stream.closed should not be rejected: ' + e); |
52 })); | 51 })); |
53 | 52 |
54 case xhr.DONE: | 53 case xhr.DONE: |
55 return; | 54 return; |
56 | 55 |
57 default: | 56 default: |
58 assert_unreached('Unexpected readyState: ' + xhr.readyState) | 57 assert_unreached('Unexpected readyState: ' + xhr.readyState) |
59 return; | 58 return; |
60 } | 59 } |
61 }); | 60 }); |
62 | 61 |
63 xhr.open('GET', '../resources/load-and-stall.php?name=test.ogv&stallAt=32768
&stallFor=10', true); | 62 xhr.open('GET', '../resources/load-and-stall.php?name=test.ogv&stallAt=32768
&stallFor=10', true); |
64 xhr.send(); | 63 xhr.send(); |
65 }); | 64 }); |
66 </script> | 65 </script> |
OLD | NEW |