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

Side by Side Diff: LayoutTests/http/tests/fetch/script-tests/stream-reader.js

Issue 1001233002: Streams Implementation Update: Reader name and Stream methods (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 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
OLDNEW
1 if (self.importScripts) { 1 if (self.importScripts) {
2 importScripts('/fetch/resources/fetch-test-helpers.js'); 2 importScripts('/fetch/resources/fetch-test-helpers.js');
3 } 3 }
4 4
5 function read_until_end(reader) { 5 function read_until_end(reader) {
6 var chunks = []; 6 var chunks = [];
7 function rec(resolve, reject) { 7 function rec(resolve, reject) {
8 while (reader.state === 'readable') { 8 while (reader.state === 'readable') {
9 chunks.push(reader.read()); 9 chunks.push(reader.read());
10 } 10 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 }); 49 });
50 } 50 }
51 var stream; 51 var stream;
52 var reader; 52 var reader;
53 return fetch('/fetch/resources/doctype.html').then(function(res) { 53 return fetch('/fetch/resources/doctype.html').then(function(res) {
54 stream = res.body; 54 stream = res.body;
55 reader = stream.getReader(); 55 reader = stream.getReader();
56 return wait_until_readable(reader); 56 return wait_until_readable(reader);
57 }).then(function() { 57 }).then(function() {
58 assert_equals(reader.state, 'readable'); 58 assert_equals(reader.state, 'readable');
59 assert_equals(stream.state, 'waiting');
60 reader.releaseLock(); 59 reader.releaseLock();
61 assert_equals(reader.state, 'closed'); 60 assert_equals(reader.state, 'closed');
62 assert_equals(stream.state, 'readable');
63 var another = stream.getReader(); 61 var another = stream.getReader();
64 assert_equals(reader.state, 'closed'); 62 assert_equals(reader.state, 'closed');
65 assert_equals(stream.state, 'waiting');
66 assert_equals(another.state, 'readable'); 63 assert_equals(another.state, 'readable');
67 }); 64 });
68 }, 'ExclusiveStreamReader state masking'); 65 }, 'ExclusiveStreamReader state masking');
69 66
70 sequential_promise_test(function(t) { 67 sequential_promise_test(function(t) {
71 return fetch('/fetch/resources/doctype.html').then(function(res) { 68 return fetch('/fetch/resources/doctype.html').then(function(res) {
72 var reader = res.body.getReader(); 69 var reader = res.body.getReader();
73 return read_until_end(reader); 70 return read_until_end(reader);
74 }).then(function(chunks) { 71 }).then(function(chunks) {
75 var size = 0; 72 var size = 0;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 res.body; 104 res.body;
108 assert_false(res.bodyUsed); 105 assert_false(res.bodyUsed);
109 res.text(); 106 res.text();
110 assert_true(res.bodyUsed); 107 assert_true(res.bodyUsed);
111 assert_throws({name: 'TypeError'}, function() { res.body.getReader() }); 108 assert_throws({name: 'TypeError'}, function() { res.body.getReader() });
112 }); 109 });
113 }, 'Setting bodyUsed means the body is locked.'); 110 }, 'Setting bodyUsed means the body is locked.');
114 111
115 sequential_promise_test_done(); 112 sequential_promise_test_done();
116 done(); 113 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698