Annotation of embedaddon/php/ext/standard/tests/url/parse_url_variation_001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test parse_url() function : usage variations - unexpected type for arg 1.
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: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
12: echo "Error: $err_no - $err_msg, $filename($linenum)\n";
13: }
14: set_error_handler('test_error_handler');
15:
16: echo "*** Testing parse_url() : usage variations ***\n";
17:
18: //get an unset variable
19: $unset_var = 10;
20: unset ($unset_var);
21:
22: //array of values to iterate over
23: $values = array(
24:
25: // int data
26: 0,
27: 1,
28: 12345,
29: -2345,
30:
31: // float data
32: 10.5,
33: -10.5,
34: 10.1234567e10,
35: 10.7654321E-10,
36: .5,
37:
38: // array data
39: array(),
40: array(0),
41: array(1),
42: array(1, 2),
43: array('color' => 'red', 'item' => 'pen'),
44:
45: // null data
46: NULL,
47: null,
48:
49: // boolean data
50: true,
51: false,
52: TRUE,
53: FALSE,
54:
55: // empty data
56: "",
57: '',
58:
59: // object data
60: new stdclass(),
61:
62: // undefined data
63: $undefined_var,
64:
65: // unset data
66: $unset_var,
67: );
68:
69: // loop through each element of the array for url
70:
71: foreach($values as $value) {
72: echo "\nArg value $value \n";
73: var_dump( parse_url($value) );
74: };
75:
76: echo "Done";
77: ?>
78: --EXPECTF--
79: *** Testing parse_url() : usage variations ***
80: Error: 8 - Undefined variable: undefined_var, %s(60)
81: Error: 8 - Undefined variable: unset_var, %s(63)
82:
83: Arg value 0
84: array(1) {
85: ["path"]=>
86: string(1) "0"
87: }
88:
89: Arg value 1
90: array(1) {
91: ["path"]=>
92: string(1) "1"
93: }
94:
95: Arg value 12345
96: array(1) {
97: ["path"]=>
98: string(5) "12345"
99: }
100:
101: Arg value -2345
102: array(1) {
103: ["path"]=>
104: string(5) "-2345"
105: }
106:
107: Arg value 10.5
108: array(1) {
109: ["path"]=>
110: string(4) "10.5"
111: }
112:
113: Arg value -10.5
114: array(1) {
115: ["path"]=>
116: string(5) "-10.5"
117: }
118:
119: Arg value 101234567000
120: array(1) {
121: ["path"]=>
122: string(12) "101234567000"
123: }
124:
125: Arg value 1.07654321E-9
126: array(1) {
127: ["path"]=>
128: string(13) "1.07654321E-9"
129: }
130:
131: Arg value 0.5
132: array(1) {
133: ["path"]=>
134: string(3) "0.5"
135: }
136:
137: Arg value Array
138: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
139: NULL
140:
141: Arg value Array
142: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
143: NULL
144:
145: Arg value Array
146: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
147: NULL
148:
149: Arg value Array
150: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
151: NULL
152:
153: Arg value Array
154: Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70)
155: NULL
156:
157: Arg value
158: array(1) {
159: ["path"]=>
160: string(0) ""
161: }
162:
163: Arg value
164: array(1) {
165: ["path"]=>
166: string(0) ""
167: }
168:
169: Arg value 1
170: array(1) {
171: ["path"]=>
172: string(1) "1"
173: }
174:
175: Arg value
176: array(1) {
177: ["path"]=>
178: string(0) ""
179: }
180:
181: Arg value 1
182: array(1) {
183: ["path"]=>
184: string(1) "1"
185: }
186:
187: Arg value
188: array(1) {
189: ["path"]=>
190: string(0) ""
191: }
192:
193: Arg value
194: array(1) {
195: ["path"]=>
196: string(0) ""
197: }
198:
199: Arg value
200: array(1) {
201: ["path"]=>
202: string(0) ""
203: }
204: Error: 4096 - Object of class stdClass could not be converted to string, %s(69)
205:
206: Arg value
207: Error: 2 - parse_url() expects parameter 1 to be string, object given, %s(70)
208: NULL
209:
210: Arg value
211: array(1) {
212: ["path"]=>
213: string(0) ""
214: }
215:
216: Arg value
217: array(1) {
218: ["path"]=>
219: string(0) ""
220: }
221: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>