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