Annotation of embedaddon/php/ext/standard/tests/url/parse_url_variation_002_64bit.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test parse_url() function : usage variations - unexpected type for arg 2.
3: --SKIPIF--
4: <?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platforms only"); ?>
5: --FILE--
6: <?php
7: /* Prototype : proto mixed parse_url(string url, [int url_component])
8: * Description: Parse a URL and return its components
9: * Source code: ext/standard/url.c
10: * Alias to functions:
11: */
12:
13: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
14: echo "Error: $err_no - $err_msg, $filename($linenum)\n";
15: }
16: set_error_handler('test_error_handler');
17:
18: echo "*** Testing parse_url() : usage variations ***\n";
19:
20: // Initialise function arguments not being substituted (if any)
21: $url = 'http://secret:hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123';
22:
23: //get an unset variable
24: $unset_var = 10;
25: unset ($unset_var);
26:
27: //array of values to iterate over
28: $values = array(
29:
30: // float data
31: 10.5,
32: -10.5,
33: 10.1234567e10,
34: 10.7654321E-10,
35: .5,
36:
37: // array data
38: array(),
39: array(0),
40: array(1),
41: array(1, 2),
42: array('color' => 'red', 'item' => 'pen'),
43:
44: // null data
45: NULL,
46: null,
47:
48: // boolean data
49: true,
50: false,
51: TRUE,
52: FALSE,
53:
54: // empty data
55: "",
56: '',
57:
58: // string data
59: "string",
60: 'string',
61:
62: // object data
63: new stdclass(),
64:
65: // undefined data
66: $undefined_var,
67:
68: // unset data
69: $unset_var,
70: );
71:
72: // loop through each element of the array for url_component
73:
74: foreach($values as $value) {
75: echo "\nArg value $value \n";
76: var_dump( parse_url($url, $value) );
77: };
78:
79: echo "Done";
80: ?>
81: --EXPECTF--
82: *** Testing parse_url() : usage variations ***
83: Error: 8 - Undefined variable: undefined_var, %s(61)
84: Error: 8 - Undefined variable: unset_var, %s(64)
85:
86: Arg value 10.5
87: Error: 2 - parse_url(): Invalid URL component identifier 10, %s(71)
88: bool(false)
89:
90: Arg value -10.5
91: array(8) {
92: ["scheme"]=>
93: string(4) "http"
94: ["host"]=>
95: string(11) "www.php.net"
96: ["port"]=>
97: int(80)
98: ["user"]=>
99: string(6) "secret"
100: ["pass"]=>
101: string(7) "hideout"
102: ["path"]=>
103: string(10) "/index.php"
104: ["query"]=>
105: string(31) "test=1&test2=char&test3=mixesCI"
106: ["fragment"]=>
107: string(16) "some_page_ref123"
108: }
109:
110: Arg value 101234567000
111: Error: 2 - parse_url(): Invalid URL component identifier %d, %s(71)
112: bool(false)
113:
114: Arg value 1.07654321E-9
115: string(4) "http"
116:
117: Arg value 0.5
118: string(4) "http"
119:
120: Arg value Array
121: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
122: NULL
123:
124: Arg value Array
125: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
126: NULL
127:
128: Arg value Array
129: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
130: NULL
131:
132: Arg value Array
133: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
134: NULL
135:
136: Arg value Array
137: Error: 2 - parse_url() expects parameter 2 to be long, array given, %s(71)
138: NULL
139:
140: Arg value
141: string(4) "http"
142:
143: Arg value
144: string(4) "http"
145:
146: Arg value 1
147: string(11) "www.php.net"
148:
149: Arg value
150: string(4) "http"
151:
152: Arg value 1
153: string(11) "www.php.net"
154:
155: Arg value
156: string(4) "http"
157:
158: Arg value
159: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
160: NULL
161:
162: Arg value
163: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
164: NULL
165:
166: Arg value string
167: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
168: NULL
169:
170: Arg value string
171: Error: 2 - parse_url() expects parameter 2 to be long, string given, %s(71)
172: NULL
173: Error: 4096 - Object of class stdClass could not be converted to string, %s(70)
174:
175: Arg value
176: Error: 2 - parse_url() expects parameter 2 to be long, object given, %s(71)
177: NULL
178:
179: Arg value
180: string(4) "http"
181:
182: Arg value
183: string(4) "http"
184: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>