From 90aa53f68d5617ac77b24ccd598fdfc3a8eb3b41 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Wed, 13 Sep 2017 22:43:31 +0200 Subject: [PATCH] WIP: tests --- test/uvw/tcp.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/uvw/tcp.cpp b/test/uvw/tcp.cpp index 64221f67..925ebe71 100644 --- a/test/uvw/tcp.cpp +++ b/test/uvw/tcp.cpp @@ -139,3 +139,31 @@ TEST(Tcp, Shutdown) { loop->run(); } + + +TEST(Tcp, WriteError) { + auto loop = uvw::Loop::getDefault(); + auto handle = loop->resource(); + + bool checkWriteSmartPtrErrorEvent = false; + bool checkWriteNakedPtrErrorEvent = false; + bool checkTryWriteSmartPtrErrorEvent = false; + bool checkTryWriteNakedPtrErrorEvent = false; + + handle->close(); + handle->once([&checkWriteSmartPtrErrorEvent](const auto &, auto &) { checkWriteSmartPtrErrorEvent = true; }); + handle->write(std::unique_ptr{}, 0); + handle->once([&checkWriteNakedPtrErrorEvent](const auto &, auto &) { checkWriteNakedPtrErrorEvent = true; }); + handle->write(nullptr, 0); + handle->once([&checkTryWriteSmartPtrErrorEvent](const auto &, auto &) { checkTryWriteSmartPtrErrorEvent = true; }); + handle->tryWrite(std::unique_ptr{}, 0); + handle->once([&checkTryWriteNakedPtrErrorEvent](const auto &, auto &) { checkTryWriteNakedPtrErrorEvent = true; }); + handle->tryWrite(nullptr, 0); + + loop->run(); + + ASSERT_TRUE(checkWriteSmartPtrErrorEvent); + ASSERT_TRUE(checkWriteNakedPtrErrorEvent); + ASSERT_TRUE(checkTryWriteSmartPtrErrorEvent); + ASSERT_TRUE(checkTryWriteNakedPtrErrorEvent); +}