Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / standard / tests / class_object / is_a_variation_001.phpt
blobd449fd3797b8f1b8e75fb98f14c7f2e47e75cb66
1 --TEST--
2 Test is_a() function : usage variations  - wrong type for arg 1
3 --INI--
4 error_reporting=E_ALL | E_STRICT | E_DEPRECATED 
5 --FILE--
6 <?php
7 /* Prototype  : proto bool is_a(object object, string class_name)
8  * Description: Returns true if the object is of this class or has this class as one of its parents 
9  * Source code: Zend/zend_builtin_functions.c
10  * Alias to functions: 
11  */
12 // Note: basic use cases in Zend/tests/is_a.phpt 
13 echo "*** Testing is_a() : usage variations ***\n";
15 // Initialise function arguments not being substituted (if any)
16 $class_name = 'stdClass';
18 //get an unset variable
19 $unset_var = 10;
20 unset ($unset_var);
22 //array of values to iterate over
23 $values = array(
25       // int data
26       0,
27       1,
28       12345,
29       -2345,
31       // float data
32       10.5,
33       -10.5,
34       10.1234567e10,
35       10.7654321E-10,
36       .5,
38       // array data
39       array(),
40       array(0),
41       array(1),
42       array(1, 2),
43       array('color' => 'red', 'item' => 'pen'),
45       // null data
46       NULL,
47       null,
49       // boolean data
50       true,
51       false,
52       TRUE,
53       FALSE,
55       // empty data
56       "",
57       '',
59       // string data
60       "string",
61       'String',
62       
63       // undefined data
64       $undefined_var,
66       // unset data
67       $unset_var,
70 // loop through each element of the array for object
72 foreach($values as $value) {
73       echo @"\nArg value $value \n";
74       var_dump( is_a($value, $class_name) );
77 echo "Done";
79 --EXPECTF--
80 *** Testing is_a() : usage variations ***
82 Notice: Undefined variable: undefined_var in %s on line 59
84 Notice: Undefined variable: unset_var in %s on line 62
86 Arg value 0 
87 bool(false)
89 Arg value 1 
90 bool(false)
92 Arg value 12345 
93 bool(false)
95 Arg value -2345 
96 bool(false)
98 Arg value 10.5 
99 bool(false)
101 Arg value -10.5 
102 bool(false)
104 Arg value 101234567000 
105 bool(false)
107 Arg value 1.07654321E-9 
108 bool(false)
110 Arg value 0.5 
111 bool(false)
113 Arg value Array 
114 bool(false)
116 Arg value Array 
117 bool(false)
119 Arg value Array 
120 bool(false)
122 Arg value Array 
123 bool(false)
125 Arg value Array 
126 bool(false)
128 Arg value  
129 bool(false)
131 Arg value  
132 bool(false)
134 Arg value 1 
135 bool(false)
137 Arg value  
138 bool(false)
140 Arg value 1 
141 bool(false)
143 Arg value  
144 bool(false)
146 Arg value  
147 bool(false)
149 Arg value  
150 bool(false)
152 Arg value string 
153 bool(false)
155 Arg value String 
156 bool(false)
158 Arg value  
159 bool(false)
161 Arg value  
162 bool(false)
163 Done