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

Side by Side Diff: third_party/WebKit/Source/core/streams/ReadableStreamOperationsTest.cpp

Issue 1902673003: Reflect recent spec changes to V8 Extra ReadableStream impl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed build Created 4 years, 7 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/streams/ReadableStreamOperations.h" 5 #include "core/streams/ReadableStreamOperations.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptFunction.h" 8 #include "bindings/core/v8/ScriptFunction.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/ScriptValue.h" 10 #include "bindings/core/v8/ScriptValue.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 TEST_F(ReadableStreamOperationsTest, IsReadableStream) 179 TEST_F(ReadableStreamOperationsTest, IsReadableStream)
180 { 180 {
181 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue(getScriptState(), v8::Undefined(isolate())))); 181 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue(getScriptState(), v8::Undefined(isolate()))));
182 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue::createNull(getScriptState()))); 182 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue::createNull(getScriptState())));
183 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue(getScriptState(), v8::Object::New(isolate())))); 183 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), Sc riptValue(getScriptState(), v8::Object::New(isolate()))));
184 ScriptValue stream = evalWithPrintingError("new ReadableStream()"); 184 ScriptValue stream = evalWithPrintingError("new ReadableStream()");
185 EXPECT_FALSE(stream.isEmpty()); 185 EXPECT_FALSE(stream.isEmpty());
186 EXPECT_TRUE(ReadableStreamOperations::isReadableStream(getScriptState(), str eam)); 186 EXPECT_TRUE(ReadableStreamOperations::isReadableStream(getScriptState(), str eam));
187 } 187 }
188 188
189 TEST_F(ReadableStreamOperationsTest, IsReadableStreamReaderInvalid) 189 TEST_F(ReadableStreamOperationsTest, IsReadableStreamDefaultReaderInvalid)
190 { 190 {
191 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamReader(getScriptState (), ScriptValue(getScriptState(), v8::Undefined(isolate())))); 191 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamDefaultReader(getScri ptState(), ScriptValue(getScriptState(), v8::Undefined(isolate()))));
192 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamReader(getScriptState (), ScriptValue::createNull(getScriptState()))); 192 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamDefaultReader(getScri ptState(), ScriptValue::createNull(getScriptState())));
193 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamReader(getScriptState (), ScriptValue(getScriptState(), v8::Object::New(isolate())))); 193 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamDefaultReader(getScri ptState(), ScriptValue(getScriptState(), v8::Object::New(isolate()))));
194 ScriptValue stream = evalWithPrintingError("new ReadableStream()"); 194 ScriptValue stream = evalWithPrintingError("new ReadableStream()");
195 EXPECT_FALSE(stream.isEmpty()); 195 EXPECT_FALSE(stream.isEmpty());
196 196
197 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamReader(getScriptState (), stream)); 197 EXPECT_FALSE(ReadableStreamOperations::isReadableStreamDefaultReader(getScri ptState(), stream));
198 } 198 }
199 199
200 TEST_F(ReadableStreamOperationsTest, GetReader) 200 TEST_F(ReadableStreamOperationsTest, GetReader)
201 { 201 {
202 ScriptValue stream = evalWithPrintingError("new ReadableStream()"); 202 ScriptValue stream = evalWithPrintingError("new ReadableStream()");
203 EXPECT_FALSE(stream.isEmpty()); 203 EXPECT_FALSE(stream.isEmpty());
204 204
205 EXPECT_FALSE(ReadableStreamOperations::isLocked(getScriptState(), stream)); 205 EXPECT_FALSE(ReadableStreamOperations::isLocked(getScriptState(), stream));
206 ScriptValue reader; 206 ScriptValue reader;
207 { 207 {
208 TrackExceptionState es; 208 TrackExceptionState es;
209 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s); 209 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s);
210 ASSERT_FALSE(es.hadException()); 210 ASSERT_FALSE(es.hadException());
211 } 211 }
212 EXPECT_TRUE(ReadableStreamOperations::isLocked(getScriptState(), stream)); 212 EXPECT_TRUE(ReadableStreamOperations::isLocked(getScriptState(), stream));
213 ASSERT_FALSE(reader.isEmpty()); 213 ASSERT_FALSE(reader.isEmpty());
214 214
215 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), re ader)); 215 EXPECT_FALSE(ReadableStreamOperations::isReadableStream(getScriptState(), re ader));
216 EXPECT_TRUE(ReadableStreamOperations::isReadableStreamReader(getScriptState( ), reader)); 216 EXPECT_TRUE(ReadableStreamOperations::isReadableStreamDefaultReader(getScrip tState(), reader));
217 217
218 // Already locked! 218 // Already locked!
219 { 219 {
220 TrackExceptionState es; 220 TrackExceptionState es;
221 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s); 221 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s);
222 ASSERT_TRUE(es.hadException()); 222 ASSERT_TRUE(es.hadException());
223 } 223 }
224 ASSERT_TRUE(reader.isEmpty()); 224 ASSERT_TRUE(reader.isEmpty());
225 } 225 }
226 226
227 TEST_F(ReadableStreamOperationsTest, IsDisturbed) 227 TEST_F(ReadableStreamOperationsTest, IsDisturbed)
228 { 228 {
229 ScriptValue stream = evalWithPrintingError("stream = new ReadableStream()"); 229 ScriptValue stream = evalWithPrintingError("stream = new ReadableStream()");
230 EXPECT_FALSE(stream.isEmpty()); 230 EXPECT_FALSE(stream.isEmpty());
231 231
232 EXPECT_FALSE(ReadableStreamOperations::isDisturbed(getScriptState(), stream) ); 232 EXPECT_FALSE(ReadableStreamOperations::isDisturbed(getScriptState(), stream) );
233 233
234 ASSERT_FALSE(evalWithPrintingError("stream.cancel()").isEmpty()); 234 ASSERT_FALSE(evalWithPrintingError("stream.cancel()").isEmpty());
235 235
236 EXPECT_TRUE(ReadableStreamOperations::isDisturbed(getScriptState(), stream)) ; 236 EXPECT_TRUE(ReadableStreamOperations::isDisturbed(getScriptState(), stream)) ;
237 } 237 }
238 238
239 TEST_F(ReadableStreamOperationsTest, Read) 239 TEST_F(ReadableStreamOperationsTest, Read)
240 { 240 {
241 ScriptValue reader = evalWithPrintingError( 241 ScriptValue reader = evalWithPrintingError(
242 "var controller;" 242 "var controller;"
243 "function start(c) { controller = c; }" 243 "function start(c) { controller = c; }"
244 "new ReadableStream({start}).getReader()"); 244 "new ReadableStream({start}).getReader()");
245 EXPECT_FALSE(reader.isEmpty()); 245 EXPECT_FALSE(reader.isEmpty());
246 ASSERT_TRUE(ReadableStreamOperations::isReadableStreamReader(getScriptState( ), reader)); 246 ASSERT_TRUE(ReadableStreamOperations::isReadableStreamDefaultReader(getScrip tState(), reader));
247 247
248 Iteration* it1 = new Iteration(); 248 Iteration* it1 = new Iteration();
249 Iteration* it2 = new Iteration(); 249 Iteration* it2 = new Iteration();
250 ReadableStreamOperations::read(getScriptState(), reader).then( 250 ReadableStreamOperations::defaultReaderRead(getScriptState(), reader).then(
251 Function::createFunction(getScriptState(), it1), 251 Function::createFunction(getScriptState(), it1),
252 NotReached::createFunction(getScriptState())); 252 NotReached::createFunction(getScriptState()));
253 ReadableStreamOperations::read(getScriptState(), reader).then( 253 ReadableStreamOperations::defaultReaderRead(getScriptState(), reader).then(
254 Function::createFunction(getScriptState(), it2), 254 Function::createFunction(getScriptState(), it2),
255 NotReached::createFunction(getScriptState())); 255 NotReached::createFunction(getScriptState()));
256 256
257 v8::MicrotasksScope::PerformCheckpoint(isolate()); 257 v8::MicrotasksScope::PerformCheckpoint(isolate());
258 EXPECT_FALSE(it1->isSet()); 258 EXPECT_FALSE(it1->isSet());
259 EXPECT_FALSE(it2->isSet()); 259 EXPECT_FALSE(it2->isSet());
260 260
261 ASSERT_FALSE(evalWithPrintingError("controller.enqueue('hello')").isEmpty()) ; 261 ASSERT_FALSE(evalWithPrintingError("controller.enqueue('hello')").isEmpty()) ;
262 v8::MicrotasksScope::PerformCheckpoint(isolate()); 262 v8::MicrotasksScope::PerformCheckpoint(isolate());
263 EXPECT_TRUE(it1->isSet()); 263 EXPECT_TRUE(it1->isSet());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 { 299 {
300 TrackExceptionState es; 300 TrackExceptionState es;
301 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s); 301 reader = ReadableStreamOperations::getReader(getScriptState(), stream, e s);
302 ASSERT_FALSE(es.hadException()); 302 ASSERT_FALSE(es.hadException());
303 } 303 }
304 ASSERT_FALSE(reader.isEmpty()); 304 ASSERT_FALSE(reader.isEmpty());
305 305
306 Iteration* it1 = new Iteration(); 306 Iteration* it1 = new Iteration();
307 Iteration* it2 = new Iteration(); 307 Iteration* it2 = new Iteration();
308 Iteration* it3 = new Iteration(); 308 Iteration* it3 = new Iteration();
309 ReadableStreamOperations::read(getScriptState(), reader).then(Function::crea teFunction(getScriptState(), it1), NotReached::createFunction(getScriptState())) ; 309 ReadableStreamOperations::defaultReaderRead(getScriptState(), reader).then(F unction::createFunction(getScriptState(), it1), NotReached::createFunction(getSc riptState()));
310 ReadableStreamOperations::read(getScriptState(), reader).then(Function::crea teFunction(getScriptState(), it2), NotReached::createFunction(getScriptState())) ; 310 ReadableStreamOperations::defaultReaderRead(getScriptState(), reader).then(F unction::createFunction(getScriptState(), it2), NotReached::createFunction(getSc riptState()));
311 ReadableStreamOperations::read(getScriptState(), reader).then(Function::crea teFunction(getScriptState(), it3), NotReached::createFunction(getScriptState())) ; 311 ReadableStreamOperations::defaultReaderRead(getScriptState(), reader).then(F unction::createFunction(getScriptState(), it3), NotReached::createFunction(getSc riptState()));
312 312
313 v8::MicrotasksScope::PerformCheckpoint(isolate()); 313 v8::MicrotasksScope::PerformCheckpoint(isolate());
314 314
315 EXPECT_EQ(10, underlyingSource->desiredSize()); 315 EXPECT_EQ(10, underlyingSource->desiredSize());
316 316
317 EXPECT_TRUE(it1->isSet()); 317 EXPECT_TRUE(it1->isSet());
318 EXPECT_TRUE(it1->isValid()); 318 EXPECT_TRUE(it1->isValid());
319 EXPECT_FALSE(it1->isDone()); 319 EXPECT_FALSE(it1->isDone());
320 EXPECT_EQ("a", it1->value()); 320 EXPECT_EQ("a", it1->value());
321 321
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 ASSERT_FALSE(errored.isEmpty()); 397 ASSERT_FALSE(errored.isEmpty());
398 398
399 EXPECT_FALSE(ReadableStreamOperations::isErrored(getScriptState(), readable) ); 399 EXPECT_FALSE(ReadableStreamOperations::isErrored(getScriptState(), readable) );
400 EXPECT_FALSE(ReadableStreamOperations::isErrored(getScriptState(), closed)); 400 EXPECT_FALSE(ReadableStreamOperations::isErrored(getScriptState(), closed));
401 EXPECT_TRUE(ReadableStreamOperations::isErrored(getScriptState(), errored)); 401 EXPECT_TRUE(ReadableStreamOperations::isErrored(getScriptState(), errored));
402 } 402 }
403 403
404 } // namespace 404 } // namespace
405 405
406 } // namespace blink 406 } // namespace blink
407
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698