Annotation of embedaddon/php/ext/standard/tests/url/parse_url_basic_007.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test parse_url() function: Parse a load of URLs without specifying PHP_URL_PATH as the URL component
3: --FILE--
4: <?php
5: /* Prototype : proto mixed parse_url(string url, [int url_component])
6: * Description: Parse a URL and return its components
7: * Source code: ext/standard/url.c
8: * Alias to functions:
9: */
10:
11: /*
12: * Parse a load of URLs without specifying PHP_URL_PATH as the URL component
13: */
14: include_once(dirname(__FILE__) . '/urls.inc');
15:
16: foreach ($urls as $url) {
17: echo "--> $url : ";
18: var_dump(parse_url($url, PHP_URL_PATH));
19: }
20:
21: echo "Done";
22: ?>
23: --EXPECTF--
24: --> 64.246.30.37 : string(12) "64.246.30.37"
25: --> http://64.246.30.37 : NULL
26: --> http://64.246.30.37/ : string(1) "/"
27: --> 64.246.30.37/ : string(13) "64.246.30.37/"
28: --> 64.246.30.37:80/ : string(1) "/"
29: --> php.net : string(7) "php.net"
30: --> php.net/ : string(8) "php.net/"
31: --> http://php.net : NULL
32: --> http://php.net/ : string(1) "/"
33: --> www.php.net : string(11) "www.php.net"
34: --> www.php.net/ : string(12) "www.php.net/"
35: --> http://www.php.net : NULL
36: --> http://www.php.net/ : string(1) "/"
37: --> www.php.net:80 : NULL
38: --> http://www.php.net:80 : NULL
39: --> http://www.php.net:80/ : string(1) "/"
40: --> http://www.php.net/index.php : string(10) "/index.php"
41: --> www.php.net/? : string(12) "www.php.net/"
42: --> www.php.net:80/? : string(1) "/"
43: --> http://www.php.net/? : string(1) "/"
44: --> http://www.php.net:80/? : string(1) "/"
45: --> http://www.php.net:80/index.php : string(10) "/index.php"
46: --> http://www.php.net:80/foo/bar/index.php : string(18) "/foo/bar/index.php"
47: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(53) "/this/is/a/very/deep/directory/structure/and/file.php"
48: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php?lots=1&of=2¶meters=3&too=4&here=5 : string(53) "/this/is/a/very/deep/directory/structure/and/file.php"
49: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/ : string(45) "/this/is/a/very/deep/directory/structure/and/"
50: --> http://www.php.net:80/this/is/a/very/deep/directory/structure/and/file.php : string(53) "/this/is/a/very/deep/directory/structure/and/file.php"
51: --> http://www.php.net:80/this/../a/../deep/directory : string(28) "/this/../a/../deep/directory"
52: --> http://www.php.net:80/this/../a/../deep/directory/ : string(29) "/this/../a/../deep/directory/"
53: --> http://www.php.net:80/this/is/a/very/deep/directory/../file.php : string(42) "/this/is/a/very/deep/directory/../file.php"
54: --> http://www.php.net:80/index.php : string(10) "/index.php"
55: --> http://www.php.net:80/index.php? : string(10) "/index.php"
56: --> http://www.php.net:80/#foo : string(1) "/"
57: --> http://www.php.net:80/?# : string(1) "/"
58: --> http://www.php.net:80/?test=1 : string(1) "/"
59: --> http://www.php.net/?test=1& : string(1) "/"
60: --> http://www.php.net:80/?& : string(1) "/"
61: --> http://www.php.net:80/index.php?test=1& : string(10) "/index.php"
62: --> http://www.php.net/index.php?& : string(10) "/index.php"
63: --> http://www.php.net:80/index.php?foo& : string(10) "/index.php"
64: --> http://www.php.net/index.php?&foo : string(10) "/index.php"
65: --> http://www.php.net:80/index.php?test=1&test2=char&test3=mixesCI : string(10) "/index.php"
66: --> www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
67: --> http://secret@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
68: --> http://secret:@www.php.net/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
69: --> http://:hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
70: --> http://secret:hideout@www.php.net/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
71: --> http://secret@hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
72: --> http://secret:hid:out@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123 : string(10) "/index.php"
73: --> nntp://news.php.net : NULL
74: --> ftp://ftp.gnu.org/gnu/glic/glibc.tar.gz : string(22) "/gnu/glic/glibc.tar.gz"
75: --> zlib:http://foo@bar : string(14) "http://foo@bar"
76: --> zlib:filename.txt : string(12) "filename.txt"
77: --> zlib:/path/to/my/file/file.txt : string(25) "/path/to/my/file/file.txt"
78: --> foo://foo@bar : NULL
79: --> mailto:me@mydomain.com : string(15) "me@mydomain.com"
80: --> /foo.php?a=b&c=d : string(8) "/foo.php"
81: --> foo.php?a=b&c=d : string(7) "foo.php"
82: --> http://user:passwd@www.example.com:8080?bar=1&boom=0 : NULL
83: --> file:///path/to/file : string(13) "/path/to/file"
84: --> file://path/to/file : string(8) "/to/file"
85: --> file:/path/to/file : string(13) "/path/to/file"
86: --> http://1.2.3.4:/abc.asp?a=1&b=2 : string(8) "/abc.asp"
87: --> http://foo.com#bar : NULL
88: --> scheme: : NULL
89: --> foo+bar://baz@bang/bla : string(4) "/bla"
90: --> gg:9130731 : string(7) "9130731"
91: --> http://user:@pass@host/path?argument?value#etc : string(5) "/path"
92: --> http://10.10.10.10/:80 : string(4) "/:80"
93: --> http://x:? : NULL
94: --> x:blah.com : string(8) "blah.com"
95: --> x:/blah.com : string(9) "/blah.com"
96: --> x://::abc/? : bool(false)
97: --> http://::? : NULL
98: --> x://::6.5 : NULL
99: --> http://?:/ : string(1) "/"
100: --> http://@?:/ : string(1) "/"
101: --> file:///: : string(2) "/:"
102: --> file:///a:/ : string(3) "a:/"
103: --> file:///ab:/ : string(5) "/ab:/"
104: --> file:///a:/ : string(3) "a:/"
105: --> file:///@:/ : string(3) "@:/"
106: --> file:///:80/ : string(5) "/:80/"
107: --> [] : string(2) "[]"
108: --> http://[x:80]/ : string(1) "/"
109: --> : string(0) ""
110: --> / : string(1) "/"
111: --> http:///blah.com : bool(false)
112: --> http://:80 : bool(false)
113: --> http://user@:80 : bool(false)
114: --> http://user:pass@:80 : bool(false)
115: --> http://: : bool(false)
116: --> http://@/ : bool(false)
117: --> http://@:/ : bool(false)
118: --> http://:/ : bool(false)
119: --> http://? : bool(false)
120: --> http://?: : bool(false)
121: --> http://:? : bool(false)
122: --> http://blah.com:123456 : bool(false)
123: --> http://blah.com:abcdef : bool(false)
124: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>