OLD | NEW |
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 "config.h" | 5 #include "config.h" |
6 #include "modules/fetch/FetchDataLoader.h" | 6 #include "modules/fetch/FetchDataLoader.h" |
7 | 7 |
8 #include "modules/fetch/DataConsumerHandleTestUtil.h" | 8 #include "modules/fetch/DataConsumerHandleTestUtil.h" |
9 | 9 |
10 #include <gmock/gmock.h> | 10 #include <gmock/gmock.h> |
11 #include <gtest/gtest.h> | 11 #include <gtest/gtest.h> |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 using ::testing::InSequence; | 17 using ::testing::InSequence; |
18 using ::testing::Return; | 18 using ::testing::Return; |
19 using ::testing::DoAll; | 19 using ::testing::DoAll; |
20 using ::testing::StrictMock; | 20 using ::testing::StrictMock; |
21 using ::testing::_; | 21 using ::testing::_; |
22 using ::testing::SaveArg; | 22 using ::testing::SaveArg; |
23 using ::testing::SetArgPointee; | 23 using ::testing::SetArgPointee; |
24 using Checkpoint = StrictMock<::testing::MockFunction<void(int)>>; | 24 using Checkpoint = StrictMock<::testing::MockFunction<void(int)>>; |
25 using MockFetchDataLoaderClient = DataConsumerHandleTestUtil::MockFetchDataLoade
rClient; | 25 using MockFetchDataLoaderClient = DataConsumerHandleTestUtil::MockFetchDataLoade
rClient; |
26 | 26 |
27 const WebDataConsumerHandle::Result kOk = WebDataConsumerHandle::Ok; | 27 const WebDataConsumerHandle::Result kOk = WebDataConsumerHandle::Ok; |
28 const WebDataConsumerHandle::Result kUnexpectedError = WebDataConsumerHandle::Un
expectedError; | 28 const WebDataConsumerHandle::Result kUnexpectedError = WebDataConsumerHandle::Un
expectedError; |
29 const WebDataConsumerHandle::Result kDone = WebDataConsumerHandle::Done; | 29 const WebDataConsumerHandle::Result kDone = WebDataConsumerHandle::Done; |
| 30 const WebDataConsumerHandle::Result kShouldWait = WebDataConsumerHandle::ShouldW
ait; |
30 const WebDataConsumerHandle::Flags kNone = WebDataConsumerHandle::FlagNone; | 31 const WebDataConsumerHandle::Flags kNone = WebDataConsumerHandle::FlagNone; |
31 const FetchDataConsumerHandle::Reader::BlobSizePolicy kDisallowBlobWithInvalidSi
ze = FetchDataConsumerHandle::Reader::DisallowBlobWithInvalidSize; | 32 const FetchDataConsumerHandle::Reader::BlobSizePolicy kDisallowBlobWithInvalidSi
ze = FetchDataConsumerHandle::Reader::DisallowBlobWithInvalidSize; |
32 | 33 |
33 class MockReader : public FetchDataConsumerHandle::Reader { | 34 class MockReader : public FetchDataConsumerHandle::Reader { |
34 public: | 35 public: |
35 static PassOwnPtr<StrictMock<MockReader>> create() { return adoptPtr(new Str
ictMock<MockReader>); } | 36 static PassOwnPtr<StrictMock<MockReader>> create() { return adoptPtr(new Str
ictMock<MockReader>); } |
36 | 37 |
37 using Result = WebDataConsumerHandle::Result; | 38 using Result = WebDataConsumerHandle::Result; |
38 using Flags = WebDataConsumerHandle::Flags; | 39 using Flags = WebDataConsumerHandle::Flags; |
39 MOCK_METHOD4(read, Result(void*, size_t, Flags, size_t*)); | 40 MOCK_METHOD4(read, Result(void*, size_t, Flags, size_t*)); |
(...skipping 27 matching lines...) Expand all Loading... |
67 OwnPtr<MockHandle> handle = MockHandle::create(); | 68 OwnPtr<MockHandle> handle = MockHandle::create(); |
68 OwnPtr<MockReader> reader = MockReader::create(); | 69 OwnPtr<MockReader> reader = MockReader::create(); |
69 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); | 70 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); |
70 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 71 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
71 RefPtr<BlobDataHandle> blobDataHandle; | 72 RefPtr<BlobDataHandle> blobDataHandle; |
72 | 73 |
73 InSequence s; | 74 InSequence s; |
74 EXPECT_CALL(checkpoint, Call(1)); | 75 EXPECT_CALL(checkpoint, Call(1)); |
75 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 76 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
76 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); | 77 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); |
| 78 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
77 EXPECT_CALL(checkpoint, Call(2)); | 79 EXPECT_CALL(checkpoint, Call(2)); |
78 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); | 80 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); |
79 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); | 81 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); |
80 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); | 82 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); |
81 EXPECT_CALL(*reader, destruct()); | 83 EXPECT_CALL(*reader, destruct()); |
82 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedBlobHandleMock(_)).Wil
lOnce(SaveArg<0>(&blobDataHandle)); | 84 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedBlobHandleMock(_)).Wil
lOnce(SaveArg<0>(&blobDataHandle)); |
83 EXPECT_CALL(checkpoint, Call(3)); | 85 EXPECT_CALL(checkpoint, Call(3)); |
84 EXPECT_CALL(checkpoint, Call(4)); | 86 EXPECT_CALL(checkpoint, Call(4)); |
85 | 87 |
86 // |reader| is adopted by |obtainReader|. | 88 // |reader| is adopted by |obtainReader|. |
(...skipping 20 matching lines...) Expand all Loading... |
107 | 109 |
108 OwnPtr<MockHandle> handle = MockHandle::create(); | 110 OwnPtr<MockHandle> handle = MockHandle::create(); |
109 OwnPtr<MockReader> reader = MockReader::create(); | 111 OwnPtr<MockReader> reader = MockReader::create(); |
110 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); | 112 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); |
111 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 113 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
112 | 114 |
113 InSequence s; | 115 InSequence s; |
114 EXPECT_CALL(checkpoint, Call(1)); | 116 EXPECT_CALL(checkpoint, Call(1)); |
115 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 117 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
116 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); | 118 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); |
| 119 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
117 EXPECT_CALL(checkpoint, Call(2)); | 120 EXPECT_CALL(checkpoint, Call(2)); |
118 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); | 121 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); |
119 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); | 122 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); |
120 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); | 123 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); |
121 EXPECT_CALL(*reader, destruct()); | 124 EXPECT_CALL(*reader, destruct()); |
122 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); | 125 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); |
123 EXPECT_CALL(checkpoint, Call(3)); | 126 EXPECT_CALL(checkpoint, Call(3)); |
124 EXPECT_CALL(checkpoint, Call(4)); | 127 EXPECT_CALL(checkpoint, Call(4)); |
125 | 128 |
126 // |reader| is adopted by |obtainReader|. | 129 // |reader| is adopted by |obtainReader|. |
(...skipping 15 matching lines...) Expand all Loading... |
142 | 145 |
143 OwnPtr<MockHandle> handle = MockHandle::create(); | 146 OwnPtr<MockHandle> handle = MockHandle::create(); |
144 OwnPtr<MockReader> reader = MockReader::create(); | 147 OwnPtr<MockReader> reader = MockReader::create(); |
145 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); | 148 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle
("text/test"); |
146 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 149 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
147 | 150 |
148 InSequence s; | 151 InSequence s; |
149 EXPECT_CALL(checkpoint, Call(1)); | 152 EXPECT_CALL(checkpoint, Call(1)); |
150 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; | 153 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; |
151 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); | 154 EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).Wi
llOnce(Return(nullptr)); |
| 155 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
152 EXPECT_CALL(checkpoint, Call(2)); | 156 EXPECT_CALL(checkpoint, Call(2)); |
153 EXPECT_CALL(*reader, destruct()); | 157 EXPECT_CALL(*reader, destruct()); |
154 EXPECT_CALL(checkpoint, Call(3)); | 158 EXPECT_CALL(checkpoint, Call(3)); |
155 | 159 |
156 // |reader| is adopted by |obtainReader|. | 160 // |reader| is adopted by |obtainReader|. |
157 ASSERT_TRUE(reader.leakPtr()); | 161 ASSERT_TRUE(reader.leakPtr()); |
158 | 162 |
159 checkpoint.Call(1); | 163 checkpoint.Call(1); |
160 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); | 164 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); |
161 checkpoint.Call(2); | 165 checkpoint.Call(2); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 252 |
249 OwnPtr<MockHandle> handle = MockHandle::create(); | 253 OwnPtr<MockHandle> handle = MockHandle::create(); |
250 OwnPtr<MockReader> reader = MockReader::create(); | 254 OwnPtr<MockReader> reader = MockReader::create(); |
251 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); | 255 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); |
252 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 256 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
253 RefPtr<DOMArrayBuffer> arrayBuffer; | 257 RefPtr<DOMArrayBuffer> arrayBuffer; |
254 | 258 |
255 InSequence s; | 259 InSequence s; |
256 EXPECT_CALL(checkpoint, Call(1)); | 260 EXPECT_CALL(checkpoint, Call(1)); |
257 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 261 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
| 262 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
258 EXPECT_CALL(checkpoint, Call(2)); | 263 EXPECT_CALL(checkpoint, Call(2)); |
259 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); | 264 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); |
260 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); | 265 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); |
261 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); | 266 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); |
262 EXPECT_CALL(*reader, destruct()); | 267 EXPECT_CALL(*reader, destruct()); |
263 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedArrayBufferMock(_)).Wi
llOnce(SaveArg<0>(&arrayBuffer)); | 268 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedArrayBufferMock(_)).Wi
llOnce(SaveArg<0>(&arrayBuffer)); |
264 EXPECT_CALL(checkpoint, Call(3)); | 269 EXPECT_CALL(checkpoint, Call(3)); |
265 EXPECT_CALL(checkpoint, Call(4)); | 270 EXPECT_CALL(checkpoint, Call(4)); |
266 | 271 |
267 // |reader| is adopted by |obtainReader|. | 272 // |reader| is adopted by |obtainReader|. |
(...skipping 19 matching lines...) Expand all Loading... |
287 Checkpoint checkpoint; | 292 Checkpoint checkpoint; |
288 | 293 |
289 OwnPtr<MockHandle> handle = MockHandle::create(); | 294 OwnPtr<MockHandle> handle = MockHandle::create(); |
290 OwnPtr<MockReader> reader = MockReader::create(); | 295 OwnPtr<MockReader> reader = MockReader::create(); |
291 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); | 296 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); |
292 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 297 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
293 | 298 |
294 InSequence s; | 299 InSequence s; |
295 EXPECT_CALL(checkpoint, Call(1)); | 300 EXPECT_CALL(checkpoint, Call(1)); |
296 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 301 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
| 302 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
297 EXPECT_CALL(checkpoint, Call(2)); | 303 EXPECT_CALL(checkpoint, Call(2)); |
298 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); | 304 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
hWithTerminatingNull), Return(kOk))); |
299 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); | 305 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); |
300 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); | 306 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); |
301 EXPECT_CALL(*reader, destruct()); | 307 EXPECT_CALL(*reader, destruct()); |
302 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); | 308 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); |
303 EXPECT_CALL(checkpoint, Call(3)); | 309 EXPECT_CALL(checkpoint, Call(3)); |
304 EXPECT_CALL(checkpoint, Call(4)); | 310 EXPECT_CALL(checkpoint, Call(4)); |
305 | 311 |
306 // |reader| is adopted by |obtainReader|. | 312 // |reader| is adopted by |obtainReader|. |
(...skipping 14 matching lines...) Expand all Loading... |
321 Checkpoint checkpoint; | 327 Checkpoint checkpoint; |
322 | 328 |
323 OwnPtr<MockHandle> handle = MockHandle::create(); | 329 OwnPtr<MockHandle> handle = MockHandle::create(); |
324 OwnPtr<MockReader> reader = MockReader::create(); | 330 OwnPtr<MockReader> reader = MockReader::create(); |
325 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); | 331 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffe
r(); |
326 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 332 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
327 | 333 |
328 InSequence s; | 334 InSequence s; |
329 EXPECT_CALL(checkpoint, Call(1)); | 335 EXPECT_CALL(checkpoint, Call(1)); |
330 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; | 336 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; |
| 337 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
331 EXPECT_CALL(checkpoint, Call(2)); | 338 EXPECT_CALL(checkpoint, Call(2)); |
332 EXPECT_CALL(*reader, destruct()); | 339 EXPECT_CALL(*reader, destruct()); |
333 EXPECT_CALL(checkpoint, Call(3)); | 340 EXPECT_CALL(checkpoint, Call(3)); |
334 | 341 |
335 // |reader| is adopted by |obtainReader|. | 342 // |reader| is adopted by |obtainReader|. |
336 ASSERT_TRUE(reader.leakPtr()); | 343 ASSERT_TRUE(reader.leakPtr()); |
337 | 344 |
338 checkpoint.Call(1); | 345 checkpoint.Call(1); |
339 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); | 346 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); |
340 checkpoint.Call(2); | 347 checkpoint.Call(2); |
341 fetchDataLoader->cancel(); | 348 fetchDataLoader->cancel(); |
342 checkpoint.Call(3); | 349 checkpoint.Call(3); |
343 } | 350 } |
344 | 351 |
345 TEST(FetchDataLoaderTest, LoadAsString) | 352 TEST(FetchDataLoaderTest, LoadAsString) |
346 { | 353 { |
347 WebDataConsumerHandle::Client *client = nullptr; | 354 WebDataConsumerHandle::Client *client = nullptr; |
348 Checkpoint checkpoint; | 355 Checkpoint checkpoint; |
349 | 356 |
350 OwnPtr<MockHandle> handle = MockHandle::create(); | 357 OwnPtr<MockHandle> handle = MockHandle::create(); |
351 OwnPtr<MockReader> reader = MockReader::create(); | 358 OwnPtr<MockReader> reader = MockReader::create(); |
352 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); | 359 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); |
353 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 360 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
354 | 361 |
355 InSequence s; | 362 InSequence s; |
356 EXPECT_CALL(checkpoint, Call(1)); | 363 EXPECT_CALL(checkpoint, Call(1)); |
357 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 364 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
| 365 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
358 EXPECT_CALL(checkpoint, Call(2)); | 366 EXPECT_CALL(checkpoint, Call(2)); |
359 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
h), Return(kOk))); | 367 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
h), Return(kOk))); |
360 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk)); | 368 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk)); |
361 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); | 369 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); |
362 EXPECT_CALL(*reader, destruct()); | 370 EXPECT_CALL(*reader, destruct()); |
363 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedString(String(kQuickBr
ownFox))); | 371 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedString(String(kQuickBr
ownFox))); |
364 EXPECT_CALL(checkpoint, Call(3)); | 372 EXPECT_CALL(checkpoint, Call(3)); |
365 EXPECT_CALL(checkpoint, Call(4)); | 373 EXPECT_CALL(checkpoint, Call(4)); |
366 | 374 |
367 // |reader| is adopted by |obtainReader|. | 375 // |reader| is adopted by |obtainReader|. |
(...skipping 15 matching lines...) Expand all Loading... |
383 Checkpoint checkpoint; | 391 Checkpoint checkpoint; |
384 | 392 |
385 OwnPtr<MockHandle> handle = MockHandle::create(); | 393 OwnPtr<MockHandle> handle = MockHandle::create(); |
386 OwnPtr<MockReader> reader = MockReader::create(); | 394 OwnPtr<MockReader> reader = MockReader::create(); |
387 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); | 395 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); |
388 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 396 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
389 | 397 |
390 InSequence s; | 398 InSequence s; |
391 EXPECT_CALL(checkpoint, Call(1)); | 399 EXPECT_CALL(checkpoint, Call(1)); |
392 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 400 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
| 401 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
393 EXPECT_CALL(checkpoint, Call(2)); | 402 EXPECT_CALL(checkpoint, Call(2)); |
394 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>("Quick\0brown\0fox")), SetArgPointee<2>(16), Return(kO
k))); | 403 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>("Quick\0brown\0fox")), SetArgPointee<2>(16), Return(kO
k))); |
395 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); | 404 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillO
nce(Return(kOk)); |
396 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); | 405 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kDone)); |
397 EXPECT_CALL(*reader, destruct()); | 406 EXPECT_CALL(*reader, destruct()); |
398 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedString(String("Quick\0
brown\0fox", 16))); | 407 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedString(String("Quick\0
brown\0fox", 16))); |
399 EXPECT_CALL(checkpoint, Call(3)); | 408 EXPECT_CALL(checkpoint, Call(3)); |
400 EXPECT_CALL(checkpoint, Call(4)); | 409 EXPECT_CALL(checkpoint, Call(4)); |
401 | 410 |
402 // |reader| is adopted by |obtainReader|. | 411 // |reader| is adopted by |obtainReader|. |
(...skipping 15 matching lines...) Expand all Loading... |
418 Checkpoint checkpoint; | 427 Checkpoint checkpoint; |
419 | 428 |
420 OwnPtr<MockHandle> handle = MockHandle::create(); | 429 OwnPtr<MockHandle> handle = MockHandle::create(); |
421 OwnPtr<MockReader> reader = MockReader::create(); | 430 OwnPtr<MockReader> reader = MockReader::create(); |
422 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); | 431 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); |
423 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 432 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
424 | 433 |
425 InSequence s; | 434 InSequence s; |
426 EXPECT_CALL(checkpoint, Call(1)); | 435 EXPECT_CALL(checkpoint, Call(1)); |
427 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); | 436 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&cli
ent), Return(reader.get()))); |
| 437 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
428 EXPECT_CALL(checkpoint, Call(2)); | 438 EXPECT_CALL(checkpoint, Call(2)); |
429 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
h), Return(kOk))); | 439 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>
(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengt
h), Return(kOk))); |
430 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk)); | 440 EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk)); |
431 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); | 441 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kUnexpectedErro
r)); |
432 EXPECT_CALL(*reader, destruct()); | 442 EXPECT_CALL(*reader, destruct()); |
433 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); | 443 EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadFailed()); |
434 EXPECT_CALL(checkpoint, Call(3)); | 444 EXPECT_CALL(checkpoint, Call(3)); |
435 EXPECT_CALL(checkpoint, Call(4)); | 445 EXPECT_CALL(checkpoint, Call(4)); |
436 | 446 |
437 // |reader| is adopted by |obtainReader|. | 447 // |reader| is adopted by |obtainReader|. |
(...skipping 14 matching lines...) Expand all Loading... |
452 Checkpoint checkpoint; | 462 Checkpoint checkpoint; |
453 | 463 |
454 OwnPtr<MockHandle> handle = MockHandle::create(); | 464 OwnPtr<MockHandle> handle = MockHandle::create(); |
455 OwnPtr<MockReader> reader = MockReader::create(); | 465 OwnPtr<MockReader> reader = MockReader::create(); |
456 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); | 466 FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString(); |
457 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); | 467 MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient
::create(); |
458 | 468 |
459 InSequence s; | 469 InSequence s; |
460 EXPECT_CALL(checkpoint, Call(1)); | 470 EXPECT_CALL(checkpoint, Call(1)); |
461 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; | 471 EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()))
; |
| 472 EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(Return(kShouldWait)); |
462 EXPECT_CALL(checkpoint, Call(2)); | 473 EXPECT_CALL(checkpoint, Call(2)); |
463 EXPECT_CALL(*reader, destruct()); | 474 EXPECT_CALL(*reader, destruct()); |
464 EXPECT_CALL(checkpoint, Call(3)); | 475 EXPECT_CALL(checkpoint, Call(3)); |
465 | 476 |
466 // |reader| is adopted by |obtainReader|. | 477 // |reader| is adopted by |obtainReader|. |
467 ASSERT_TRUE(reader.leakPtr()); | 478 ASSERT_TRUE(reader.leakPtr()); |
468 | 479 |
469 checkpoint.Call(1); | 480 checkpoint.Call(1); |
470 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); | 481 fetchDataLoader->start(handle.get(), fetchDataLoaderClient); |
471 checkpoint.Call(2); | 482 checkpoint.Call(2); |
472 fetchDataLoader->cancel(); | 483 fetchDataLoader->cancel(); |
473 checkpoint.Call(3); | 484 checkpoint.Call(3); |
474 } | 485 } |
475 | 486 |
476 } // namespace | 487 } // namespace |
477 | 488 |
478 } // namespace blink | 489 } // namespace blink |
OLD | NEW |