4 <script src=
"../resources/testharness.js"></script>
5 <script src=
"../resources/testharnessreport.js"></script>
6 <script type=
"text/javascript">
7 // FIXME: Check loading from Stream after abort once loading API is ready.
8 var testInLoadingState
= async_test("Test aborting XMLHttpRequest with responseType set to 'stream' in LOADING state.");
10 testInLoadingState
.step(function()
12 var xhr
= new XMLHttpRequest
;
14 xhr
.responseType
= "legacystream";
18 xhr
.onreadystatechange
= testInLoadingState
.step_func(function() {
19 // onreadystatechange can be invoked multiple times in LOADING state.
20 if (seenStates
.length
== 0 || xhr
.readyState
!= seenStates
[seenStates
.length
- 1])
21 seenStates
.push(xhr
.readyState
);
23 switch (xhr
.readyState
) {
25 assert_unreached('Unexpected readyState: UNSENT');
29 case xhr
.HEADERS_RECEIVED
:
35 assert_equals(xhr
.readyState
, xhr
.DONE
, "xhr.readyState after abort() call");
36 assert_equals(xhr
.response
, null, "xhr.response after abort() call");
40 assert_array_equals(seenStates
, [xhr
.OPENED
, xhr
.HEADERS_RECEIVED
, xhr
.LOADING
, xhr
.DONE
]);
41 testInLoadingState
.done();
45 assert_unreached('Unexpected readyState: ' + xhr
.readyState
);
50 xhr
.open('GET', '../resources/test.ogv', true);
54 var testInDoneState
= async_test("Test aborting XMLHttpRequest with responseType set to 'stream' in DONE state.");
56 testInDoneState
.step(function()
58 var xhr
= new XMLHttpRequest
;
60 xhr
.responseType
= "legacystream";
64 xhr
.onreadystatechange
= testInDoneState
.step_func(function() {
65 // onreadystatechange can be invoked multiple times in LOADING state.
66 if (seenStates
.length
== 0 || xhr
.readyState
!= seenStates
[seenStates
.length
- 1])
67 seenStates
.push(xhr
.readyState
);
69 switch (xhr
.readyState
) {
72 case xhr
.HEADERS_RECEIVED
:
77 assert_equals(xhr
.status
, 200, "xhr.status");
78 assert_not_equals(xhr
.response
, null, "xhr.response during DONE");
82 assert_equals(xhr
.readyState
, xhr
.UNSENT
, "xhr.readyState after abort() call");
83 assert_equals(xhr
.response
, null, "xhr.response after abort() call");
85 assert_array_equals(seenStates
, [xhr
.OPENED
, xhr
.HEADERS_RECEIVED
, xhr
.LOADING
, xhr
.DONE
]);
86 testInDoneState
.done();
90 assert_unreached('Unexpected readyState: ' + xhr
.readyState
);
95 xhr
.open('GET', '../resources/test.ogv', true);