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

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

Issue 1773813007: blink: Rename modules/ method to prefix with get when they collide. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clash-modules: rebase-fixes Created 4 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 // 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/ReadableStreamReader.h" 5 #include "core/streams/ReadableStreamReader.h"
6 6
7 #include "bindings/core/v8/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.h"
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "bindings/core/v8/ToV8.h" 9 #include "bindings/core/v8/ToV8.h"
10 #include "bindings/core/v8/V8ThrowException.h" 10 #include "bindings/core/v8/V8ThrowException.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 private: 42 private:
43 StringCapturingFunction(ScriptState* scriptState, String* value) 43 StringCapturingFunction(ScriptState* scriptState, String* value)
44 : ScriptFunction(scriptState) 44 : ScriptFunction(scriptState)
45 , m_value(value) 45 , m_value(value)
46 { 46 {
47 } 47 }
48 48
49 ScriptValue call(ScriptValue value) override 49 ScriptValue call(ScriptValue value) override
50 { 50 {
51 ASSERT(!value.isEmpty()); 51 ASSERT(!value.isEmpty());
52 *m_value = toCoreString(value.v8Value()->ToString(scriptState()->context ()).ToLocalChecked()); 52 *m_value = toCoreString(value.v8Value()->ToString(getScriptState()->cont ext()).ToLocalChecked());
53 return value; 53 return value;
54 } 54 }
55 55
56 String* m_value; 56 String* m_value;
57 }; 57 };
58 58
59 class ReadResultCapturingFunction final : public ScriptFunction { 59 class ReadResultCapturingFunction final : public ScriptFunction {
60 public: 60 public:
61 static v8::Local<v8::Function> createFunction(ScriptState* scriptState, Read Result* value) 61 static v8::Local<v8::Function> createFunction(ScriptState* scriptState, Read Result* value)
62 { 62 {
63 ReadResultCapturingFunction* self = new ReadResultCapturingFunction(scri ptState, value); 63 ReadResultCapturingFunction* self = new ReadResultCapturingFunction(scri ptState, value);
64 return self->bindToV8Function(); 64 return self->bindToV8Function();
65 } 65 }
66 66
67 private: 67 private:
68 ReadResultCapturingFunction(ScriptState* scriptState, ReadResult* value) 68 ReadResultCapturingFunction(ScriptState* scriptState, ReadResult* value)
69 : ScriptFunction(scriptState) 69 : ScriptFunction(scriptState)
70 , m_result(value) 70 , m_result(value)
71 { 71 {
72 } 72 }
73 73
74 ScriptValue call(ScriptValue result) override 74 ScriptValue call(ScriptValue result) override
75 { 75 {
76 ASSERT(!result.isEmpty()); 76 ASSERT(!result.isEmpty());
77 v8::Isolate* isolate = scriptState()->isolate(); 77 v8::Isolate* isolate = getScriptState()->isolate();
78 if (!result.isObject()) { 78 if (!result.isObject()) {
79 return result; 79 return result;
80 } 80 }
81 v8::Local<v8::Object> object = result.v8Value().As<v8::Object>(); 81 v8::Local<v8::Object> object = result.v8Value().As<v8::Object>();
82 v8::Local<v8::String> doneString = v8String(isolate, "done"); 82 v8::Local<v8::String> doneString = v8String(isolate, "done");
83 v8::Local<v8::String> valueString = v8String(isolate, "value"); 83 v8::Local<v8::String> valueString = v8String(isolate, "value");
84 v8::Local<v8::Context> context = scriptState()->context(); 84 v8::Local<v8::Context> context = getScriptState()->context();
85 v8::Maybe<bool> hasDone = object->Has(context, doneString); 85 v8::Maybe<bool> hasDone = object->Has(context, doneString);
86 v8::Maybe<bool> hasValue = object->Has(context, valueString); 86 v8::Maybe<bool> hasValue = object->Has(context, valueString);
87 87
88 if (hasDone.IsNothing() || !hasDone.FromJust() || hasValue.IsNothing() | | !hasValue.FromJust()) { 88 if (hasDone.IsNothing() || !hasDone.FromJust() || hasValue.IsNothing() | | !hasValue.FromJust()) {
89 return result; 89 return result;
90 } 90 }
91 91
92 v8::Local<v8::Value> done; 92 v8::Local<v8::Value> done;
93 v8::Local<v8::Value> value; 93 v8::Local<v8::Value> value;
94 94
95 if (!object->Get(context, doneString).ToLocal(&done) || !object->Get(con text, valueString).ToLocal(&value) || !done->IsBoolean()) { 95 if (!object->Get(context, doneString).ToLocal(&done) || !object->Get(con text, valueString).ToLocal(&value) || !done->IsBoolean()) {
96 return result; 96 return result;
97 } 97 }
98 98
99 m_result->isSet = true; 99 m_result->isSet = true;
100 m_result->isDone = done.As<v8::Boolean>()->Value(); 100 m_result->isDone = done.As<v8::Boolean>()->Value();
101 m_result->valueString = toCoreString(value->ToString(scriptState()->cont ext()).ToLocalChecked()); 101 m_result->valueString = toCoreString(value->ToString(getScriptState()->c ontext()).ToLocalChecked());
102 return result; 102 return result;
103 } 103 }
104 104
105 ReadResult* m_result; 105 ReadResult* m_result;
106 }; 106 };
107 107
108 class NoopUnderlyingSource final : public GarbageCollectedFinalized<NoopUnderlyi ngSource>, public UnderlyingSource { 108 class NoopUnderlyingSource final : public GarbageCollectedFinalized<NoopUnderlyi ngSource>, public UnderlyingSource {
109 USING_GARBAGE_COLLECTED_MIXIN(NoopUnderlyingSource); 109 USING_GARBAGE_COLLECTED_MIXIN(NoopUnderlyingSource);
110 public: 110 public:
111 ~NoopUnderlyingSource() override { } 111 ~NoopUnderlyingSource() override { }
(...skipping 17 matching lines...) Expand all
129 m_stream->didSourceStart(); 129 m_stream->didSourceStart();
130 } 130 }
131 131
132 ~ReadableStreamReaderTest() override 132 ~ReadableStreamReaderTest() override
133 { 133 {
134 // We need to call |error| in order to make 134 // We need to call |error| in order to make
135 // ActiveDOMObject::hasPendingActivity return false. 135 // ActiveDOMObject::hasPendingActivity return false.
136 m_stream->error(DOMException::create(AbortError, "done")); 136 m_stream->error(DOMException::create(AbortError, "done"));
137 } 137 }
138 138
139 ScriptState* scriptState() { return ScriptState::forMainWorld(m_page->docume nt().frame()); } 139 ScriptState* getScriptState() { return ScriptState::forMainWorld(m_page->doc ument().frame()); }
140 v8::Isolate* isolate() { return scriptState()->isolate(); } 140 v8::Isolate* isolate() { return getScriptState()->isolate(); }
141 ExecutionContext* executionContext() { return scriptState()->executionContex t(); } 141 ExecutionContext* getExecutionContext() { return getScriptState()->getExecut ionContext(); }
142 142
143 v8::Local<v8::Function> createCaptor(String* value) 143 v8::Local<v8::Function> createCaptor(String* value)
144 { 144 {
145 return StringCapturingFunction::createFunction(scriptState(), value); 145 return StringCapturingFunction::createFunction(getScriptState(), value);
146 } 146 }
147 147
148 v8::Local<v8::Function> createResultCaptor(ReadResult* value) 148 v8::Local<v8::Function> createResultCaptor(ReadResult* value)
149 { 149 {
150 return ReadResultCapturingFunction::createFunction(scriptState(), value) ; 150 return ReadResultCapturingFunction::createFunction(getScriptState(), val ue);
151 } 151 }
152 152
153 OwnPtr<DummyPageHolder> m_page; 153 OwnPtr<DummyPageHolder> m_page;
154 Persistent<StringStream> m_stream; 154 Persistent<StringStream> m_stream;
155 }; 155 };
156 156
157 TEST_F(ReadableStreamReaderTest, Construct) 157 TEST_F(ReadableStreamReaderTest, Construct)
158 { 158 {
159 ScriptState::Scope scope(scriptState()); 159 ScriptState::Scope scope(getScriptState());
160 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 160 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
161 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 161 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
162 EXPECT_TRUE(reader->isActive()); 162 EXPECT_TRUE(reader->isActive());
163 EXPECT_FALSE(exceptionState.hadException()); 163 EXPECT_FALSE(exceptionState.hadException());
164 } 164 }
165 165
166 TEST_F(ReadableStreamReaderTest, Release) 166 TEST_F(ReadableStreamReaderTest, Release)
167 { 167 {
168 ScriptState::Scope scope(scriptState()); 168 ScriptState::Scope scope(getScriptState());
169 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 169 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
170 String onFulfilled, onRejected; 170 String onFulfilled, onRejected;
171 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 171 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
172 EXPECT_TRUE(reader->isActive()); 172 EXPECT_TRUE(reader->isActive());
173 173
174 reader->closed(scriptState()).then(createCaptor(&onFulfilled), createCaptor( &onRejected)); 174 reader->closed(getScriptState()).then(createCaptor(&onFulfilled), createCapt or(&onRejected));
175 reader->releaseLock(exceptionState); 175 reader->releaseLock(exceptionState);
176 EXPECT_FALSE(reader->isActive()); 176 EXPECT_FALSE(reader->isActive());
177 EXPECT_FALSE(exceptionState.hadException()); 177 EXPECT_FALSE(exceptionState.hadException());
178 178
179 EXPECT_TRUE(onFulfilled.isNull()); 179 EXPECT_TRUE(onFulfilled.isNull());
180 EXPECT_TRUE(onRejected.isNull()); 180 EXPECT_TRUE(onRejected.isNull());
181 181
182 v8::MicrotasksScope::PerformCheckpoint(isolate()); 182 v8::MicrotasksScope::PerformCheckpoint(isolate());
183 EXPECT_TRUE(onFulfilled.isNull()); 183 EXPECT_TRUE(onFulfilled.isNull());
184 EXPECT_EQ("AbortError: the reader is already released", onRejected); 184 EXPECT_EQ("AbortError: the reader is already released", onRejected);
185 185
186 ReadableStreamReader* another = new ReadableStreamReader(executionContext(), m_stream); 186 ReadableStreamReader* another = new ReadableStreamReader(getExecutionContext (), m_stream);
187 EXPECT_TRUE(another->isActive()); 187 EXPECT_TRUE(another->isActive());
188 EXPECT_FALSE(reader->isActive()); 188 EXPECT_FALSE(reader->isActive());
189 reader->releaseLock(exceptionState); 189 reader->releaseLock(exceptionState);
190 EXPECT_TRUE(another->isActive()); 190 EXPECT_TRUE(another->isActive());
191 EXPECT_FALSE(reader->isActive()); 191 EXPECT_FALSE(reader->isActive());
192 EXPECT_FALSE(exceptionState.hadException()); 192 EXPECT_FALSE(exceptionState.hadException());
193 } 193 }
194 194
195 TEST_F(ReadableStreamReaderTest, ReadAfterRelease) 195 TEST_F(ReadableStreamReaderTest, ReadAfterRelease)
196 { 196 {
197 ScriptState::Scope scope(scriptState()); 197 ScriptState::Scope scope(getScriptState());
198 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 198 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
199 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 199 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
200 EXPECT_TRUE(reader->isActive()); 200 EXPECT_TRUE(reader->isActive());
201 reader->releaseLock(exceptionState); 201 reader->releaseLock(exceptionState);
202 EXPECT_FALSE(exceptionState.hadException()); 202 EXPECT_FALSE(exceptionState.hadException());
203 EXPECT_FALSE(reader->isActive()); 203 EXPECT_FALSE(reader->isActive());
204 204
205 ReadResult result; 205 ReadResult result;
206 String onRejected; 206 String onRejected;
207 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onRejected)); 207 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onRejected));
208 208
209 EXPECT_FALSE(result.isSet); 209 EXPECT_FALSE(result.isSet);
210 EXPECT_TRUE(onRejected.isNull()); 210 EXPECT_TRUE(onRejected.isNull());
211 v8::MicrotasksScope::PerformCheckpoint(isolate()); 211 v8::MicrotasksScope::PerformCheckpoint(isolate());
212 212
213 EXPECT_FALSE(result.isSet); 213 EXPECT_FALSE(result.isSet);
214 EXPECT_EQ("TypeError: the reader is already released", onRejected); 214 EXPECT_EQ("TypeError: the reader is already released", onRejected);
215 EXPECT_FALSE(exceptionState.hadException()); 215 EXPECT_FALSE(exceptionState.hadException());
216 } 216 }
217 217
218 TEST_F(ReadableStreamReaderTest, ReleaseShouldFailWhenCalledWhileReading) 218 TEST_F(ReadableStreamReaderTest, ReleaseShouldFailWhenCalledWhileReading)
219 { 219 {
220 ScriptState::Scope scope(scriptState()); 220 ScriptState::Scope scope(getScriptState());
221 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 221 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
222 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 222 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
223 EXPECT_TRUE(reader->isActive()); 223 EXPECT_TRUE(reader->isActive());
224 reader->read(scriptState()); 224 reader->read(getScriptState());
225 225
226 reader->releaseLock(exceptionState); 226 reader->releaseLock(exceptionState);
227 EXPECT_TRUE(reader->isActive()); 227 EXPECT_TRUE(reader->isActive());
228 EXPECT_TRUE(exceptionState.hadException()); 228 EXPECT_TRUE(exceptionState.hadException());
229 exceptionState.clearException(); 229 exceptionState.clearException();
230 230
231 m_stream->enqueue("hello"); 231 m_stream->enqueue("hello");
232 reader->releaseLock(exceptionState); 232 reader->releaseLock(exceptionState);
233 EXPECT_FALSE(reader->isActive()); 233 EXPECT_FALSE(reader->isActive());
234 EXPECT_FALSE(exceptionState.hadException()); 234 EXPECT_FALSE(exceptionState.hadException());
235 } 235 }
236 236
237 TEST_F(ReadableStreamReaderTest, EnqueueThenRead) 237 TEST_F(ReadableStreamReaderTest, EnqueueThenRead)
238 { 238 {
239 ScriptState::Scope scope(scriptState()); 239 ScriptState::Scope scope(getScriptState());
240 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 240 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
241 m_stream->enqueue("hello"); 241 m_stream->enqueue("hello");
242 m_stream->enqueue("world"); 242 m_stream->enqueue("world");
243 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 243 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
244 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 244 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
245 245
246 ReadResult result; 246 ReadResult result;
247 String onRejected; 247 String onRejected;
248 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onRejected)); 248 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onRejected));
249 249
250 EXPECT_FALSE(result.isSet); 250 EXPECT_FALSE(result.isSet);
251 EXPECT_TRUE(onRejected.isNull()); 251 EXPECT_TRUE(onRejected.isNull());
252 252
253 v8::MicrotasksScope::PerformCheckpoint(isolate()); 253 v8::MicrotasksScope::PerformCheckpoint(isolate());
254 254
255 EXPECT_TRUE(result.isSet); 255 EXPECT_TRUE(result.isSet);
256 EXPECT_FALSE(result.isDone); 256 EXPECT_FALSE(result.isDone);
257 EXPECT_EQ("hello", result.valueString); 257 EXPECT_EQ("hello", result.valueString);
258 EXPECT_TRUE(onRejected.isNull()); 258 EXPECT_TRUE(onRejected.isNull());
259 259
260 ReadResult result2; 260 ReadResult result2;
261 String onRejected2; 261 String onRejected2;
262 reader->read(scriptState()).then(createResultCaptor(&result2), createCaptor( &onRejected2)); 262 reader->read(getScriptState()).then(createResultCaptor(&result2), createCapt or(&onRejected2));
263 263
264 EXPECT_FALSE(result2.isSet); 264 EXPECT_FALSE(result2.isSet);
265 EXPECT_TRUE(onRejected2.isNull()); 265 EXPECT_TRUE(onRejected2.isNull());
266 266
267 v8::MicrotasksScope::PerformCheckpoint(isolate()); 267 v8::MicrotasksScope::PerformCheckpoint(isolate());
268 268
269 EXPECT_TRUE(result2.isSet); 269 EXPECT_TRUE(result2.isSet);
270 EXPECT_FALSE(result2.isDone); 270 EXPECT_FALSE(result2.isDone);
271 EXPECT_EQ("world", result2.valueString); 271 EXPECT_EQ("world", result2.valueString);
272 EXPECT_TRUE(onRejected2.isNull()); 272 EXPECT_TRUE(onRejected2.isNull());
273 EXPECT_FALSE(exceptionState.hadException()); 273 EXPECT_FALSE(exceptionState.hadException());
274 } 274 }
275 275
276 TEST_F(ReadableStreamReaderTest, ReadThenEnqueue) 276 TEST_F(ReadableStreamReaderTest, ReadThenEnqueue)
277 { 277 {
278 ScriptState::Scope scope(scriptState()); 278 ScriptState::Scope scope(getScriptState());
279 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 279 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
280 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 280 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
281 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 281 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
282 282
283 ReadResult result, result2; 283 ReadResult result, result2;
284 String onRejected, onRejected2; 284 String onRejected, onRejected2;
285 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onRejected)); 285 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onRejected));
286 reader->read(scriptState()).then(createResultCaptor(&result2), createCaptor( &onRejected2)); 286 reader->read(getScriptState()).then(createResultCaptor(&result2), createCapt or(&onRejected2));
287 287
288 EXPECT_FALSE(result.isSet); 288 EXPECT_FALSE(result.isSet);
289 EXPECT_TRUE(onRejected.isNull()); 289 EXPECT_TRUE(onRejected.isNull());
290 EXPECT_FALSE(result2.isSet); 290 EXPECT_FALSE(result2.isSet);
291 EXPECT_TRUE(onRejected2.isNull()); 291 EXPECT_TRUE(onRejected2.isNull());
292 292
293 v8::MicrotasksScope::PerformCheckpoint(isolate()); 293 v8::MicrotasksScope::PerformCheckpoint(isolate());
294 294
295 EXPECT_FALSE(result.isSet); 295 EXPECT_FALSE(result.isSet);
296 EXPECT_TRUE(onRejected.isNull()); 296 EXPECT_TRUE(onRejected.isNull());
(...skipping 15 matching lines...) Expand all
312 312
313 EXPECT_TRUE(result2.isSet); 313 EXPECT_TRUE(result2.isSet);
314 EXPECT_FALSE(result2.isDone); 314 EXPECT_FALSE(result2.isDone);
315 EXPECT_EQ("world", result2.valueString); 315 EXPECT_EQ("world", result2.valueString);
316 EXPECT_TRUE(onRejected2.isNull()); 316 EXPECT_TRUE(onRejected2.isNull());
317 EXPECT_FALSE(exceptionState.hadException()); 317 EXPECT_FALSE(exceptionState.hadException());
318 } 318 }
319 319
320 TEST_F(ReadableStreamReaderTest, ClosedReader) 320 TEST_F(ReadableStreamReaderTest, ClosedReader)
321 { 321 {
322 ScriptState::Scope scope(scriptState()); 322 ScriptState::Scope scope(getScriptState());
323 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 323 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
324 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 324 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
325 325
326 m_stream->close(); 326 m_stream->close();
327 327
328 EXPECT_TRUE(reader->isActive()); 328 EXPECT_TRUE(reader->isActive());
329 329
330 String onClosedFulfilled, onClosedRejected; 330 String onClosedFulfilled, onClosedRejected;
331 ReadResult result; 331 ReadResult result;
332 String onReadRejected; 332 String onReadRejected;
333 v8::MicrotasksScope::PerformCheckpoint(isolate()); 333 v8::MicrotasksScope::PerformCheckpoint(isolate());
334 reader->closed(scriptState()).then(createCaptor(&onClosedFulfilled), createC aptor(&onClosedRejected)); 334 reader->closed(getScriptState()).then(createCaptor(&onClosedFulfilled), crea teCaptor(&onClosedRejected));
335 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onReadRejected)); 335 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onReadRejected));
336 EXPECT_TRUE(onClosedFulfilled.isNull()); 336 EXPECT_TRUE(onClosedFulfilled.isNull());
337 EXPECT_TRUE(onClosedRejected.isNull()); 337 EXPECT_TRUE(onClosedRejected.isNull());
338 EXPECT_FALSE(result.isSet); 338 EXPECT_FALSE(result.isSet);
339 EXPECT_TRUE(onReadRejected.isNull()); 339 EXPECT_TRUE(onReadRejected.isNull());
340 340
341 v8::MicrotasksScope::PerformCheckpoint(isolate()); 341 v8::MicrotasksScope::PerformCheckpoint(isolate());
342 EXPECT_EQ("undefined", onClosedFulfilled); 342 EXPECT_EQ("undefined", onClosedFulfilled);
343 EXPECT_TRUE(onClosedRejected.isNull()); 343 EXPECT_TRUE(onClosedRejected.isNull());
344 EXPECT_TRUE(result.isSet); 344 EXPECT_TRUE(result.isSet);
345 EXPECT_TRUE(result.isDone); 345 EXPECT_TRUE(result.isDone);
346 EXPECT_EQ("undefined", result.valueString); 346 EXPECT_EQ("undefined", result.valueString);
347 EXPECT_TRUE(onReadRejected.isNull()); 347 EXPECT_TRUE(onReadRejected.isNull());
348 EXPECT_FALSE(exceptionState.hadException()); 348 EXPECT_FALSE(exceptionState.hadException());
349 } 349 }
350 350
351 TEST_F(ReadableStreamReaderTest, ErroredReader) 351 TEST_F(ReadableStreamReaderTest, ErroredReader)
352 { 352 {
353 ScriptState::Scope scope(scriptState()); 353 ScriptState::Scope scope(getScriptState());
354 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 354 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
355 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 355 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
356 356
357 m_stream->error(DOMException::create(SyntaxError, "some error")); 357 m_stream->error(DOMException::create(SyntaxError, "some error"));
358 358
359 EXPECT_EQ(ReadableStream::Errored, m_stream->stateInternal()); 359 EXPECT_EQ(ReadableStream::Errored, m_stream->stateInternal());
360 EXPECT_TRUE(reader->isActive()); 360 EXPECT_TRUE(reader->isActive());
361 361
362 String onClosedFulfilled, onClosedRejected; 362 String onClosedFulfilled, onClosedRejected;
363 String onReadFulfilled, onReadRejected; 363 String onReadFulfilled, onReadRejected;
364 v8::MicrotasksScope::PerformCheckpoint(isolate()); 364 v8::MicrotasksScope::PerformCheckpoint(isolate());
365 reader->closed(scriptState()).then(createCaptor(&onClosedFulfilled), createC aptor(&onClosedRejected)); 365 reader->closed(getScriptState()).then(createCaptor(&onClosedFulfilled), crea teCaptor(&onClosedRejected));
366 reader->read(scriptState()).then(createCaptor(&onReadFulfilled), createCapto r(&onReadRejected)); 366 reader->read(getScriptState()).then(createCaptor(&onReadFulfilled), createCa ptor(&onReadRejected));
367 EXPECT_TRUE(onClosedFulfilled.isNull()); 367 EXPECT_TRUE(onClosedFulfilled.isNull());
368 EXPECT_TRUE(onClosedRejected.isNull()); 368 EXPECT_TRUE(onClosedRejected.isNull());
369 EXPECT_TRUE(onReadFulfilled.isNull()); 369 EXPECT_TRUE(onReadFulfilled.isNull());
370 EXPECT_TRUE(onReadRejected.isNull()); 370 EXPECT_TRUE(onReadRejected.isNull());
371 371
372 v8::MicrotasksScope::PerformCheckpoint(isolate()); 372 v8::MicrotasksScope::PerformCheckpoint(isolate());
373 EXPECT_TRUE(onClosedFulfilled.isNull()); 373 EXPECT_TRUE(onClosedFulfilled.isNull());
374 EXPECT_EQ("SyntaxError: some error", onClosedRejected); 374 EXPECT_EQ("SyntaxError: some error", onClosedRejected);
375 EXPECT_TRUE(onReadFulfilled.isNull()); 375 EXPECT_TRUE(onReadFulfilled.isNull());
376 EXPECT_EQ("SyntaxError: some error", onReadRejected); 376 EXPECT_EQ("SyntaxError: some error", onReadRejected);
377 EXPECT_FALSE(exceptionState.hadException()); 377 EXPECT_FALSE(exceptionState.hadException());
378 } 378 }
379 379
380 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeResolvedWhenClosed) 380 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeResolvedWhenClosed)
381 { 381 {
382 ScriptState::Scope scope(scriptState()); 382 ScriptState::Scope scope(getScriptState());
383 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 383 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
384 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 384 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
385 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 385 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
386 386
387 ReadResult result, result2; 387 ReadResult result, result2;
388 String onRejected, onRejected2; 388 String onRejected, onRejected2;
389 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onRejected)); 389 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onRejected));
390 reader->read(scriptState()).then(createResultCaptor(&result2), createCaptor( &onRejected2)); 390 reader->read(getScriptState()).then(createResultCaptor(&result2), createCapt or(&onRejected2));
391 391
392 v8::MicrotasksScope::PerformCheckpoint(isolate()); 392 v8::MicrotasksScope::PerformCheckpoint(isolate());
393 EXPECT_FALSE(result.isSet); 393 EXPECT_FALSE(result.isSet);
394 EXPECT_TRUE(onRejected.isNull()); 394 EXPECT_TRUE(onRejected.isNull());
395 EXPECT_FALSE(result2.isSet); 395 EXPECT_FALSE(result2.isSet);
396 EXPECT_TRUE(onRejected2.isNull()); 396 EXPECT_TRUE(onRejected2.isNull());
397 397
398 m_stream->close(); 398 m_stream->close();
399 EXPECT_FALSE(result.isSet); 399 EXPECT_FALSE(result.isSet);
400 EXPECT_TRUE(onRejected.isNull()); 400 EXPECT_TRUE(onRejected.isNull());
401 EXPECT_FALSE(result2.isSet); 401 EXPECT_FALSE(result2.isSet);
402 EXPECT_TRUE(onRejected2.isNull()); 402 EXPECT_TRUE(onRejected2.isNull());
403 403
404 v8::MicrotasksScope::PerformCheckpoint(isolate()); 404 v8::MicrotasksScope::PerformCheckpoint(isolate());
405 405
406 EXPECT_TRUE(result.isSet); 406 EXPECT_TRUE(result.isSet);
407 EXPECT_TRUE(result.isDone); 407 EXPECT_TRUE(result.isDone);
408 EXPECT_EQ("undefined", result.valueString); 408 EXPECT_EQ("undefined", result.valueString);
409 EXPECT_TRUE(onRejected.isNull()); 409 EXPECT_TRUE(onRejected.isNull());
410 410
411 EXPECT_TRUE(result2.isSet); 411 EXPECT_TRUE(result2.isSet);
412 EXPECT_TRUE(result2.isDone); 412 EXPECT_TRUE(result2.isDone);
413 EXPECT_EQ("undefined", result2.valueString); 413 EXPECT_EQ("undefined", result2.valueString);
414 EXPECT_TRUE(onRejected2.isNull()); 414 EXPECT_TRUE(onRejected2.isNull());
415 EXPECT_FALSE(exceptionState.hadException()); 415 EXPECT_FALSE(exceptionState.hadException());
416 } 416 }
417 417
418 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeRejectedWhenErrored) 418 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeRejectedWhenErrored)
419 { 419 {
420 ScriptState::Scope scope(scriptState()); 420 ScriptState::Scope scope(getScriptState());
421 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 421 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
422 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 422 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
423 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 423 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
424 424
425 String onFulfilled, onFulfilled2; 425 String onFulfilled, onFulfilled2;
426 String onRejected, onRejected2; 426 String onRejected, onRejected2;
427 reader->read(scriptState()).then(createCaptor(&onFulfilled), createCaptor(&o nRejected)); 427 reader->read(getScriptState()).then(createCaptor(&onFulfilled), createCaptor (&onRejected));
428 reader->read(scriptState()).then(createCaptor(&onFulfilled2), createCaptor(& onRejected2)); 428 reader->read(getScriptState()).then(createCaptor(&onFulfilled2), createCapto r(&onRejected2));
429 429
430 v8::MicrotasksScope::PerformCheckpoint(isolate()); 430 v8::MicrotasksScope::PerformCheckpoint(isolate());
431 EXPECT_TRUE(onFulfilled.isNull()); 431 EXPECT_TRUE(onFulfilled.isNull());
432 EXPECT_TRUE(onRejected.isNull()); 432 EXPECT_TRUE(onRejected.isNull());
433 EXPECT_TRUE(onFulfilled2.isNull()); 433 EXPECT_TRUE(onFulfilled2.isNull());
434 EXPECT_TRUE(onRejected2.isNull()); 434 EXPECT_TRUE(onRejected2.isNull());
435 435
436 m_stream->error(DOMException::create(SyntaxError, "some error")); 436 m_stream->error(DOMException::create(SyntaxError, "some error"));
437 EXPECT_TRUE(onFulfilled.isNull()); 437 EXPECT_TRUE(onFulfilled.isNull());
438 EXPECT_TRUE(onRejected.isNull()); 438 EXPECT_TRUE(onRejected.isNull());
439 EXPECT_TRUE(onFulfilled2.isNull()); 439 EXPECT_TRUE(onFulfilled2.isNull());
440 EXPECT_TRUE(onRejected2.isNull()); 440 EXPECT_TRUE(onRejected2.isNull());
441 441
442 v8::MicrotasksScope::PerformCheckpoint(isolate()); 442 v8::MicrotasksScope::PerformCheckpoint(isolate());
443 443
444 EXPECT_TRUE(onFulfilled.isNull()); 444 EXPECT_TRUE(onFulfilled.isNull());
445 EXPECT_EQ(onRejected, "SyntaxError: some error"); 445 EXPECT_EQ(onRejected, "SyntaxError: some error");
446 EXPECT_TRUE(onFulfilled2.isNull()); 446 EXPECT_TRUE(onFulfilled2.isNull());
447 EXPECT_EQ(onRejected2, "SyntaxError: some error"); 447 EXPECT_EQ(onRejected2, "SyntaxError: some error");
448 EXPECT_FALSE(exceptionState.hadException()); 448 EXPECT_FALSE(exceptionState.hadException());
449 } 449 }
450 450
451 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeResolvedWhenCanceled) 451 TEST_F(ReadableStreamReaderTest, PendingReadsShouldBeResolvedWhenCanceled)
452 { 452 {
453 ScriptState::Scope scope(scriptState()); 453 ScriptState::Scope scope(getScriptState());
454 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 454 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
455 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 455 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
456 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 456 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
457 457
458 ReadResult result, result2; 458 ReadResult result, result2;
459 String onRejected, onRejected2; 459 String onRejected, onRejected2;
460 reader->read(scriptState()).then(createResultCaptor(&result), createCaptor(& onRejected)); 460 reader->read(getScriptState()).then(createResultCaptor(&result), createCapto r(&onRejected));
461 reader->read(scriptState()).then(createResultCaptor(&result2), createCaptor( &onRejected2)); 461 reader->read(getScriptState()).then(createResultCaptor(&result2), createCapt or(&onRejected2));
462 462
463 v8::MicrotasksScope::PerformCheckpoint(isolate()); 463 v8::MicrotasksScope::PerformCheckpoint(isolate());
464 EXPECT_FALSE(result.isSet); 464 EXPECT_FALSE(result.isSet);
465 EXPECT_TRUE(onRejected.isNull()); 465 EXPECT_TRUE(onRejected.isNull());
466 EXPECT_FALSE(result2.isSet); 466 EXPECT_FALSE(result2.isSet);
467 EXPECT_TRUE(onRejected2.isNull()); 467 EXPECT_TRUE(onRejected2.isNull());
468 468
469 reader->cancel(scriptState(), ScriptValue(scriptState(), v8::Undefined(isola te()))); 469 reader->cancel(getScriptState(), ScriptValue(getScriptState(), v8::Undefined (isolate())));
470 EXPECT_TRUE(reader->isActive()); 470 EXPECT_TRUE(reader->isActive());
471 EXPECT_FALSE(result.isSet); 471 EXPECT_FALSE(result.isSet);
472 EXPECT_TRUE(onRejected.isNull()); 472 EXPECT_TRUE(onRejected.isNull());
473 EXPECT_FALSE(result2.isSet); 473 EXPECT_FALSE(result2.isSet);
474 EXPECT_TRUE(onRejected2.isNull()); 474 EXPECT_TRUE(onRejected2.isNull());
475 475
476 v8::MicrotasksScope::PerformCheckpoint(isolate()); 476 v8::MicrotasksScope::PerformCheckpoint(isolate());
477 477
478 EXPECT_TRUE(result.isSet); 478 EXPECT_TRUE(result.isSet);
479 EXPECT_TRUE(result.isDone); 479 EXPECT_TRUE(result.isDone);
480 EXPECT_EQ("undefined", result.valueString); 480 EXPECT_EQ("undefined", result.valueString);
481 EXPECT_TRUE(onRejected.isNull()); 481 EXPECT_TRUE(onRejected.isNull());
482 482
483 EXPECT_TRUE(result2.isSet); 483 EXPECT_TRUE(result2.isSet);
484 EXPECT_TRUE(result2.isDone); 484 EXPECT_TRUE(result2.isDone);
485 EXPECT_EQ("undefined", result2.valueString); 485 EXPECT_EQ("undefined", result2.valueString);
486 EXPECT_TRUE(onRejected2.isNull()); 486 EXPECT_TRUE(onRejected2.isNull());
487 EXPECT_FALSE(exceptionState.hadException()); 487 EXPECT_FALSE(exceptionState.hadException());
488 } 488 }
489 489
490 TEST_F(ReadableStreamReaderTest, CancelShouldNotWorkWhenNotActive) 490 TEST_F(ReadableStreamReaderTest, CancelShouldNotWorkWhenNotActive)
491 { 491 {
492 ScriptState::Scope scope(scriptState()); 492 ScriptState::Scope scope(getScriptState());
493 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 493 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
494 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 494 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
495 reader->releaseLock(exceptionState); 495 reader->releaseLock(exceptionState);
496 EXPECT_FALSE(reader->isActive()); 496 EXPECT_FALSE(reader->isActive());
497 497
498 String onFulfilled, onRejected; 498 String onFulfilled, onRejected;
499 reader->cancel(scriptState(), ScriptValue(scriptState(), v8::Undefined(isola te()))).then(createCaptor(&onFulfilled), createCaptor(&onRejected)); 499 reader->cancel(getScriptState(), ScriptValue(getScriptState(), v8::Undefined (isolate()))).then(createCaptor(&onFulfilled), createCaptor(&onRejected));
500 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 500 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
501 501
502 EXPECT_TRUE(onFulfilled.isNull()); 502 EXPECT_TRUE(onFulfilled.isNull());
503 EXPECT_TRUE(onRejected.isNull()); 503 EXPECT_TRUE(onRejected.isNull());
504 504
505 v8::MicrotasksScope::PerformCheckpoint(isolate()); 505 v8::MicrotasksScope::PerformCheckpoint(isolate());
506 506
507 EXPECT_TRUE(onFulfilled.isNull()); 507 EXPECT_TRUE(onFulfilled.isNull());
508 EXPECT_EQ("TypeError: the reader is already released", onRejected); 508 EXPECT_EQ("TypeError: the reader is already released", onRejected);
509 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 509 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
510 EXPECT_FALSE(exceptionState.hadException()); 510 EXPECT_FALSE(exceptionState.hadException());
511 } 511 }
512 512
513 TEST_F(ReadableStreamReaderTest, Cancel) 513 TEST_F(ReadableStreamReaderTest, Cancel)
514 { 514 {
515 ScriptState::Scope scope(scriptState()); 515 ScriptState::Scope scope(getScriptState());
516 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 516 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
517 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 517 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
518 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 518 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
519 519
520 String onClosedFulfilled, onClosedRejected; 520 String onClosedFulfilled, onClosedRejected;
521 String onCancelFulfilled, onCancelRejected; 521 String onCancelFulfilled, onCancelRejected;
522 reader->closed(scriptState()).then(createCaptor(&onClosedFulfilled), createC aptor(&onClosedRejected)); 522 reader->closed(getScriptState()).then(createCaptor(&onClosedFulfilled), crea teCaptor(&onClosedRejected));
523 reader->cancel(scriptState(), ScriptValue(scriptState(), v8::Undefined(isola te()))).then(createCaptor(&onCancelFulfilled), createCaptor(&onCancelRejected)); 523 reader->cancel(getScriptState(), ScriptValue(getScriptState(), v8::Undefined (isolate()))).then(createCaptor(&onCancelFulfilled), createCaptor(&onCancelRejec ted));
524 524
525 EXPECT_EQ(ReadableStream::Closed, m_stream->stateInternal()); 525 EXPECT_EQ(ReadableStream::Closed, m_stream->stateInternal());
526 EXPECT_TRUE(onClosedFulfilled.isNull()); 526 EXPECT_TRUE(onClosedFulfilled.isNull());
527 EXPECT_TRUE(onClosedRejected.isNull()); 527 EXPECT_TRUE(onClosedRejected.isNull());
528 EXPECT_TRUE(onCancelFulfilled.isNull()); 528 EXPECT_TRUE(onCancelFulfilled.isNull());
529 EXPECT_TRUE(onCancelRejected.isNull()); 529 EXPECT_TRUE(onCancelRejected.isNull());
530 530
531 v8::MicrotasksScope::PerformCheckpoint(isolate()); 531 v8::MicrotasksScope::PerformCheckpoint(isolate());
532 EXPECT_EQ("undefined", onClosedFulfilled); 532 EXPECT_EQ("undefined", onClosedFulfilled);
533 EXPECT_TRUE(onClosedRejected.isNull()); 533 EXPECT_TRUE(onClosedRejected.isNull());
534 EXPECT_EQ("undefined", onCancelFulfilled); 534 EXPECT_EQ("undefined", onCancelFulfilled);
535 EXPECT_TRUE(onCancelRejected.isNull()); 535 EXPECT_TRUE(onCancelRejected.isNull());
536 EXPECT_FALSE(exceptionState.hadException()); 536 EXPECT_FALSE(exceptionState.hadException());
537 } 537 }
538 538
539 TEST_F(ReadableStreamReaderTest, Close) 539 TEST_F(ReadableStreamReaderTest, Close)
540 { 540 {
541 ScriptState::Scope scope(scriptState()); 541 ScriptState::Scope scope(getScriptState());
542 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 542 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
543 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 543 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
544 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 544 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
545 545
546 String onFulfilled, onRejected; 546 String onFulfilled, onRejected;
547 reader->closed(scriptState()).then(createCaptor(&onFulfilled), createCaptor( &onRejected)); 547 reader->closed(getScriptState()).then(createCaptor(&onFulfilled), createCapt or(&onRejected));
548 548
549 m_stream->close(); 549 m_stream->close();
550 550
551 EXPECT_EQ(ReadableStream::Closed, m_stream->stateInternal()); 551 EXPECT_EQ(ReadableStream::Closed, m_stream->stateInternal());
552 EXPECT_TRUE(onFulfilled.isNull()); 552 EXPECT_TRUE(onFulfilled.isNull());
553 EXPECT_TRUE(onRejected.isNull()); 553 EXPECT_TRUE(onRejected.isNull());
554 554
555 v8::MicrotasksScope::PerformCheckpoint(isolate()); 555 v8::MicrotasksScope::PerformCheckpoint(isolate());
556 EXPECT_EQ("undefined", onFulfilled); 556 EXPECT_EQ("undefined", onFulfilled);
557 EXPECT_TRUE(onRejected.isNull()); 557 EXPECT_TRUE(onRejected.isNull());
558 EXPECT_FALSE(exceptionState.hadException()); 558 EXPECT_FALSE(exceptionState.hadException());
559 } 559 }
560 560
561 TEST_F(ReadableStreamReaderTest, Error) 561 TEST_F(ReadableStreamReaderTest, Error)
562 { 562 {
563 ScriptState::Scope scope(scriptState()); 563 ScriptState::Scope scope(getScriptState());
564 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", scriptState()->context()->Global(), isolate()); 564 ExceptionState exceptionState(ExceptionState::ConstructionContext, "property ", "interface", getScriptState()->context()->Global(), isolate());
565 ReadableStreamReader* reader = new ReadableStreamReader(executionContext(), m_stream); 565 ReadableStreamReader* reader = new ReadableStreamReader(getExecutionContext( ), m_stream);
566 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal()); 566 EXPECT_EQ(ReadableStream::Readable, m_stream->stateInternal());
567 567
568 String onFulfilled, onRejected; 568 String onFulfilled, onRejected;
569 reader->closed(scriptState()).then(createCaptor(&onFulfilled), createCaptor( &onRejected)); 569 reader->closed(getScriptState()).then(createCaptor(&onFulfilled), createCapt or(&onRejected));
570 570
571 m_stream->error(DOMException::create(SyntaxError, "some error")); 571 m_stream->error(DOMException::create(SyntaxError, "some error"));
572 572
573 EXPECT_EQ(ReadableStream::Errored, m_stream->stateInternal()); 573 EXPECT_EQ(ReadableStream::Errored, m_stream->stateInternal());
574 EXPECT_TRUE(onFulfilled.isNull()); 574 EXPECT_TRUE(onFulfilled.isNull());
575 EXPECT_TRUE(onRejected.isNull()); 575 EXPECT_TRUE(onRejected.isNull());
576 576
577 v8::MicrotasksScope::PerformCheckpoint(isolate()); 577 v8::MicrotasksScope::PerformCheckpoint(isolate());
578 EXPECT_TRUE(onFulfilled.isNull()); 578 EXPECT_TRUE(onFulfilled.isNull());
579 EXPECT_EQ("SyntaxError: some error", onRejected); 579 EXPECT_EQ("SyntaxError: some error", onRejected);
580 EXPECT_FALSE(exceptionState.hadException()); 580 EXPECT_FALSE(exceptionState.hadException());
581 } 581 }
582 582
583 } // namespace 583 } // namespace
584 584
585 } // namespace blink 585 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698