Annotation of embedaddon/php/ext/standard/tests/strings/strncmp_variation5.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test strncmp() function : usage variations - different lengths(all types)
3: --FILE--
4: <?php
5: /* Prototype : int strncmp ( string $str1, string $str2, int $len );
6: * Description: Binary safe case-sensitive string comparison of the first n characters
7: * Source code: Zend/zend_builtin_functions.c
8: */
9:
10: /* Test strncmp() function with the length as all types, and giving the same strings for 'str1' and 'str2' */
11:
12: echo "*** Test strncmp() function: by supplying all types for 'len' ***\n";
13:
14: /* definition of required variables */
15: $str1 = "Hello, World\n";
16: $str2 = "Hello, World\n";
17:
18: /* get an unset variable */
19: $unset_var = 'string_val';
20: unset($unset_var);
21:
22: /* get resource handle */
23: $file_handle = fopen(__FILE__, "r");
24:
25: /* declaring a class */
26: class sample {
27: public function __toString() {
28: return "object";
29: }
30: }
31:
32:
33: /* array with different values */
34: $lengths = array (
35: /* integer values */
36: 0,
37: 1,
38: 12345,
39:
40: /* float values */
41: 10.5,
42: 10.5e10,
43: 10.6E-10,
44: .5,
45:
46: /* hexadecimal values */
47: 0x12,
48:
49: /* octal values */
50: 012,
51: 01.2,
52:
53: /* array values */
54: array(),
55: array(0),
56: array(1),
57: array(1, 2),
58: array('color' => 'red', 'item' => 'pen'),
59:
60: /* boolean values */
61: true,
62: false,
63: TRUE,
64: FALSE,
65:
66: /* nulls */
67: NULL,
68: null,
69:
70: /* empty string */
71: "",
72: '',
73:
74: /* undefined variable */
75: $undefined_var,
76:
77: /* unset variable */
78: $unset_var,
79:
80: /* resource */
81: $file_handle,
82:
83: /* object */
84: new sample()
85: );
86:
87: /* loop through each element of the array and check the working of strncmp() */
88: $counter = 1;
89: for($index = 0; $index < count($lengths); $index ++) {
90: $len = $lengths[$index];
91: echo "-- Iteration $counter --\n";
92: var_dump( strncmp($str1, $str2, $len) );
93: $counter ++;
94: }
95: fclose($file_handle);
96:
97: echo "*** Done ***\n";
98: ?>
99: --EXPECTF--
100: *** Test strncmp() function: by supplying all types for 'len' ***
101:
102: Notice: Undefined variable: undefined_var in %s on line %d
103:
104: Notice: Undefined variable: unset_var in %s on line %d
105: -- Iteration 1 --
106: int(0)
107: -- Iteration 2 --
108: int(0)
109: -- Iteration 3 --
110: int(0)
111: -- Iteration 4 --
112: int(0)
113: -- Iteration 5 --
114: int(0)
115: -- Iteration 6 --
116: int(0)
117: -- Iteration 7 --
118: int(0)
119: -- Iteration 8 --
120: int(0)
121: -- Iteration 9 --
122: int(0)
123: -- Iteration 10 --
124: int(0)
125: -- Iteration 11 --
126:
127: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d
128: NULL
129: -- Iteration 12 --
130:
131: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d
132: NULL
133: -- Iteration 13 --
134:
135: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d
136: NULL
137: -- Iteration 14 --
138:
139: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d
140: NULL
141: -- Iteration 15 --
142:
143: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d
144: NULL
145: -- Iteration 16 --
146: int(0)
147: -- Iteration 17 --
148: int(0)
149: -- Iteration 18 --
150: int(0)
151: -- Iteration 19 --
152: int(0)
153: -- Iteration 20 --
154: int(0)
155: -- Iteration 21 --
156: int(0)
157: -- Iteration 22 --
158:
159: Warning: strncmp() expects parameter 3 to be long, string given in%s on line %d
160: NULL
161: -- Iteration 23 --
162:
163: Warning: strncmp() expects parameter 3 to be long, string given in%s on line %d
164: NULL
165: -- Iteration 24 --
166: int(0)
167: -- Iteration 25 --
168: int(0)
169: -- Iteration 26 --
170:
171: Warning: strncmp() expects parameter 3 to be long, resource given in%s on line %d
172: NULL
173: -- Iteration 27 --
174:
175: Warning: strncmp() expects parameter 3 to be long, object given in%s on line %d
176: NULL
177: *** Done ***
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>