MCPcopy Create free account
hub / github.com/boostorg/asio / test_streambuf_read_until_string

Function test_streambuf_read_until_string

test/read_until.cpp:368–454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366}
367
368void test_streambuf_read_until_string()
369{
370#if !defined(BOOST_ASIO_NO_DYNAMIC_BUFFER_V1)
371 boost::asio::io_context ioc;
372 test_stream s(ioc);
373 boost::asio::streambuf sb1;
374 boost::asio::streambuf sb2(25);
375 boost::system::error_code ec;
376
377 s.reset(read_data, sizeof(read_data));
378 sb1.consume(sb1.size());
379 std::size_t length = boost::asio::read_until(s, sb1, "XYZ");
380 BOOST_ASIO_CHECK(length == 26);
381
382 s.reset(read_data, sizeof(read_data));
383 s.next_read_length(1);
384 sb1.consume(sb1.size());
385 length = boost::asio::read_until(s, sb1, "XYZ");
386 BOOST_ASIO_CHECK(length == 26);
387
388 s.reset(read_data, sizeof(read_data));
389 s.next_read_length(10);
390 sb1.consume(sb1.size());
391 length = boost::asio::read_until(s, sb1, "XYZ");
392 BOOST_ASIO_CHECK(length == 26);
393
394 s.reset(read_data, sizeof(read_data));
395 sb1.consume(sb1.size());
396 length = boost::asio::read_until(s, sb1, "XYZ", ec);
397 BOOST_ASIO_CHECK(!ec);
398 BOOST_ASIO_CHECK(length == 26);
399
400 s.reset(read_data, sizeof(read_data));
401 s.next_read_length(1);
402 sb1.consume(sb1.size());
403 length = boost::asio::read_until(s, sb1, "XYZ", ec);
404 BOOST_ASIO_CHECK(!ec);
405 BOOST_ASIO_CHECK(length == 26);
406
407 s.reset(read_data, sizeof(read_data));
408 s.next_read_length(10);
409 sb1.consume(sb1.size());
410 length = boost::asio::read_until(s, sb1, "XYZ", ec);
411 BOOST_ASIO_CHECK(!ec);
412 BOOST_ASIO_CHECK(length == 26);
413
414 s.reset(read_data, sizeof(read_data));
415 sb2.consume(sb2.size());
416 length = boost::asio::read_until(s, sb2, "XYZ", ec);
417 BOOST_ASIO_CHECK(ec == boost::asio::error::not_found);
418 BOOST_ASIO_CHECK(length == 0);
419
420 s.reset(read_data, sizeof(read_data));
421 s.next_read_length(1);
422 sb2.consume(sb2.size());
423 length = boost::asio::read_until(s, sb2, "XYZ", ec);
424 BOOST_ASIO_CHECK(ec == boost::asio::error::not_found);
425 BOOST_ASIO_CHECK(length == 0);

Callers

nothing calls this directly

Calls 5

read_untilFunction · 0.85
resetMethod · 0.45
consumeMethod · 0.45
sizeMethod · 0.45
next_read_lengthMethod · 0.45

Tested by

no test coverage detected