forked from boostorg/beast
Add move-only handler tests
This commit is contained in:
@@ -610,10 +610,19 @@ public:
|
||||
);
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_accept(move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
testAccept();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -622,12 +622,21 @@ public:
|
||||
asio_handler_is_continuation(&op);
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_close({}, move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
testClose();
|
||||
testSuspend();
|
||||
testContHook();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -484,6 +484,14 @@ public:
|
||||
"permessage-deflate");
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_handshake("", "", move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
@@ -491,6 +499,7 @@ public:
|
||||
testExtRead();
|
||||
testExtWrite();
|
||||
testExtNegotiate();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -435,12 +435,21 @@ public:
|
||||
asio_handler_is_continuation(&op);
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_ping({}, move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
testPing();
|
||||
testSuspend();
|
||||
testContHook();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -639,6 +639,16 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_read_some(
|
||||
boost::asio::mutable_buffer{},
|
||||
move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
@@ -649,6 +659,7 @@ public:
|
||||
testIssue954();
|
||||
testIssueBF1();
|
||||
testIssueBF2();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -42,6 +42,19 @@ public:
|
||||
using ws_type =
|
||||
websocket::stream<test::stream&>;
|
||||
|
||||
struct move_only_handler
|
||||
{
|
||||
move_only_handler() = default;
|
||||
move_only_handler(move_only_handler&&) = default;
|
||||
move_only_handler(move_only_handler const&) = delete;
|
||||
|
||||
template<class... Args>
|
||||
void
|
||||
operator()(Args&&...) const
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
enum class kind
|
||||
{
|
||||
sync,
|
||||
|
||||
@@ -631,6 +631,16 @@ public:
|
||||
asio_handler_is_continuation(&op);
|
||||
}
|
||||
|
||||
void
|
||||
testMoveOnly()
|
||||
{
|
||||
boost::asio::io_context ioc;
|
||||
stream<test::stream> ws{ioc};
|
||||
ws.async_write_some(
|
||||
true, boost::asio::const_buffer{},
|
||||
move_only_handler{});
|
||||
}
|
||||
|
||||
void
|
||||
run() override
|
||||
{
|
||||
@@ -639,6 +649,7 @@ public:
|
||||
testAsyncWriteFrame();
|
||||
testIssue300();
|
||||
testContHook();
|
||||
testMoveOnly();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user