@@ -28,84 +28,115 @@ using namespace boost::program_options;
2828
2929BOOST_AUTO_TEST_CASE (endpoint__construct__empty__throws_invalid_option)
3030{
31- BOOST_REQUIRE_THROW (endpoint host (" " ), invalid_option_value);
31+ BOOST_REQUIRE_THROW (endpoint instance (" " ), invalid_option_value);
3232}
3333
3434BOOST_AUTO_TEST_CASE (endpoint__construct__question_mark__throws_invalid_option_value)
3535{
36- BOOST_REQUIRE_THROW (endpoint host (" foo.bar?foobar:42" ), invalid_option_value);
36+ BOOST_REQUIRE_THROW (endpoint instance (" foo.bar?foobar:42" ), invalid_option_value);
3737}
3838
3939BOOST_AUTO_TEST_CASE (endpoint__construct__forward_slash__throws_invalid_option_value)
4040{
41- BOOST_REQUIRE_THROW (endpoint host (" foo.bar/foobar:42" ), invalid_option_value);
41+ BOOST_REQUIRE_THROW (endpoint instance (" foo.bar/foobar:42" ), invalid_option_value);
4242}
4343
4444BOOST_AUTO_TEST_CASE (endpoint__construct__backslash__throws_invalid_option_value)
4545{
46- BOOST_REQUIRE_THROW (endpoint host (" foo.bar\\ foobar:42" ), invalid_option_value);
46+ BOOST_REQUIRE_THROW (endpoint instance (" foo.bar\\ foobar:42" ), invalid_option_value);
4747}
4848
4949BOOST_AUTO_TEST_CASE (endpoint__construct__host_colon__throws_invalid_option_value)
5050{
51- BOOST_REQUIRE_THROW (endpoint host (" foo.bar:foobar:42" ), invalid_option_value);
51+ BOOST_REQUIRE_THROW (endpoint instance (" foo.bar:foobar:42" ), invalid_option_value);
5252}
5353
5454BOOST_AUTO_TEST_CASE (endpoint__construct__ipv6_non_literal__throws_invalid_option_value)
5555{
56- BOOST_REQUIRE_THROW (endpoint host (" a::bc:def::123:45:6" ), invalid_option_value);
56+ BOOST_REQUIRE_THROW (endpoint instance (" a::bc:def::123:45:6" ), invalid_option_value);
5757}
5858
5959BOOST_AUTO_TEST_CASE (endpoint__construct__default__localhost)
6060{
61- endpoint host{};
62- BOOST_REQUIRE_EQUAL (host.host (), " localhost" );
63- BOOST_REQUIRE_EQUAL (host.port (), 0u );
64- BOOST_REQUIRE_EQUAL (host.to_string (), " localhost" );
61+ endpoint instance{};
62+ BOOST_REQUIRE_EQUAL (instance.host (), " localhost" );
63+ BOOST_REQUIRE_EQUAL (instance.port (), 0u );
64+ BOOST_REQUIRE_EQUAL (instance.to_string (), " localhost" );
65+ BOOST_REQUIRE_EQUAL (instance.to_string (0 ), " localhost" );
66+ BOOST_REQUIRE_EQUAL (instance.to_string (42 ), " localhost:42" );
67+ BOOST_REQUIRE_EQUAL (instance.to_lower (), " localhost" );
68+ BOOST_REQUIRE_EQUAL (instance.to_lower (0 ), " localhost" );
69+ BOOST_REQUIRE_EQUAL (instance.to_lower (42 ), " localhost:42" );
6570}
6671
6772BOOST_AUTO_TEST_CASE (endpoint__construct__host__expected_values)
6873{
69- endpoint host (" foo" );
70- BOOST_REQUIRE_EQUAL (host.host (), " foo" );
71- BOOST_REQUIRE_EQUAL (host.port (), 0u );
72- BOOST_REQUIRE_EQUAL (host.to_string (), " foo" );
74+ endpoint instance (" FOO" );
75+ BOOST_REQUIRE_EQUAL (instance.host (), " FOO" );
76+ BOOST_REQUIRE_EQUAL (instance.port (), 0u );
77+ BOOST_REQUIRE_EQUAL (instance.to_string (), " FOO" );
78+ BOOST_REQUIRE_EQUAL (instance.to_string (0 ), " FOO" );
79+ BOOST_REQUIRE_EQUAL (instance.to_string (42 ), " FOO:42" );
80+ BOOST_REQUIRE_EQUAL (instance.to_lower (), " foo" );
81+ BOOST_REQUIRE_EQUAL (instance.to_lower (0 ), " foo" );
82+ BOOST_REQUIRE_EQUAL (instance.to_lower (42 ), " foo:42" );
7383}
7484
7585BOOST_AUTO_TEST_CASE (endpoint__construct__host_port__expected_values)
7686{
77- endpoint endpoint (" foo.bar:42" );
78- BOOST_REQUIRE_EQUAL (endpoint.host (), " foo.bar" );
79- BOOST_REQUIRE_EQUAL (endpoint.port (), 42u );
80- BOOST_REQUIRE_EQUAL (endpoint.to_string (), " foo.bar:42" );
87+ endpoint instance (" foo.bar:42" );
88+ BOOST_REQUIRE_EQUAL (instance.host (), " foo.bar" );
89+ BOOST_REQUIRE_EQUAL (instance.port (), 42u );
90+ BOOST_REQUIRE_EQUAL (instance.to_string (), " foo.bar:42" );
91+ BOOST_REQUIRE_EQUAL (instance.to_string (0 ), " foo.bar:42" );
92+ BOOST_REQUIRE_EQUAL (instance.to_string (80 ), " foo.bar:42" );
93+ BOOST_REQUIRE_EQUAL (instance.to_lower (), " foo.bar:42" );
94+ BOOST_REQUIRE_EQUAL (instance.to_lower (0 ), " foo.bar:42" );
95+ BOOST_REQUIRE_EQUAL (instance.to_lower (80 ), " foo.bar:42" );
8196}
8297
8398BOOST_AUTO_TEST_CASE (endpoint__construct__ipv4_port__expected_values)
8499{
85- endpoint host (" 127.0.0.1:42" );
86- BOOST_REQUIRE_EQUAL (host.host (), " 127.0.0.1" );
87- BOOST_REQUIRE_EQUAL (host.port (), 42u );
88- BOOST_REQUIRE_EQUAL (host.to_string (), " 127.0.0.1:42" );
100+ endpoint instance (" 127.0.0.1:42" );
101+ BOOST_REQUIRE_EQUAL (instance.host (), " 127.0.0.1" );
102+ BOOST_REQUIRE_EQUAL (instance.port (), 42u );
103+ BOOST_REQUIRE_EQUAL (instance.to_string (), " 127.0.0.1:42" );
104+ BOOST_REQUIRE_EQUAL (instance.to_string (0 ), " 127.0.0.1:42" );
105+ BOOST_REQUIRE_EQUAL (instance.to_string (80 ), " 127.0.0.1:42" );
106+ BOOST_REQUIRE_EQUAL (instance.to_lower (), " 127.0.0.1:42" );
107+ BOOST_REQUIRE_EQUAL (instance.to_lower (0 ), " 127.0.0.1:42" );
108+ BOOST_REQUIRE_EQUAL (instance.to_lower (80 ), " 127.0.0.1:42" );
89109}
90110
91111BOOST_AUTO_TEST_CASE (endpoint__construct__ipv6_port__expected_values)
92112{
93- endpoint host (" [a::bc:def::123:45:6]:42" );
94- BOOST_REQUIRE_EQUAL (host.host (), " [a::bc:def::123:45:6]" );
95- BOOST_REQUIRE_EQUAL (host.port (), 42u );
96- BOOST_REQUIRE_EQUAL (host.to_string (), " [a::bc:def::123:45:6]:42" );
113+ // Requires lower case hex.
114+ endpoint instance (" [a::bc:def::123:45:6]:42" );
115+ BOOST_REQUIRE_EQUAL (instance.host (), " [a::bc:def::123:45:6]" );
116+ BOOST_REQUIRE_EQUAL (instance.port (), 42u );
117+ BOOST_REQUIRE_EQUAL (instance.to_string (), " [a::bc:def::123:45:6]:42" );
118+ BOOST_REQUIRE_EQUAL (instance.to_string (0 ), " [a::bc:def::123:45:6]:42" );
119+ BOOST_REQUIRE_EQUAL (instance.to_string (80 ), " [a::bc:def::123:45:6]:42" );
120+ BOOST_REQUIRE_EQUAL (instance.to_lower (), " [a::bc:def::123:45:6]:42" );
121+ BOOST_REQUIRE_EQUAL (instance.to_lower (0 ), " [a::bc:def::123:45:6]:42" );
122+ BOOST_REQUIRE_EQUAL (instance.to_lower (80 ), " [a::bc:def::123:45:6]:42" );
97123}
98124
99125// to_local
100126
101127BOOST_AUTO_TEST_CASE (endpoint__to_local__host_port__expected_values)
102128{
103129 endpoint original (" *:12345" );
104- const auto host = original.to_local ();
105- BOOST_REQUIRE_EQUAL (host .host (), " localhost" );
106- BOOST_REQUIRE_EQUAL (host .port (), 12345u );
107- BOOST_REQUIRE_EQUAL (host .to_string (), " localhost:12345" );
130+ const auto instance = original.to_local ();
131+ BOOST_REQUIRE_EQUAL (instance .host (), " localhost" );
132+ BOOST_REQUIRE_EQUAL (instance .port (), 12345u );
133+ BOOST_REQUIRE_EQUAL (instance .to_string (), " localhost:12345" );
108134 BOOST_REQUIRE_EQUAL (original.to_string (), " *:12345" );
135+ BOOST_REQUIRE_EQUAL (original.to_string (0 ), " *:12345" );
136+ BOOST_REQUIRE_EQUAL (original.to_string (80 ), " *:12345" );
137+ BOOST_REQUIRE_EQUAL (original.to_lower (), " *:12345" );
138+ BOOST_REQUIRE_EQUAL (original.to_lower (0 ), " *:12345" );
139+ BOOST_REQUIRE_EQUAL (original.to_lower (80 ), " *:12345" );
109140}
110141
111142// equality
0 commit comments