diff --git a/src/uvw/handle.hpp b/src/uvw/handle.hpp index c4197199..9edd0b85 100644 --- a/src/uvw/handle.hpp +++ b/src/uvw/handle.hpp @@ -163,7 +163,7 @@ public: * * @return The size of the send buffer, 0 in case of errors. */ - int sendBufferSize() const { + int sendBufferSize() { int value = 0; auto err = uv_send_buffer_size(this->template get(), &value); return err ? 0 : value; @@ -195,7 +195,7 @@ public: * * @return The size of the receive buffer, 0 in case of errors. */ - int recvBufferSize() const { + int recvBufferSize() { int value = 0; auto err = uv_recv_buffer_size(this->template get(), &value); return err ? 0 : value; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 140da7e2..7ba15032 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -35,6 +35,7 @@ set(TARGET_MAIN main) set(TARGET_ASYNC async) set(TARGET_CHECK check) set(TARGET_EMITTER emitter) +set(TARGET_HANDLE handle) set(TARGET_IDLE idle) set(TARGET_LOOP loop) set(TARGET_PREPARE prepare) @@ -74,6 +75,14 @@ target_include_directories(${TARGET_EMITTER} PRIVATE ${COMMON_INCLUDE_DIRS}) target_link_libraries(${TARGET_EMITTER} PRIVATE ${COMMON_LINK_LIBS}) add_test(NAME ${TARGET_EMITTER} COMMAND ${TARGET_EMITTER}) +# Test TARGET_HANDLE + +set(TARGET_HANDLE_SOURCES $ uvw/handle.cpp) +add_executable(${TARGET_HANDLE} ${TARGET_HANDLE_SOURCES}) +target_include_directories(${TARGET_HANDLE} PRIVATE ${COMMON_INCLUDE_DIRS}) +target_link_libraries(${TARGET_HANDLE} PRIVATE ${COMMON_LINK_LIBS}) +add_test(NAME ${TARGET_HANDLE} COMMAND ${TARGET_HANDLE}) + # Test TARGET_IDLE set(TARGET_IDLE_SOURCES $ uvw/idle.cpp) diff --git a/test/uvw/handle.cpp b/test/uvw/handle.cpp new file mode 100644 index 00000000..bd50b70a --- /dev/null +++ b/test/uvw/handle.cpp @@ -0,0 +1,28 @@ +#include +#include + + +TEST(Handle, Functionalities) { + auto loop = uvw::Loop::getDefault(); + auto handle = loop->resource(); + + ASSERT_TRUE(handle->active()); + ASSERT_FALSE(handle->closing()); + ASSERT_NO_THROW(handle->close()); + ASSERT_FALSE(handle->active()); + + ASSERT_NO_THROW(handle->reference()); + ASSERT_TRUE(handle->referenced()); + ASSERT_NO_THROW(handle->unreference()); + ASSERT_FALSE(handle->referenced()); + + ASSERT_NE(handle->size(), static_castsize())>(0)); + + ASSERT_EQ(handle->sendBufferSize(), static_castsendBufferSize())>(0)); + ASSERT_FALSE(handle->sendBufferSize(0)); + + ASSERT_EQ(handle->recvBufferSize(), static_castrecvBufferSize())>(0)); + ASSERT_FALSE(handle->recvBufferSize(0)); + + ASSERT_NO_THROW(handle->fileno()); +}