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

Function test_dynamic_string_read_until_char

test/read_until.cpp:102–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

100 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
101
102void test_dynamic_string_read_until_char()
103{
104 boost::asio::io_context ioc;
105 test_stream s(ioc);
106 std::string data1, data2;
107 boost::asio::dynamic_string_buffer<char, std::string::traits_type,
108 std::string::allocator_type> sb1 = boost::asio::dynamic_buffer(data1);
109 boost::asio::dynamic_string_buffer<char, std::string::traits_type,
110 std::string::allocator_type> sb2 = boost::asio::dynamic_buffer(data2, 25);
111 boost::system::error_code ec;
112
113 s.reset(read_data, sizeof(read_data));
114 sb1.consume(sb1.size());
115 std::size_t length = boost::asio::read_until(s, sb1, 'Z');
116 BOOST_ASIO_CHECK(length == 26);
117
118 s.reset(read_data, sizeof(read_data));
119 s.next_read_length(1);
120 sb1.consume(sb1.size());
121 length = boost::asio::read_until(s, sb1, 'Z');
122 BOOST_ASIO_CHECK(length == 26);
123
124 s.reset(read_data, sizeof(read_data));
125 s.next_read_length(10);
126 sb1.consume(sb1.size());
127 length = boost::asio::read_until(s, sb1, 'Z');
128 BOOST_ASIO_CHECK(length == 26);
129
130 s.reset(read_data, sizeof(read_data));
131 sb1.consume(sb1.size());
132 length = boost::asio::read_until(s, sb1, 'Z', ec);
133 BOOST_ASIO_CHECK(!ec);
134 BOOST_ASIO_CHECK(length == 26);
135
136 s.reset(read_data, sizeof(read_data));
137 s.next_read_length(1);
138 sb1.consume(sb1.size());
139 length = boost::asio::read_until(s, sb1, 'Z', ec);
140 BOOST_ASIO_CHECK(!ec);
141 BOOST_ASIO_CHECK(length == 26);
142
143 s.reset(read_data, sizeof(read_data));
144 s.next_read_length(10);
145 sb1.consume(sb1.size());
146 length = boost::asio::read_until(s, sb1, 'Z', ec);
147 BOOST_ASIO_CHECK(!ec);
148 BOOST_ASIO_CHECK(length == 26);
149
150 s.reset(read_data, sizeof(read_data));
151 sb2.consume(sb2.size());
152 length = boost::asio::read_until(s, sb2, 'Z', ec);
153 BOOST_ASIO_CHECK(ec == boost::asio::error::not_found);
154 BOOST_ASIO_CHECK(length == 0);
155
156 s.reset(read_data, sizeof(read_data));
157 s.next_read_length(1);
158 sb2.consume(sb2.size());
159 length = boost::asio::read_until(s, sb2, 'Z', ec);

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