summaryrefslogtreecommitdiff
path: root/tests/it_url.t
blob: 4c59004646fcf699887ba5acaa36faea9db5efb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/www/server/bin/php -qC
<?php

# Tests for url.class, currently only constructor's parser

# Create object and parse url
$url = new it_url('HTTP://falcon:joshua@www.Relog.CH:80/default.asp');

is(
	$url->url,
	'http://www.relog.ch/',
	'$url->url'
);

is(
	$url->protocol,
	'http',
	'$url->protocol'
);

is(
	$url->hostname,
	'relog.ch',
	'$url->hostname'
);

is(
	$url->realhostname,
	'www.relog.ch',
	'$url->realhostname'
);

is(
	$url->port,
	80,
	'$url->port'
);

is(
	$url->path,
	'',
	'$url->path'
);

is(
	$url->user,
	'falcon',
	'$url->user'
);

is(
	$url->pass,
	'joshua',
	'$url->pass'
);

# and now check for path
$url = new it_url('HTTP://falcon:joshua@www.Relog.CH:80/foo/bar.html');

is(
	$url->path,
	'foo/bar.html',
	'$url->path'
);

$_SERVER['HTTP_HOST'] = "gna.ch";
is(
	it_url::absolute("/"),
	'http://gna.ch:/',
	'it_url::absolute basic'
);

$_SERVER['SERVER_PORT'] = 42;
is(
	it_url::absolute("/port"),
	'http://gna.ch:42/port',
	'it_url::absolute with non-standard port'
);

$_SERVER['HTTPS'] = true;
$_SERVER['SERVER_PORT'] = 443;
is(
	it_url::absolute("/https"),
	'https://gna.ch/https',
	'it_url::absolute for https'
);

$url = new it_url('http://www.gna.ch/');
$page = $url->get();
is(
	it::match('(</html>)', $page),
	'</html>',
	'$url->get with url in constructor'
);

$url = new it_url('http://bogus.url');
$page = $url->get('http://www.gna.ch/');
is(
	it::match('(</html>)', $page),
	'</html>',
	'$url->get(url) with url as string arg'
);

$url = new it_url('http://bogus.url');
$page = $url->get(array('url' => 'http://www.gna.ch/'));
is(
	it::match('(</html>)', $page),
	'</html>',
	'$url->get(\'url\' => url) with url as named arg'
);
is(
	$url->result,
	200,
	'$url->result = 200'
);
is(
	$url->headers['Connection'],
	'close',
	'$url->headers correctly set'
);

unset($url, $page);
$page = it_url::get('http://www.gna.ch/');
is(
	it::match('(</html>)', $page),
	'</html>',
	'it_url::get() static call'
);
?>