Annotation of embedaddon/php/ext/standard/tests/strings/sscanf_variation1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test sscanf() function : usage variations - unexpected inputs for '$str' argument
3: --FILE--
4: <?php
5: /* Prototype : mixed sscanf ( string $str , string $format [, mixed &$... ] )
6: * Description: Parses input from a string according to a format
7: * Source code: ext/standard/string.c
8: */
9:
10: echo "*** Testing sscanf() function: with unexpected inputs for 'str' argument ***\n";
11:
12: //get an unset variable
13: $unset_var = 'string_val';
14: unset($unset_var);
15:
16: //defining a class
17: class sample {
18: public function __toString() {
19: return "sample object";
20: }
21: }
22:
23: //getting the resource
24: $file_handle = fopen(__FILE__, "r");
25:
26: // array with different values for $input
27: $inputs = array (
28:
29: // integer values
30: /*1*/ 0,
31: 1,
32: -2,
33: 2147483647,
34: -2147483648,
35:
36: // float values
37: /*6*/ 10.5,
38: -20.5,
39: 10.1234567e10,
40:
41: // array values
42: /*9*/ array(),
43: array(0),
44: array(1, 2),
45:
46: // boolean values
47: /*12*/ true,
48: false,
49: TRUE,
50: FALSE,
51:
52: // null values
53: /*16*/ NULL,
54: null,
55:
56: // objects
57: /*18*/ new sample(),
58:
59: // resource
60: /*19*/ $file_handle,
61:
62: // undefined variable
63: /*20*/ @$undefined_var,
64:
65: // unset variable
66: /*21*/ @$unset_var
67: );
68:
69: //defining '$pad_length' argument
70: $format = "%s";
71:
72: // loop through with each element of the $inputs array to test sscanf() function
73: $count = 1;
74: foreach($inputs as $input) {
75: echo "-- Iteration $count --\n";
76: var_dump( sscanf($input, $format) );
77: $count ++;
78: }
79:
80: fclose($file_handle); //closing the file handle
81:
82: ?>
83: ===DONE===
84: --EXPECTF--
85: *** Testing sscanf() function: with unexpected inputs for 'str' argument ***
86: -- Iteration 1 --
87: array(1) {
88: [0]=>
89: string(1) "0"
90: }
91: -- Iteration 2 --
92: array(1) {
93: [0]=>
94: string(1) "1"
95: }
96: -- Iteration 3 --
97: array(1) {
98: [0]=>
99: string(2) "-2"
100: }
101: -- Iteration 4 --
102: array(1) {
103: [0]=>
104: string(10) "2147483647"
105: }
106: -- Iteration 5 --
107: array(1) {
108: [0]=>
109: string(11) "-2147483648"
110: }
111: -- Iteration 6 --
112: array(1) {
113: [0]=>
114: string(4) "10.5"
115: }
116: -- Iteration 7 --
117: array(1) {
118: [0]=>
119: string(5) "-20.5"
120: }
121: -- Iteration 8 --
122: array(1) {
123: [0]=>
124: string(12) "101234567000"
125: }
126: -- Iteration 9 --
127:
128: Warning: sscanf() expects parameter 1 to be string, array given in %s on line %d
129: NULL
130: -- Iteration 10 --
131:
132: Warning: sscanf() expects parameter 1 to be string, array given in %s on line %d
133: NULL
134: -- Iteration 11 --
135:
136: Warning: sscanf() expects parameter 1 to be string, array given in %s on line %d
137: NULL
138: -- Iteration 12 --
139: array(1) {
140: [0]=>
141: string(1) "1"
142: }
143: -- Iteration 13 --
144: NULL
145: -- Iteration 14 --
146: array(1) {
147: [0]=>
148: string(1) "1"
149: }
150: -- Iteration 15 --
151: NULL
152: -- Iteration 16 --
153: NULL
154: -- Iteration 17 --
155: NULL
156: -- Iteration 18 --
157: array(1) {
158: [0]=>
159: string(6) "sample"
160: }
161: -- Iteration 19 --
162:
163: Warning: sscanf() expects parameter 1 to be string, resource given in %s on line %d
164: NULL
165: -- Iteration 20 --
166: NULL
167: -- Iteration 21 --
168: NULL
169: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>