2
0
mirror of https://github.com/boostorg/url.git synced 2026-01-19 16:52:14 +00:00
Files
url/test/unit/parse.cpp
alandefreitas 96438f683e remove type aliases
fix #743
2023-04-28 17:27:26 -03:00

70 lines
1.8 KiB
C++

//
// Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// Official repository: https://github.com/boostorg/url
//
// Test that header file is self-contained.
#include <boost/url/parse.hpp>
#include "test_suite.hpp"
namespace boost {
namespace urls {
struct parse_test
{
void
run()
{
// issue 497
{
auto r = parse_uri_reference("?~");
BOOST_TEST_NO_THROW(r.value());
BOOST_TEST(r->query() == "~");
}
// issue 665
{
{
auto r = parse_uri_reference("A:\\");
BOOST_TEST_THROWS(r.value(), system::system_error);
}
{
auto r = parse_uri_reference("A:\"");
BOOST_TEST_THROWS(r.value(), system::system_error);
}
}
// reg-name might have ipv4 prefix
{
BOOST_TEST_NOT(parse_relative_ref("//0.1.0.1%"));
}
// parse docs
{
system::result< url_view > r = parse_relative_ref( "//www.boost.org/index.html?field=value#downloads" );
if ( r.has_value() )
{
url_view u = *r;
assert(u.encoded_path() == "/index.html");
}
}
{
system::result< url_view > r = parse_uri_reference( "https://www.example.com/path/to/file.txt" );
if ( r.has_value() )
{
url_view u = *r;
assert(u.encoded_path() == "/path/to/file.txt");
}
}
}
};
TEST_SUITE(
parse_test,
"boost.url.parse");
} // urls
} // boost