Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Side by Side Diff: LayoutTests/http/tests/xmlhttprequest/response-stream-abort.html

Issue 18883002: Add Streams API support to XMLHttpRequest (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Changed order of cancellation Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <body>
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 responseT ype set to 'stream' in LOADING state.");
9
10 testInLoadingState.step(function()
11 {
12 var xhr = new XMLHttpRequest;
13
14 xhr.responseType = "stream";
15
16 var seenStates = [];
17
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.le ngth - 1])
21 seenStates.push(xhr.readyState);
22
23 switch (xhr.readyState) {
24 case xhr.UNSENT:
25 assert_unreached('Unexpected readyState: UNSENT');
26 return;
27
28 case xhr.OPENED:
29 case xhr.HEADERS_RECEIVED:
30 return;
31
32 case xhr.LOADING:
33 xhr.abort();
34
35 assert_equals(xhr.readyState, xhr.DONE, "xhr.readyState after abort( ) call");
36 assert_equals(xhr.response, null, "xhr.response after abort() call") ;
37 return;
38
39 case xhr.DONE:
40 assert_array_equals(seenStates, [xhr.OPENED, xhr.HEADERS_RECEIVED, x hr.LOADING, xhr.DONE]);
41 testInLoadingState.done();
42 return;
43
44 default:
45 assert_unreached('Unexpected readyState: ' + xhr.readyState);
46 return;
47 }
48 });
49
50 xhr.open('GET', '../resources/test.ogv', true);
51 xhr.send();
52 });
53
54 var testInDoneState = async_test("Test aborting XMLHttpRequest with responseType set to 'stream' in DONE state.");
55
56 testInDoneState.step(function()
57 {
58 var xhr = new XMLHttpRequest;
59
60 xhr.responseType = "stream";
61
62 var seenStates = [];
63
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.le ngth - 1])
67 seenStates.push(xhr.readyState);
68
69 switch (xhr.readyState) {
70 case xhr.UNSENT:
71 case xhr.OPENED:
72 case xhr.HEADERS_RECEIVED:
73 case xhr.LOADING:
74 return;
75
76 case xhr.DONE:
77 assert_equals(xhr.status, 200, "xhr.status");
78
kinuko 2013/09/05 13:48:41 nit: maybe check xhr.response is not null before a
tyoshino (SeeGerritForStatus) 2013/09/06 04:24:55 Done.
79 xhr.abort();
80
81 assert_equals(xhr.readyState, xhr.UNSENT, "xhr.readyState after abor t() call");
82 assert_equals(xhr.response, null, "xhr.response after abort() call") ;
83
84 assert_array_equals(seenStates, [xhr.OPENED, xhr.HEADERS_RECEIVED, x hr.LOADING, xhr.DONE]);
85 testInDoneState.done();
86 return;
87
88 default:
89 assert_unreached('Unexpected readyState: ' + xhr.readyState);
90 return;
91 }
92 });
93
94 xhr.open('GET', '../resources/test.ogv', true);
95 xhr.send();
96 });
97 </script>
98 </body>
99 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698