| 1869 | } |
| 1870 | |
| 1871 | void test_4_arg_dynamic_string_read() |
| 1872 | { |
| 1873 | boost::asio::io_context ioc; |
| 1874 | test_stream s(ioc); |
| 1875 | std::string data; |
| 1876 | boost::asio::dynamic_string_buffer<char, std::string::traits_type, |
| 1877 | std::string::allocator_type> sb |
| 1878 | = boost::asio::dynamic_buffer(data, sizeof(read_data)); |
| 1879 | |
| 1880 | s.reset(read_data, sizeof(read_data)); |
| 1881 | sb.consume(sb.size()); |
| 1882 | boost::system::error_code error; |
| 1883 | size_t bytes_transferred = boost::asio::read(s, sb, |
| 1884 | boost::asio::transfer_all(), error); |
| 1885 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 1886 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 1887 | BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data))); |
| 1888 | BOOST_ASIO_CHECK(!error); |
| 1889 | |
| 1890 | s.reset(read_data, sizeof(read_data)); |
| 1891 | s.next_read_length(1); |
| 1892 | sb.consume(sb.size()); |
| 1893 | error = boost::system::error_code(); |
| 1894 | bytes_transferred = boost::asio::read(s, sb, |
| 1895 | boost::asio::transfer_all(), error); |
| 1896 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 1897 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 1898 | BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data))); |
| 1899 | BOOST_ASIO_CHECK(!error); |
| 1900 | |
| 1901 | s.reset(read_data, sizeof(read_data)); |
| 1902 | s.next_read_length(10); |
| 1903 | sb.consume(sb.size()); |
| 1904 | error = boost::system::error_code(); |
| 1905 | bytes_transferred = boost::asio::read(s, sb, |
| 1906 | boost::asio::transfer_all(), error); |
| 1907 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 1908 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 1909 | BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data))); |
| 1910 | BOOST_ASIO_CHECK(!error); |
| 1911 | |
| 1912 | s.reset(read_data, sizeof(read_data)); |
| 1913 | sb.consume(sb.size()); |
| 1914 | error = boost::system::error_code(); |
| 1915 | bytes_transferred = boost::asio::read(s, sb, |
| 1916 | boost::asio::transfer_at_least(1), error); |
| 1917 | BOOST_ASIO_CHECK(bytes_transferred == sizeof(read_data)); |
| 1918 | BOOST_ASIO_CHECK(sb.size() == sizeof(read_data)); |
| 1919 | BOOST_ASIO_CHECK(s.check_buffers(sb.data(0, sb.size()), sizeof(read_data))); |
| 1920 | BOOST_ASIO_CHECK(!error); |
| 1921 | |
| 1922 | s.reset(read_data, sizeof(read_data)); |
| 1923 | s.next_read_length(1); |
| 1924 | sb.consume(sb.size()); |
| 1925 | error = boost::system::error_code(); |
| 1926 | bytes_transferred = boost::asio::read(s, sb, |
| 1927 | boost::asio::transfer_at_least(1), error); |
| 1928 | BOOST_ASIO_CHECK(bytes_transferred == 1); |
nothing calls this directly
no test coverage detected