123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // Copyright 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "services/network/test_chunked_data_pipe_getter.h"
- #include "base/check.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace network {
- TestChunkedDataPipeGetter::TestChunkedDataPipeGetter() = default;
- TestChunkedDataPipeGetter::~TestChunkedDataPipeGetter() = default;
- mojo::PendingRemote<mojom::ChunkedDataPipeGetter>
- TestChunkedDataPipeGetter::GetDataPipeGetterRemote() {
- EXPECT_FALSE(receiver_.is_bound());
- return receiver_.BindNewPipeAndPassRemote();
- }
- void TestChunkedDataPipeGetter::ClosePipe() {
- receiver_.reset();
- }
- mojom::ChunkedDataPipeGetter::GetSizeCallback
- TestChunkedDataPipeGetter::WaitForGetSize() {
- DCHECK(!get_size_run_loop_);
- if (!get_size_callback_) {
- get_size_run_loop_ = std::make_unique<base::RunLoop>();
- get_size_run_loop_->Run();
- get_size_run_loop_.reset();
- }
- EXPECT_TRUE(get_size_callback_);
- return std::move(get_size_callback_);
- }
- mojo::ScopedDataPipeProducerHandle
- TestChunkedDataPipeGetter::WaitForStartReading() {
- DCHECK(!start_reading_run_loop_);
- if (!write_pipe_.is_valid()) {
- start_reading_run_loop_ = std::make_unique<base::RunLoop>();
- start_reading_run_loop_->Run();
- start_reading_run_loop_.reset();
- }
- EXPECT_TRUE(write_pipe_.is_valid());
- return std::move(write_pipe_);
- }
- void TestChunkedDataPipeGetter::GetSize(GetSizeCallback get_size_callback) {
- EXPECT_FALSE(received_size_callback_);
- EXPECT_FALSE(get_size_callback_);
- received_size_callback_ = true;
- get_size_callback_ = std::move(get_size_callback);
- if (get_size_run_loop_)
- get_size_run_loop_->Quit();
- }
- void TestChunkedDataPipeGetter::StartReading(
- mojo::ScopedDataPipeProducerHandle pipe) {
- EXPECT_FALSE(write_pipe_.is_valid());
- EXPECT_TRUE(received_size_callback_);
- write_pipe_ = std::move(pipe);
- if (start_reading_run_loop_)
- start_reading_run_loop_->Quit();
- }
- } // namespace network
|