mojo_socket_test_util.cc 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "services/network/mojo_socket_test_util.h"
  5. #include "testing/gtest/include/gtest/gtest.h"
  6. namespace network {
  7. TestSocketObserver::TestSocketObserver() = default;
  8. TestSocketObserver::~TestSocketObserver() {
  9. EXPECT_EQ(net::OK, read_error_);
  10. EXPECT_EQ(net::OK, write_error_);
  11. }
  12. mojo::PendingRemote<mojom::SocketObserver>
  13. TestSocketObserver::GetObserverRemote() {
  14. DCHECK(!receiver_.is_bound());
  15. return receiver_.BindNewPipeAndPassRemote();
  16. }
  17. int TestSocketObserver::WaitForReadError() {
  18. read_loop_.Run();
  19. int error = read_error_;
  20. read_error_ = net::OK;
  21. return error;
  22. }
  23. int TestSocketObserver::WaitForWriteError() {
  24. write_loop_.Run();
  25. int error = write_error_;
  26. write_error_ = net::OK;
  27. return error;
  28. }
  29. void TestSocketObserver::OnReadError(int net_error) {
  30. read_error_ = net_error;
  31. read_loop_.Quit();
  32. }
  33. void TestSocketObserver::OnWriteError(int net_error) {
  34. write_error_ = net_error;
  35. write_loop_.Quit();
  36. }
  37. } // namespace network