diff options
Diffstat (limited to '3rdparty/asio/src/tests/unit/ip/network_v4.cpp')
-rw-r--r-- | 3rdparty/asio/src/tests/unit/ip/network_v4.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/3rdparty/asio/src/tests/unit/ip/network_v4.cpp b/3rdparty/asio/src/tests/unit/ip/network_v4.cpp index 7d07ffd6928..06fb34d0dbd 100644 --- a/3rdparty/asio/src/tests/unit/ip/network_v4.cpp +++ b/3rdparty/asio/src/tests/unit/ip/network_v4.cpp @@ -2,7 +2,7 @@ // network_v4.cpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2014 Oliver Kowalke (oliver dot kowalke at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -95,15 +95,15 @@ void test() net1 = ip::make_network_v4("10.0.0.0/8", ec); net1 = ip::make_network_v4(s1); net1 = ip::make_network_v4(s1, ec); -#if defined(ASIO_HAS_STD_STRING_VIEW) -# if defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) - std::experimental::string_view string_view_value("10.0.0.0/8"); -# else // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) +#if defined(ASIO_HAS_STRING_VIEW) +# if defined(ASIO_HAS_STD_STRING_VIEW) std::string_view string_view_value("10.0.0.0/8"); +# elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) + std::experimental::string_view string_view_value("10.0.0.0/8"); # endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW) net1 = ip::make_network_v4(string_view_value); net1 = ip::make_network_v4(string_view_value, ec); -#endif // defined(ASIO_HAS_STD_STRING_VIEW) +#endif // defined(ASIO_HAS_STRING_VIEW) // network_v4 I/O. @@ -220,6 +220,19 @@ void test() ASIO_CHECK(make_network_v4("192.168.77.100/24").network() == make_address_v4("192.168.77.0")); ASIO_CHECK(make_network_v4("192.168.77.128/25").network() == make_address_v4("192.168.77.128")); + // construct network from invalid string + asio::error_code ec; + make_network_v4("10.0.0.256/24", ec); + ASIO_CHECK(!!ec); + make_network_v4("10.0.0.0/33", ec); + ASIO_CHECK(!!ec); + make_network_v4("10.0.0.0/-1", ec); + ASIO_CHECK(!!ec); + make_network_v4("10.0.0.0/", ec); + ASIO_CHECK(!!ec); + make_network_v4("10.0.0.0", ec); + ASIO_CHECK(!!ec); + // prefix length ASIO_CHECK(make_network_v4("193.99.144.80/24").prefix_length() == 24); ASIO_CHECK(network_v4(make_address_v4("193.99.144.80"), 24).prefix_length() == 24); |