Skip to content

Commit 982fd4c

Browse files
committed
Fixing tests and adding URI wrapper and directive tests.
1 parent 534f964 commit 982fd4c

File tree

2 files changed

+44
-12
lines changed

2 files changed

+44
-12
lines changed

boost/network/protocol/http/impl/request.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ namespace boost { namespace network { namespace http {
9797
uri_ = new_uri;
9898
}
9999

100+
boost::network::uri::http::uri const uri() const {
101+
return uri_;
102+
}
103+
100104
};
101105

102106
/** This is the implementation of a POD request type

libs/network/test/http_message_test.cpp

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,16 @@ BOOST_AUTO_TEST_CASE_TEMPLATE (request_copy_constructor_test, T, tag_types) {
5050
<< body("Hello, World!")
5151
;
5252
http::basic_request<T> copy(request);
53-
BOOST_CHECK_EQUAL ( copy.host(), request.host() );
54-
BOOST_CHECK_EQUAL ( copy.port(), request.port() );
55-
BOOST_CHECK_EQUAL ( request.path(), request.path() );
53+
typedef http::basic_request<T>::string_type string_type;
54+
string_type orig_host = http::host(request),
55+
copy_host = http::host(copy);
56+
boost::uint16_t orig_port = http::port(request),
57+
copy_port = http::port(copy);
58+
string_type orig_path = http::path(request),
59+
copy_path = http::path(copy);
60+
BOOST_CHECK_EQUAL ( orig_host, copy_host );
61+
BOOST_CHECK_EQUAL ( orig_port, copy_port );
62+
BOOST_CHECK_EQUAL ( orig_path, copy_path );
5663
BOOST_CHECK_EQUAL ( body(request), body(copy) );
5764
}
5865

@@ -63,22 +70,43 @@ BOOST_AUTO_TEST_CASE_TEMPLATE (request_assignment_test, T, tag_types) {
6370
;
6471
http::basic_request<T> copy;
6572
copy = request;
66-
BOOST_CHECK_EQUAL ( copy.host(), request.host() );
67-
BOOST_CHECK_EQUAL ( copy.port(), request.port() );
68-
BOOST_CHECK_EQUAL ( request.path(), request.path() );
73+
typedef http::basic_request<T>::string_type string_type;
74+
string_type orig_host = http::host(request),
75+
copy_host = http::host(copy);
76+
boost::uint16_t orig_port = http::port(request),
77+
copy_port = http::port(copy);
78+
string_type orig_path = http::path(request),
79+
copy_path = http::path(copy);
80+
BOOST_CHECK_EQUAL ( orig_host, copy_host );
81+
BOOST_CHECK_EQUAL ( orig_port, copy_port );
82+
BOOST_CHECK_EQUAL ( orig_path, copy_path );
6983
BOOST_CHECK_EQUAL ( body(request), body(copy) );
7084
}
7185

7286
BOOST_AUTO_TEST_CASE_TEMPLATE (request_swap_test, T, tag_types) {
7387
boost::network::http::basic_request<T> request("http://boost.org/");
7488
boost::network::http::basic_request<T> other;
7589
swap(other, request); // ADL
76-
BOOST_CHECK_EQUAL ( request.host(), "" );
77-
BOOST_CHECK_EQUAL ( request.port(), 80u );
78-
BOOST_CHECK_EQUAL ( request.path(), "/" );
79-
BOOST_CHECK_EQUAL ( other.host(), "boost.org" );
80-
BOOST_CHECK_EQUAL ( other.port(), 80u );
81-
BOOST_CHECK_EQUAL ( other.path(), "/" );
90+
typedef http::basic_request<T>::string_type string_type;
91+
string_type orig_host = http::host(request),
92+
orig_path = http::path(request),
93+
copy_host = http::host(other),
94+
copy_path = http::path(other);
95+
boost::uint16_t orig_port = http::port(request),
96+
copy_port = http::port(request);
97+
BOOST_CHECK_EQUAL ( orig_host, "" );
98+
BOOST_CHECK_EQUAL ( orig_port, 80u );
99+
BOOST_CHECK_EQUAL ( orig_path, "/" );
100+
BOOST_CHECK_EQUAL ( copy_host, "boost.org" );
101+
BOOST_CHECK_EQUAL ( copy_port, 80u );
102+
BOOST_CHECK_EQUAL ( copy_path, "/" );
103+
}
104+
105+
BOOST_AUTO_TEST_CASE_TEMPLATE (request_uri_directive_test, T, tag_types) {
106+
http::basic_request<T> request;
107+
request << http::uri("http://boost.org/");
108+
typename http::basic_request<T>::string_type uri_ = http::uri(request);
109+
BOOST_CHECK_EQUAL(uri_, "http://boost.org/");
82110
}
83111

84112
BOOST_AUTO_TEST_CASE_TEMPLATE (response_constructor_test, T, tag_types) {

0 commit comments

Comments
 (0)