@@ -507,6 +507,47 @@ 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 (6 == *sender.send_static (zmq::buffer (" hello" )));
520+ char buf[6 ];
521+ const auto res = receiver.recv (zmq::buffer (buf));
522+ CHECK (res);
523+ CHECK (!res->truncated ());
524+ CHECK (6 == res->size );
525+ CHECK (0 == memcmp (buf, " hello" , 6 ));
526+ }
527+ #if CPPZMQ_HAS_STRING_VIEW
528+ SECTION (" send_static with std::string_view" )
529+ {
530+ CHECK (5 == *sender.send_static (std::string_view{" hello" }));
531+ char buf[5 ];
532+ const auto res = receiver.recv (zmq::buffer (buf));
533+ CHECK (res);
534+ CHECK (!res->truncated ());
535+ CHECK (5 == res->size );
536+ CHECK (0 == memcmp (buf, " hello" , 5 ));
537+ }
538+ SECTION (" send_static with char literal" )
539+ {
540+ CHECK (5 == *sender.send_static (" hello" ));
541+ char buf[5 ];
542+ const auto res = receiver.recv (zmq::buffer (buf));
543+ CHECK (res);
544+ CHECK (!res->truncated ());
545+ CHECK (5 == res->size );
546+ CHECK (0 == memcmp (buf, " hello" , 5 ));
547+ }
548+ #endif
549+ }
550+
510551#ifdef ZMQ_CPP11
511552
512553TEST_CASE (" socket send none sndmore" , " [socket]" )
0 commit comments