xref: /haiku/src/tests/kits/net/libnetapi/NetworkUrlTest.cpp (revision fa2dd9c45fbbc25cfa47265737124526ef1ae007)
1*fa2dd9c4SAndrew Lindesay /*
2*fa2dd9c4SAndrew Lindesay  * Copyright 2016, Andrew Lindesay, apl@lindesay.co.nz.
3*fa2dd9c4SAndrew Lindesay  * Distributed under the terms of the MIT License.
4*fa2dd9c4SAndrew Lindesay  */
5*fa2dd9c4SAndrew Lindesay 
6*fa2dd9c4SAndrew Lindesay 
7*fa2dd9c4SAndrew Lindesay #include "NetworkUrlTest.h"
8*fa2dd9c4SAndrew Lindesay 
9*fa2dd9c4SAndrew Lindesay #include <Url.h>
10*fa2dd9c4SAndrew Lindesay 
11*fa2dd9c4SAndrew Lindesay #include <cppunit/TestCaller.h>
12*fa2dd9c4SAndrew Lindesay #include <cppunit/TestSuite.h>
13*fa2dd9c4SAndrew Lindesay 
14*fa2dd9c4SAndrew Lindesay 
15*fa2dd9c4SAndrew Lindesay NetworkUrlTest::NetworkUrlTest()
16*fa2dd9c4SAndrew Lindesay {
17*fa2dd9c4SAndrew Lindesay }
18*fa2dd9c4SAndrew Lindesay 
19*fa2dd9c4SAndrew Lindesay 
20*fa2dd9c4SAndrew Lindesay NetworkUrlTest::~NetworkUrlTest()
21*fa2dd9c4SAndrew Lindesay {
22*fa2dd9c4SAndrew Lindesay }
23*fa2dd9c4SAndrew Lindesay 
24*fa2dd9c4SAndrew Lindesay 
25*fa2dd9c4SAndrew Lindesay void
26*fa2dd9c4SAndrew Lindesay NetworkUrlTest::setUp()
27*fa2dd9c4SAndrew Lindesay {
28*fa2dd9c4SAndrew Lindesay }
29*fa2dd9c4SAndrew Lindesay 
30*fa2dd9c4SAndrew Lindesay 
31*fa2dd9c4SAndrew Lindesay void
32*fa2dd9c4SAndrew Lindesay NetworkUrlTest::tearDown()
33*fa2dd9c4SAndrew Lindesay {
34*fa2dd9c4SAndrew Lindesay }
35*fa2dd9c4SAndrew Lindesay 
36*fa2dd9c4SAndrew Lindesay 
37*fa2dd9c4SAndrew Lindesay // General Tests ---------------------------------------------------------------
38*fa2dd9c4SAndrew Lindesay 
39*fa2dd9c4SAndrew Lindesay /*
40*fa2dd9c4SAndrew Lindesay This is the "happy days" tests that checks that a URL featuring all of the
41*fa2dd9c4SAndrew Lindesay parsed elements successfully processes and the elements are present.
42*fa2dd9c4SAndrew Lindesay */
43*fa2dd9c4SAndrew Lindesay 
44*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestValidFullUrl()
45*fa2dd9c4SAndrew Lindesay {
46*fa2dd9c4SAndrew Lindesay 	BUrl url("http://ewe:pea@www.something.co.nz:8888/some/path?key1=value1#fragment");
47*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
48*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "http");
49*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
50*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.UserName() == "ewe");
51*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasUserName());
52*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Password() == "pea");
53*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPassword());
54*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
55*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
56*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Port() == 8888);
57*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPort());
58*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Path() == "/some/path");
59*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPath());
60*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Request() == "key1=value1");
61*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasRequest());
62*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Fragment() == "fragment");
63*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasFragment());
64*fa2dd9c4SAndrew Lindesay }
65*fa2dd9c4SAndrew Lindesay 
66*fa2dd9c4SAndrew Lindesay 
67*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestFileUrl()
68*fa2dd9c4SAndrew Lindesay {
69*fa2dd9c4SAndrew Lindesay 	BUrl url("file:///northisland/wellington/brooklyn/windturbine");
70*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
71*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "file");
72*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
73*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
74*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
75*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "");
76*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
77*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPort());
78*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Path() == "/northisland/wellington/brooklyn/windturbine");
79*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPath());
80*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
81*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
82*fa2dd9c4SAndrew Lindesay }
83*fa2dd9c4SAndrew Lindesay 
84*fa2dd9c4SAndrew Lindesay 
85*fa2dd9c4SAndrew Lindesay // Authority Tests (UserName, Password, Host, Port) ----------------------------
86*fa2dd9c4SAndrew Lindesay 
87*fa2dd9c4SAndrew Lindesay 
88*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestWithUserNameAndPasswordNoHostAndPort()
89*fa2dd9c4SAndrew Lindesay {
90*fa2dd9c4SAndrew Lindesay 	BUrl url("wierd://tea:tree@/x");
91*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
92*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "wierd");
93*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
94*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.UserName() == "tea");
95*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasUserName());
96*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Password() == "tree");
97*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPassword());
98*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "");
99*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasHost());
100*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPort());
101*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Path() == "/x");
102*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPath());
103*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
104*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
105*fa2dd9c4SAndrew Lindesay }
106*fa2dd9c4SAndrew Lindesay 
107*fa2dd9c4SAndrew Lindesay 
108*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHostAndPortWithNoUserNameAndPassword()
109*fa2dd9c4SAndrew Lindesay {
110*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz:443/z");
111*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
112*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "https");
113*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
114*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
115*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
116*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Port() == 443);
117*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPort());
118*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
119*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
120*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Path() == "/z");
121*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPath());
122*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
123*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
124*fa2dd9c4SAndrew Lindesay }
125*fa2dd9c4SAndrew Lindesay 
126*fa2dd9c4SAndrew Lindesay 
127*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHostWithNoPortOrUserNameAndPassword()
128*fa2dd9c4SAndrew Lindesay {
129*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz/z");
130*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
131*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "https");
132*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
133*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
134*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
135*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
136*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
137*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPort());
138*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Path() == "/z");
139*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPath());
140*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
141*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
142*fa2dd9c4SAndrew Lindesay }
143*fa2dd9c4SAndrew Lindesay 
144*fa2dd9c4SAndrew Lindesay 
145*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHostWithNoPortNoPath()
146*fa2dd9c4SAndrew Lindesay {
147*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz");
148*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
149*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "https");
150*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
151*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
152*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
153*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
154*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
155*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPort());
156*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPath());
157*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
158*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
159*fa2dd9c4SAndrew Lindesay }
160*fa2dd9c4SAndrew Lindesay 
161*fa2dd9c4SAndrew Lindesay 
162*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHostWithPortNoPath()
163*fa2dd9c4SAndrew Lindesay {
164*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz:1234");
165*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
166*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "https");
167*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
168*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
169*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
170*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
171*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
172*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Port() == 1234);
173*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasPort());
174*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPath());
175*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
176*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
177*fa2dd9c4SAndrew Lindesay }
178*fa2dd9c4SAndrew Lindesay 
179*fa2dd9c4SAndrew Lindesay 
180*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHostWithEmptyPort()
181*fa2dd9c4SAndrew Lindesay {
182*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz:");
183*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.IsValid());
184*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Protocol() == "https");
185*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasProtocol());
186*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasUserName());
187*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPassword());
188*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.Host() == "www.something.co.nz");
189*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(url.HasHost());
190*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPort());
191*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasPath());
192*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasRequest());
193*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.HasFragment());
194*fa2dd9c4SAndrew Lindesay }
195*fa2dd9c4SAndrew Lindesay 
196*fa2dd9c4SAndrew Lindesay 
197*fa2dd9c4SAndrew Lindesay // Invalid Forms ---------------------------------------------------------------
198*fa2dd9c4SAndrew Lindesay 
199*fa2dd9c4SAndrew Lindesay 
200*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestWhitespaceBefore()
201*fa2dd9c4SAndrew Lindesay {
202*fa2dd9c4SAndrew Lindesay 	BUrl url("   https://www.something.co.nz/z");
203*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.IsValid());
204*fa2dd9c4SAndrew Lindesay }
205*fa2dd9c4SAndrew Lindesay 
206*fa2dd9c4SAndrew Lindesay 
207*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestWhitespaceAfter()
208*fa2dd9c4SAndrew Lindesay {
209*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.something.co.nz/z\t\t ");
210*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.IsValid());
211*fa2dd9c4SAndrew Lindesay }
212*fa2dd9c4SAndrew Lindesay 
213*fa2dd9c4SAndrew Lindesay 
214*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestWhitespaceMiddle()
215*fa2dd9c4SAndrew Lindesay {
216*fa2dd9c4SAndrew Lindesay 	BUrl url("https://www.  something.co.nz/z");
217*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.IsValid());
218*fa2dd9c4SAndrew Lindesay }
219*fa2dd9c4SAndrew Lindesay 
220*fa2dd9c4SAndrew Lindesay 
221*fa2dd9c4SAndrew Lindesay void NetworkUrlTest::TestHttpNoHost()
222*fa2dd9c4SAndrew Lindesay {
223*fa2dd9c4SAndrew Lindesay 	BUrl url("https:///z");
224*fa2dd9c4SAndrew Lindesay 	CPPUNIT_ASSERT(!url.IsValid());
225*fa2dd9c4SAndrew Lindesay }
226*fa2dd9c4SAndrew Lindesay 
227*fa2dd9c4SAndrew Lindesay 
228*fa2dd9c4SAndrew Lindesay // Control ---------------------------------------------------------------------
229*fa2dd9c4SAndrew Lindesay 
230*fa2dd9c4SAndrew Lindesay 
231*fa2dd9c4SAndrew Lindesay /*static*/ void
232*fa2dd9c4SAndrew Lindesay NetworkUrlTest::AddTests(BTestSuite& parent)
233*fa2dd9c4SAndrew Lindesay {
234*fa2dd9c4SAndrew Lindesay 	CppUnit::TestSuite& suite = *new CppUnit::TestSuite("NetworkUrlTest");
235*fa2dd9c4SAndrew Lindesay 
236*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
237*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestHostAndPortWithNoUserNameAndPassword",
238*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestHostAndPortWithNoUserNameAndPassword));
239*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
240*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestWithUserNameAndPasswordNoHostAndPort",
241*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestWithUserNameAndPasswordNoHostAndPort));
242*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
243*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestHostWithNoPortOrUserNameAndPassword",
244*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestHostWithNoPortOrUserNameAndPassword));
245*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
246*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestHostWithNoPortNoPath",
247*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestHostWithNoPortNoPath));
248*fa2dd9c4SAndrew Lindesay     suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
249*fa2dd9c4SAndrew Lindesay         "NetworkUrlTest::TestHostWithPortNoPath",
250*fa2dd9c4SAndrew Lindesay         &NetworkUrlTest::TestHostWithPortNoPath));
251*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
252*fa2dd9c4SAndrew Lindesay         "NetworkUrlTest::TestHostWithEmptyPort",
253*fa2dd9c4SAndrew Lindesay         &NetworkUrlTest::TestHostWithEmptyPort));
254*fa2dd9c4SAndrew Lindesay 
255*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
256*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestWhitespaceBefore",
257*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestWhitespaceBefore));
258*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
259*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestWhitespaceAfter",
260*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestWhitespaceAfter));
261*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
262*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestWhitespaceMiddle",
263*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestWhitespaceMiddle));
264*fa2dd9c4SAndrew Lindesay 
265*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
266*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestFileUrl",
267*fa2dd9c4SAndrew Lindesay 		&NetworkUrlTest::TestFileUrl));
268*fa2dd9c4SAndrew Lindesay 	suite.addTest(new CppUnit::TestCaller<NetworkUrlTest>(
269*fa2dd9c4SAndrew Lindesay 		"NetworkUrlTest::TestValidFullUrl", &NetworkUrlTest::TestValidFullUrl));
270*fa2dd9c4SAndrew Lindesay 
271*fa2dd9c4SAndrew Lindesay 	parent.addTest("NetworkUrlTest", &suite);
272*fa2dd9c4SAndrew Lindesay }
273