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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/streams/readable-streams/templated.js

Issue 1404523005: Implement author-constructible ReadableStream using V8 extras (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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
(Empty)
1 'use strict';
2
3 if (self.importScripts) {
4 self.importScripts('/resources/testharness.js');
5 self.importScripts('../resources/rs-test-templates.js');
6 }
7
8 // Run the readable stream test templates against readable streams created direc tly using the constructor
9
10 var theError = new Error('boo!');
11 var chunks = ['a', 'b'];
12
13 templatedRSEmpty('ReadableStream (empty)', function() {
14 return new ReadableStream();
15 });
16
17 templatedRSEmptyReader('ReadableStream (empty) reader', function() {
18 return streamAndDefaultReader(new ReadableStream());
19 });
20
21 templatedRSClosed('ReadableStream (closed via call in start)', function() {
22 return new ReadableStream({
23 start: function(c) {
24 c.close();
25 }
26 });
27 });
28
29 templatedRSClosedReader('ReadableStream reader (closed before getting reader)', function() {
30 var controller;
31 var stream = new ReadableStream({
32 start: function(c) {
33 controller = c;
34 }
35 });
36 controller.close();
37 var result = streamAndDefaultReader(stream);
38 return result;
39 });
40
41 templatedRSClosedReader('ReadableStream reader (closed after getting reader)', f unction() {
42 var controller;
43 var stream = new ReadableStream({
44 start: function(c) {
45 controller = c;
46 }
47 });
48 var result = streamAndDefaultReader(stream);
49 controller.close();
50 return result;
51 });
52
53 templatedRSClosed('ReadableStream (closed via cancel)', function() {
54 var stream = new ReadableStream();
55 stream.cancel();
56 return stream;
57 });
58
59 templatedRSClosedReader('ReadableStream reader (closed via cancel after getting reader)', function() {
60 var stream = new ReadableStream();
61 var result = streamAndDefaultReader(stream);
62 result.reader.cancel();
63 return result;
64 });
65
66 var theError = new Error('boo!');
67
68 templatedRSErrored('ReadableStream (errored via call in start)', function() {
69 return new ReadableStream({
70 start: function(c) {
71 c.error(theError);
72 }
73 })},
74 theError
75 );
76
77 templatedRSErroredSyncOnly('ReadableStream (errored via call in start)', functio n() {
78 return new ReadableStream({
79 start: function(c) {
80 c.error(theError);
81 }
82 })},
83 theError
84 );
85
86 templatedRSErrored('ReadableStream (errored via returning a rejected promise in start)', function() {
87 return new ReadableStream({
88 start: function() {
89 return Promise.reject(theError);
90 }
91 })},
92 theError
93 );
94
95 templatedRSErroredReader('ReadableStream (errored via returning a rejected promi se in start) reader', function() {
96 return streamAndDefaultReader(new ReadableStream({
97 start: function() {
98 return Promise.reject(theError);
99 }
100 }))},
101 theError
102 );
103
104 templatedRSErroredReader('ReadableStream reader (errored before getting reader)' , function() {
105 var controller;
106 var stream = new ReadableStream({
107 start: function(c) {
108 controller = c;
109 }
110 });
111 controller.error(theError);
112 return streamAndDefaultReader(stream);
113 }, theError);
114
115 templatedRSErroredReader('ReadableStream reader (errored after getting reader)', function() {
116 var controller;
117 var result = streamAndDefaultReader(new ReadableStream({
118 start: function(c) {
119 controller = c;
120 }
121 }));
122 controller.error(theError);
123 return result;
124 }, theError);
125
126 var chunks = ['a', 'b'];
127
128 templatedRSTwoChunksOpenReader('ReadableStream (two chunks enqueued, still open) reader', function() {
129 return streamAndDefaultReader(new ReadableStream({
130 start: function(c) {
131 c.enqueue(chunks[0]);
132 c.enqueue(chunks[1]);
133 }
134 }))},
135 chunks
136 );
137
138 templatedRSTwoChunksClosedReader('ReadableStream (two chunks enqueued, then clos ed) reader', function() {
139 var doClose;
140 var stream = new ReadableStream({
141 start: function(c) {
142 c.enqueue(chunks[0]);
143 c.enqueue(chunks[1]);
144 doClose = c.close.bind(c);
145 }
146 });
147 var result = streamAndDefaultReader(stream);
148 doClose();
149 return result;
150 }, chunks);
151
152 function streamAndDefaultReader(stream) {
153 return { stream: stream, reader: stream.getReader() };
154 }
155
156 done();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698