@@ -507,6 +507,45 @@ TEST_CASE("socket sends and receives const buffer", "[socket]")
507507 CHECK (0 == memcmp (buf, str, 2 ));
508508}
509509
510+ TEST_CASE (" socket send_static" , " [socket]" )
511+ {
512+ zmq::context_t context;
513+ zmq::socket_t sender (context, ZMQ_PAIR );
514+ zmq::socket_t receiver (context, ZMQ_PAIR );
515+ receiver.bind (" inproc://test" );
516+ sender.connect (" inproc://test" );
517+ SECTION (" send_static with const_buffer" )
518+ {
519+ CHECK (5 == *sender.send_static (zmq::buffer (" hello" )));
520+ char buf[5 ];
521+ const auto res = receiver.recv (zmq::buffer (buf));
522+ CHECK (res);
523+ CHECK (!res->truncated ());
524+ CHECK (5 == res->size );
525+ CHECK (0 == memcmp (buf, " hello" , 2 ));
526+ }
527+ SECTION (" send_static with std::string_view" )
528+ {
529+ CHECK (5 == *sender.send_static (std::string_view{" hello" }));
530+ char buf[5 ];
531+ const auto res = receiver.recv (zmq::buffer (buf));
532+ CHECK (res);
533+ CHECK (!res->truncated ());
534+ CHECK (5 == res->size );
535+ CHECK (0 == memcmp (buf, " hello" , 2 ));
536+ }
537+ SECTION (" send_static with char literal" )
538+ {
539+ CHECK (5 == *sender.send_static (" hello" ));
540+ char buf[5 ];
541+ const auto res = receiver.recv (zmq::buffer (buf));
542+ CHECK (res);
543+ CHECK (!res->truncated ());
544+ CHECK (5 == res->size );
545+ CHECK (0 == memcmp (buf, " hello" , 2 ));
546+ }
547+ }
548+
510549#ifdef ZMQ_CPP11
511550
512551TEST_CASE (" socket send none sndmore" , " [socket]" )
0 commit comments