| // 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 |