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

Unified Diff: third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp

Issue 2172183003: Return unique_ptr<WebDataConsumerHandle::Reader> directly from obtainReader (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gmock_cxx11
Patch Set: rebase Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
diff --git a/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp b/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
index f07d4703c8f89bebec563addd8288004561f1c3a..d1c172e61797871f46c0a506bbc491122817111e 100644
--- a/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
+++ b/third_party/WebKit/Source/modules/fetch/CompositeDataConsumerHandleTest.cpp
@@ -21,6 +21,7 @@ namespace blink {
namespace {
+using ::testing::ByMove;
using ::testing::InSequence;
using ::testing::Return;
using ::testing::StrictMock;
@@ -45,7 +46,7 @@ class MockHandle : public WebDataConsumerHandle {
public:
static std::unique_ptr<StrictMock<MockHandle>> create() { return wrapUnique(new StrictMock<MockHandle>); }
- MOCK_METHOD1(obtainReaderInternal, Reader*(Client*));
+ MOCK_METHOD1(obtainReader, std::unique_ptr<Reader>(Client*));
private:
const char* debugName() const override { return "MockHandle in CompositeDataConsumerHandleTest"; }
@@ -279,24 +280,22 @@ TEST(CompositeDataConsumerHandleTest, Read)
std::unique_ptr<MockHandle> handle1 = MockHandle::create();
std::unique_ptr<MockHandle> handle2 = MockHandle::create();
- std::unique_ptr<MockReader> reader1 = MockReader::create();
- std::unique_ptr<MockReader> reader2 = MockReader::create();
+
+ // They will be adopted by |obtainReader|.
+ MockReader* reader1 = MockReader::create().release();
+ MockReader* reader2 = MockReader::create().release();
InSequence s;
EXPECT_CALL(checkpoint, Call(0));
- EXPECT_CALL(*handle1, obtainReaderInternal(&client)).WillOnce(Return(reader1.get()));
+ EXPECT_CALL(*handle1, obtainReader(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
EXPECT_CALL(checkpoint, Call(1));
EXPECT_CALL(*reader1, read(buffer, sizeof(buffer), kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(2));
- EXPECT_CALL(*handle2, obtainReaderInternal(&client)).WillOnce(Return(reader2.get()));
+ EXPECT_CALL(*handle2, obtainReader(&client)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
EXPECT_CALL(checkpoint, Call(3));
EXPECT_CALL(*reader2, read(buffer, sizeof(buffer), kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(4));
- // They are adopted by |obtainReader|.
- ASSERT_TRUE(reader1.release());
- ASSERT_TRUE(reader2.release());
-
CompositeDataConsumerHandle::Updater* updater = nullptr;
std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
checkpoint.Call(0);
@@ -318,28 +317,26 @@ TEST(CompositeDataConsumerHandleTest, TwoPhaseRead)
std::unique_ptr<MockHandle> handle1 = MockHandle::create();
std::unique_ptr<MockHandle> handle2 = MockHandle::create();
- std::unique_ptr<MockReader> reader1 = MockReader::create();
- std::unique_ptr<MockReader> reader2 = MockReader::create();
+
+ // They are adopted by |obtainReader|.
+ MockReader* reader1 = MockReader::create().release();
+ MockReader* reader2 = MockReader::create().release();
InSequence s;
EXPECT_CALL(checkpoint, Call(0));
- EXPECT_CALL(*handle1, obtainReaderInternal(nullptr)).WillOnce(Return(reader1.get()));
+ EXPECT_CALL(*handle1, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
EXPECT_CALL(checkpoint, Call(1));
EXPECT_CALL(*reader1, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(2));
EXPECT_CALL(*reader1, endRead(0)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(3));
- EXPECT_CALL(*handle2, obtainReaderInternal(nullptr)).WillOnce(Return(reader2.get()));
+ EXPECT_CALL(*handle2, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
EXPECT_CALL(checkpoint, Call(4));
EXPECT_CALL(*reader2, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(5));
EXPECT_CALL(*reader2, endRead(0)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(6));
- // They are adopted by |obtainReader|.
- ASSERT_TRUE(reader1.release());
- ASSERT_TRUE(reader2.release());
-
CompositeDataConsumerHandle::Updater* updater = nullptr;
std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
checkpoint.Call(0);
@@ -366,34 +363,31 @@ TEST(CompositeDataConsumerHandleTest, HangingTwoPhaseRead)
std::unique_ptr<MockHandle> handle1 = MockHandle::create();
std::unique_ptr<MockHandle> handle2 = MockHandle::create();
std::unique_ptr<MockHandle> handle3 = MockHandle::create();
- std::unique_ptr<MockReader> reader1 = MockReader::create();
- std::unique_ptr<MockReader> reader2 = MockReader::create();
- std::unique_ptr<MockReader> reader3 = MockReader::create();
+
+ // They are adopted by |obtainReader|.
+ MockReader* reader1 = MockReader::create().release();
+ MockReader* reader2 = MockReader::create().release();
+ MockReader* reader3 = MockReader::create().release();
InSequence s;
EXPECT_CALL(checkpoint, Call(0));
- EXPECT_CALL(*handle1, obtainReaderInternal(nullptr)).WillOnce(Return(reader1.get()));
+ EXPECT_CALL(*handle1, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader1))));
EXPECT_CALL(checkpoint, Call(1));
EXPECT_CALL(*reader1, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(2));
EXPECT_CALL(checkpoint, Call(3));
EXPECT_CALL(*reader1, endRead(0)).WillOnce(Return(kOk));
- EXPECT_CALL(*handle2, obtainReaderInternal(nullptr)).WillOnce(Return(reader2.get()));
+ EXPECT_CALL(*handle2, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader2))));
EXPECT_CALL(checkpoint, Call(4));
EXPECT_CALL(*reader2, beginRead(&p, kNone, &size)).WillOnce(Return(kShouldWait));
EXPECT_CALL(checkpoint, Call(5));
- EXPECT_CALL(*handle3, obtainReaderInternal(nullptr)).WillOnce(Return(reader3.get()));
+ EXPECT_CALL(*handle3, obtainReader(nullptr)).WillOnce(Return(ByMove(WTF::wrapUnique(reader3))));
EXPECT_CALL(checkpoint, Call(6));
EXPECT_CALL(*reader3, beginRead(&p, kNone, &size)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(7));
EXPECT_CALL(*reader3, endRead(0)).WillOnce(Return(kOk));
EXPECT_CALL(checkpoint, Call(8));
- // They are adopted by |obtainReader|.
- ASSERT_TRUE(reader1.release());
- ASSERT_TRUE(reader2.release());
- ASSERT_TRUE(reader3.release());
-
CompositeDataConsumerHandle::Updater* updater = nullptr;
std::unique_ptr<WebDataConsumerHandle> handle = CompositeDataConsumerHandle::create(std::move(handle1), &updater);
checkpoint.Call(0);

Powered by Google App Engine
This is Rietveld 408576698