| // Copyright 2017 The Fuchsia 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 "src/lib/fsl/socket/strings.h" |
| |
| #include <lib/zx/socket.h> |
| |
| #include <string> |
| |
| #include <gtest/gtest.h> |
| |
| namespace fsl { |
| namespace { |
| |
| TEST(SocketAndString, BlockingCopy) { |
| zx::socket socket0, socket1; |
| EXPECT_EQ(ZX_OK, zx::socket::create(0, &socket0, &socket1)); |
| |
| EXPECT_TRUE(BlockingCopyFromString("Payload", socket0)); |
| socket0.reset(); |
| |
| std::string result; |
| EXPECT_TRUE(BlockingCopyToString(std::move(socket1), &result)); |
| EXPECT_EQ(result, "Payload"); |
| |
| zx::socket socket = WriteStringToSocket("Another payload"); |
| |
| EXPECT_TRUE(BlockingCopyToString(std::move(socket), &result)); |
| EXPECT_EQ(result, "Another payload"); |
| } |
| |
| } // namespace |
| } // namespace fsl |