36 #include <boost/test/unit_test.hpp> 42 std::string address(
"http://www.dpi.inpe.br:80/terralib5/wiki/doku.php?id=wiki:documentation:devguide#modules");
50 BOOST_CHECK(copy.isValid());
52 BOOST_CHECK(uri.
scheme() ==
"http");
53 BOOST_CHECK(uri.
user() ==
"");
55 BOOST_CHECK(uri.
host() ==
"www.dpi.inpe.br");
56 BOOST_CHECK(uri.
port() ==
"80");
57 BOOST_CHECK(uri.
path() ==
"/terralib5/wiki/doku.php");
58 BOOST_CHECK(uri.
query() ==
"id=wiki:documentation:devguide");
59 BOOST_CHECK(uri.
fragment() ==
"modules");
61 BOOST_CHECK(uri.
scheme() == copy.scheme());
62 BOOST_CHECK(uri.
user() == copy.user());
63 BOOST_CHECK(uri.
password() == copy.password());
64 BOOST_CHECK(uri.
host() == copy.host());
65 BOOST_CHECK(uri.
port() == copy.port());
66 BOOST_CHECK(uri.
path() == copy.path());
67 BOOST_CHECK(uri.
query() == copy.query());
68 BOOST_CHECK(uri.
fragment() == copy.fragment());
75 std::string address(
"http://www.dpi.inpe.br:80/terralib5/wiki/doku.php?id=wiki:documentation:devguide#modules");
80 std::string address2(
"scheme2://user:password@sedac.ciesin.columbia.edu:70/geoserver/wcs?service=WCS&request=GetCapabilities#fragment");
87 BOOST_CHECK(uri2.isValid());
89 BOOST_CHECK(uri.
scheme() ==
"http");
90 BOOST_CHECK(uri.
user() ==
"");
92 BOOST_CHECK(uri.
host() ==
"www.dpi.inpe.br");
93 BOOST_CHECK(uri.
port() ==
"80");
94 BOOST_CHECK(uri.
path() ==
"/terralib5/wiki/doku.php");
95 BOOST_CHECK(uri.
query() ==
"id=wiki:documentation:devguide");
96 BOOST_CHECK(uri.
fragment() ==
"modules");
98 BOOST_CHECK(uri.
scheme() == uri2.scheme());
99 BOOST_CHECK(uri.
user() == uri2.user());
100 BOOST_CHECK(uri.
password() == uri2.password());
101 BOOST_CHECK(uri.
host() == uri2.host());
102 BOOST_CHECK(uri.
port() == uri2.port());
103 BOOST_CHECK(uri.
path() == uri2.path());
104 BOOST_CHECK(uri.
query() == uri2.query());
105 BOOST_CHECK(uri.
fragment() == uri2.fragment());
107 std::string address3(
"xmpp:example-node@example.com?message;subject=Hello%20World");
114 BOOST_CHECK(uri.isValid());
116 BOOST_CHECK(uri.scheme() == uri3.
scheme());
117 BOOST_CHECK(uri.user() == uri3.
user());
118 BOOST_CHECK(uri.password() == uri3.
password());
119 BOOST_CHECK(uri.host() == uri3.
host());
120 BOOST_CHECK(uri.port() == uri3.
port());
121 BOOST_CHECK(uri.path() == uri3.
path());
122 BOOST_CHECK(uri.query() == uri3.
query());
123 BOOST_CHECK(uri.fragment() == uri3.
fragment());
130 std::string address(
"scheme://host/ ãõáé");
135 std::string encoded(
"scheme://host/%20%C3%A3%C3%B5%C3%A1%C3%A9");
137 BOOST_CHECK_EQUAL(uri.
uri(), encoded);
144 std::string address(
"http://www.dpi.inpe.br:80/terralib5/wiki/doku.php?id=wiki:documentation:devguide#modules");
149 BOOST_CHECK(uri.
scheme() ==
"http");
150 BOOST_CHECK(uri.
user() ==
"");
152 BOOST_CHECK(uri.
host() ==
"www.dpi.inpe.br");
153 BOOST_CHECK(uri.
port() ==
"80");
154 BOOST_CHECK(uri.
path() ==
"/terralib5/wiki/doku.php");
155 BOOST_CHECK(uri.
query() ==
"id=wiki:documentation:devguide");
156 BOOST_CHECK(uri.
fragment() ==
"modules");
163 std::string address(
"http://sedac.ciesin.columbia.edu/geoserver/wcs?service=WCS&request=GetCapabilities&version=2.0.1");
168 BOOST_CHECK(uri.
scheme() ==
"http");
169 BOOST_CHECK(uri.
user() ==
"");
171 BOOST_CHECK(uri.
host() ==
"sedac.ciesin.columbia.edu");
172 BOOST_CHECK(uri.
port() ==
"");
173 BOOST_CHECK(uri.
path() ==
"/geoserver/wcs");
174 BOOST_CHECK(uri.
query() ==
"service=WCS&request=GetCapabilities&version=2.0.1");
182 std::string address(
"ftp://ftp.ftp.inpe.br:21/path/");
187 BOOST_CHECK(uri.
scheme() ==
"ftp");
188 BOOST_CHECK(uri.
user() ==
"");
190 BOOST_CHECK(uri.
host() ==
"ftp.ftp.inpe.br");
191 BOOST_CHECK(uri.
port() ==
"21");
192 BOOST_CHECK(uri.
path() ==
"/path/");
193 BOOST_CHECK(uri.
query() ==
"");
201 std::string address(
"ftp://user:password@ftp.ftp.inpe.br:21/path/");
206 BOOST_CHECK(uri.
scheme() ==
"ftp");
207 BOOST_CHECK(uri.
user() ==
"user");
208 BOOST_CHECK(uri.
password() ==
"password");
209 BOOST_CHECK(uri.
host() ==
"ftp.ftp.inpe.br");
210 BOOST_CHECK(uri.
port() ==
"21");
211 BOOST_CHECK(uri.
path() ==
"/path/");
212 BOOST_CHECK(uri.
query() ==
"");
220 std::string address(
"xmpp:example-node@example.com?message;subject=Hello%20World");
225 BOOST_CHECK(uri.
scheme() ==
"xmpp");
226 BOOST_CHECK(uri.
user() ==
"");
228 BOOST_CHECK(uri.
host() ==
"");
229 BOOST_CHECK(uri.
port() ==
"");
230 BOOST_CHECK(uri.
path() ==
"example-node@example.com");
231 BOOST_CHECK(uri.
query() ==
"message;subject=Hello%20World");
239 std::string address(
"http://www.dpi.inpe.br:80");
245 BOOST_CHECK(uri.
scheme() ==
"http");
246 BOOST_CHECK(uri.
user() ==
"");
248 BOOST_CHECK(uri.
host() ==
"www.dpi.inpe.br");
249 BOOST_CHECK(uri.
port() ==
"80");
250 BOOST_CHECK(uri.
path() ==
"");
251 BOOST_CHECK(uri.
query() ==
"");
257 std::string address(
"http://www.dpi.inpe.br");
263 BOOST_CHECK(uri.
scheme() ==
"http");
264 BOOST_CHECK(uri.
user() ==
"");
266 BOOST_CHECK(uri.
host() ==
"www.dpi.inpe.br");
267 BOOST_CHECK(uri.
port() ==
"");
268 BOOST_CHECK(uri.
path() ==
"");
269 BOOST_CHECK(uri.
query() ==
"");
275 std::string address(
"pgsql://user:password@atlas.dpi.inpe.br:5433/bdqueimadas?client_encoding=UTF8&max_connections=20");
281 BOOST_CHECK(uri.
scheme() ==
"pgsql");
282 BOOST_CHECK(uri.
user() ==
"user");
283 BOOST_CHECK(uri.
password() ==
"password");
284 BOOST_CHECK(uri.
host() ==
"atlas.dpi.inpe.br");
285 BOOST_CHECK(uri.
port() ==
"5433");
286 BOOST_CHECK(uri.
path() ==
"/bdqueimadas");
287 BOOST_CHECK(uri.
query() ==
"client_encoding=UTF8&max_connections=20");
293 std::string address(
"http://chronos.dpi.inpe.br/wfs");
299 BOOST_CHECK(uri.
scheme() ==
"http");
300 BOOST_CHECK(uri.
user() ==
"");
302 BOOST_CHECK(uri.
host() ==
"chronos.dpi.inpe.br");
303 BOOST_CHECK(uri.
port() ==
"");
304 BOOST_CHECK(uri.
path() ==
"/wfs");
305 BOOST_CHECK(uri.
query() ==
"");
311 std::string address(
"http://chronos.dpi.inpe.br/wms");
317 BOOST_CHECK(uri.
scheme() ==
"http");
318 BOOST_CHECK(uri.
user() ==
"");
320 BOOST_CHECK(uri.
host() ==
"chronos.dpi.inpe.br");
321 BOOST_CHECK(uri.
port() ==
"");
322 BOOST_CHECK(uri.
path() ==
"/wms");
323 BOOST_CHECK(uri.
query() ==
"");
329 std::string address(
"http://xxx.xxx.xx/yyy/yyy");
335 BOOST_CHECK(uri.
scheme() ==
"http");
336 BOOST_CHECK(uri.
user() ==
"");
338 BOOST_CHECK(uri.
host() ==
"xxx.xxx.xx");
339 BOOST_CHECK(uri.
port() ==
"");
340 BOOST_CHECK(uri.
path() ==
"/yyy/yyy");
341 BOOST_CHECK(uri.
query() ==
"");
347 std::string address(
"http://xxx.xxx.xx/yyy/yyy?");
353 BOOST_CHECK(uri.
scheme() ==
"http");
354 BOOST_CHECK(uri.
user() ==
"");
356 BOOST_CHECK(uri.
host() ==
"xxx.xxx.xx");
357 BOOST_CHECK(uri.
port() ==
"");
358 BOOST_CHECK(uri.
path() ==
"/yyy/yyy");
359 BOOST_CHECK(uri.
query() ==
"");
365 std::string address(
"file:///home/gribeiro/data");
371 BOOST_CHECK(uri.
scheme() ==
"file");
372 BOOST_CHECK(uri.
user() ==
"");
374 BOOST_CHECK(uri.
host() ==
"");
375 BOOST_CHECK(uri.
port() ==
"");
376 BOOST_CHECK(uri.
path() ==
"/home/gribeiro/data");
377 BOOST_CHECK(uri.
query() ==
"");
383 std::string address(
"file:///home/gribeiro/data/arq.shp");
389 BOOST_CHECK(uri.
scheme() ==
"file");
390 BOOST_CHECK(uri.
user() ==
"");
392 BOOST_CHECK(uri.
host() ==
"");
393 BOOST_CHECK(uri.
port() ==
"");
394 BOOST_CHECK(uri.
path() ==
"/home/gribeiro/data/arq.shp");
395 BOOST_CHECK(uri.
query() ==
"");
401 std::string address(
"file://C:/data/vector/mapa_distritos_sp.shp");
407 BOOST_CHECK(uri.
scheme() ==
"file");
408 BOOST_CHECK(uri.
user() ==
"");
410 BOOST_CHECK(uri.
host() ==
"C");
411 BOOST_CHECK(uri.
port() ==
"");
412 BOOST_CHECK(uri.
path() ==
":/data/vector/mapa_distritos_sp.shp");
413 BOOST_CHECK(uri.
query() ==
"");
417 BOOST_AUTO_TEST_SUITE_END()
std::string path() const
Retrieving the path.
std::string scheme() const
Retrieving the scheme.
std::string fragment() const
Retrieving the fragment.
std::string password() const
Retrieving the password information.
bool isValid() const
Return if the given URI is valid or not.
std::string query() const
Retrieving the query.
std::string port() const
Retrieving the port.
BOOST_AUTO_TEST_SUITE(uri_test_case) BOOST_AUTO_TEST_CASE(test_copy_constructor)
std::string host() const
Retrieving the host.
const std::string & uri() const
Retrieving the full URI.
A class for representing an Uniform Resource Identifier (URI).
A class for representing an Uniform Resource Identifier (URI).
BOOST_AUTO_TEST_CASE(test_copy_assignment)
std::string user() const
Retrieving the user information.