From: Raghubansh Kumar Date: Sat, 12 May 2007 10:28:00 +0000 (+0000) Subject: New version of debug_zval_dump_b.phpt, is_array.phpt, is_null.phpt, is_string... X-Git-Tag: php-5.2.3RC1~107 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c5c162d1824891716349aeabef49c9209ac509fe;p=php New version of debug_zval_dump_b.phpt, is_array.phpt, is_null.phpt, is_string.phpt, debug_zval_dump_e.phpt, is_bool.phpt, is_numeric.phpt, print_r.phpt, debug_zval_dump_o.phpt, is_float.phpt is_object.phpt, strval.phpt, debug_zval_dump_v.phpt, is_int.phpt, is_scalar.phpt, var_dump.phpt --- diff --git a/ext/standard/tests/general_functions/debug_zval_dump_b.phpt b/ext/standard/tests/general_functions/debug_zval_dump_b.phpt new file mode 100644 index 0000000000..4b94f31db9 Binary files /dev/null and b/ext/standard/tests/general_functions/debug_zval_dump_b.phpt differ diff --git a/ext/standard/tests/general_functions/debug_zval_dump_e.phpt b/ext/standard/tests/general_functions/debug_zval_dump_e.phpt new file mode 100644 index 0000000000..7b306978d5 --- /dev/null +++ b/ext/standard/tests/general_functions/debug_zval_dump_e.phpt @@ -0,0 +1,23 @@ +--TEST-- +Test debug_zval_dump() function : error conditions +--FILE-- + + +--EXPECTF-- +*** Testing error conditions *** + +Warning: Wrong parameter count for debug_zval_dump() in %s on line %d +Done diff --git a/ext/standard/tests/general_functions/debug_zval_dump_o.phpt b/ext/standard/tests/general_functions/debug_zval_dump_o.phpt new file mode 100644 index 0000000000..e85494e7bf --- /dev/null +++ b/ext/standard/tests/general_functions/debug_zval_dump_o.phpt @@ -0,0 +1,839 @@ +--TEST-- +Test debug_zval_dump() function : working on objects +--FILE-- + 1, "key2 " => 3); + + function object_class () { + $this->value1 = 5; + $this->object_class1 = $this; + } +} + +class no_member_class{ +//no members +} + +/* class with member as object of other class */ +class contains_object_class +{ + var $p = 30; + protected $p1 = 40; + private $p2 = 50; + var $class_object1; + public $class_object2; + private $class_object3; + protected $class_object4; + var $no_member_class_object; + + public function func() { + echo "func() is called \n"; + } + + function contains_object_class () { + $this->class_object1 = new object_class(); + $this->class_object2 = new object_class(); + $this->class_object3 = $this->class_object1; + $this->class_object4 = $this->class_object2; + $this->no_member_class_object = new no_member_class(); + $this->class_object5 = $this; //recursive reference + } +} + +/* creating new object $obj */ +$obj = new contains_object_class(); +$obj1 = & $obj; //object $obj1 references object $obj +$obj2 = & $obj; +$obj3 = & $obj2; + +/* object which is unset */ +$unset_obj = new object_class(); +unset($unset_obj); + +$objects = array ( + new object_class, + new no_member_class, + $obj, + $obj->class_object1, + $obj->class_object2, + $obj->no_member_class_object, + @$temp_class_obj, //undefined object + $obj2->class_object1, + $obj3->class_object2, + $obj2->class_object1->value4, + @$unset_obj +); +/* using zval_dump() to dump out the objects and its reference count */ +zval_dump($objects); + +$int_var = 500; +$obj = $int_var; //$obj is lost, $obj1,$obj2,$obj3,$obj4 = 500 +echo "\n-- Testing debug_zval_dump() on overwritten object variables --\n"; +debug_zval_dump($obj, $obj1, $obj2, $obj3); + +echo "\n-- Testing debug_zval_dump() on objects having circular reference --\n"; +$recursion_obj1 = new object_class(); +$recursion_obj2 = new object_class(); +$recursion_obj1->obj = &$recursion_obj2; //circular reference +$recursion_obj2->obj = &$recursion_obj1; //circular reference +debug_zval_dump($recursion_obj2); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing debug_zval_dump() on objects *** +-- Iteration 1 -- +object(object_class)#%d (6) refcount(4){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(4){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } +} +-- Iteration 2 -- +object(no_member_class)#%d (0) refcount(3){ +} +-- Iteration 3 -- +object(contains_object_class)#%d (9) refcount(3){ + ["p"]=> + long(30) refcount(2) + ["p1:protected"]=> + long(40) refcount(2) + ["p2:private"]=> + long(50) refcount(2) + ["class_object1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object2"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object3:private"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object4:protected"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) refcount(2){ + } + ["class_object5"]=> + object(contains_object_class)#%d (9) refcount(1){ + ["p"]=> + long(30) refcount(2) + ["p1:protected"]=> + long(40) refcount(2) + ["p2:private"]=> + long(50) refcount(2) + ["class_object1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object2"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object3:private"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["class_object4:protected"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(5){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) refcount(2){ + } + ["class_object5"]=> + *RECURSION* + } +} +-- Iteration 4 -- +object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } +} +-- Iteration 5 -- +object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } +} +-- Iteration 6 -- +object(no_member_class)#%d (0) refcount(4){ +} +-- Iteration 7 -- +NULL refcount(1) +-- Iteration 8 -- +object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } +} +-- Iteration 9 -- +object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (6) refcount(7){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(5) + ["value3:protected"]=> + long(20) refcount(5) + ["value4"]=> + long(30) refcount(6) + ["array_var"]=> + array(2) refcount(5){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + } +} +-- Iteration 10 -- +long(30) refcount(8) +-- Iteration 11 -- +NULL refcount(1) + +-- Testing debug_zval_dump() on overwritten object variables -- +long(500) refcount(1) +long(500) refcount(1) +long(500) refcount(1) +long(500) refcount(1) + +-- Testing debug_zval_dump() on objects having circular reference -- +object(object_class)#%d (7) refcount(1){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (7) refcount(1){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + &object(object_class)#%d (7) refcount(2){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (7) refcount(1){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + *RECURSION* + } + ["obj"]=> + *RECURSION* + } + } + ["obj"]=> + &object(object_class)#%d (7) refcount(2){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + object(object_class)#%d (7) refcount(1){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + &object(object_class)#%d (7) refcount(2){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + *RECURSION* + } + } + ["obj"]=> + &object(object_class)#%d (7) refcount(2){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + &object(object_class)#%d (7) refcount(2){ + ["value1"]=> + long(5) refcount(1) + ["value2:private"]=> + long(10) refcount(7) + ["value3:protected"]=> + long(20) refcount(7) + ["value4"]=> + long(30) refcount(8) + ["array_var"]=> + array(2) refcount(7){ + ["key1"]=> + long(1) refcount(1) + ["key2 "]=> + long(3) refcount(1) + } + ["object_class1"]=> + *RECURSION* + ["obj"]=> + *RECURSION* + } + } + } +} +Done diff --git a/ext/standard/tests/general_functions/debug_zval_dump_v.phpt b/ext/standard/tests/general_functions/debug_zval_dump_v.phpt new file mode 100644 index 0000000000..507950b969 --- /dev/null +++ b/ext/standard/tests/general_functions/debug_zval_dump_v.phpt @@ -0,0 +1,213 @@ +--TEST-- +Test debug_zval_dump() function : usage variations +--FILE-- + + +--EXPECTF-- +*** Testing debug_zval_dump() on functions *** +--- Variation 1: global variable inside a function --- + +-- Value of global variable, before calling dump_globalvar() -- +long(10) refcount(2) + +-- Value of local variable inside dump_globalvar() -- +long(10) refcount(1) + +-- Value of global variable inside dump_globalvar() -- +long(10) refcount(1) + +-- Value of global variable, after exiting dump_globalvar() -- +long(10) refcount(2) + +--- Variation 2: one variable references another --- + +-- Value of $first_var: -- +long(10) refcount(2) + +-- Value of $ref_first_var -- +NULL refcount(1) + +-- Value of $first_var -- +long(10) refcount(2) + +-- Value of $ref_first_var -- + +Notice: Undefined variable: ref_first_var in %s on line %d +NULL refcount(1) + +-- Value of $first_var -- +long(10) refcount(2) + +--- Variation 3: multiple references of variables --- + +-- Value of $var_1: (before referencing) -- +long(10) refcount(1) + +-- Value of $var_2: (referencing var_1) -- +long(10) refcount(1) + +-- Value of $var_3: (referencing var_2) -- +long(10) refcount(1) + +-- Value of $var_3: (after unsetting var_3) -- + +Notice: Undefined variable: var_3 in %s on line %d +NULL refcount(1) + +-- Value of $var_2: -- +long(10) refcount(1) + +-- Value of $var_3: -- +long(10) refcount(1) + +-- Value of $var_1: (after unsetting variable_1) -- + +Notice: Undefined variable: var_1 in %s on line %d +NULL refcount(1) + +-- Value of $var_2: -- +long(10) refcount(2) + +*** Testing debug_zval_dump() on miscelleneous input arguments *** +-- Iteration 1 -- +NULL refcount(3) +&NULL refcount(2) +-- Iteration 2 -- +NULL refcount(3) +&NULL refcount(2) +-- Iteration 3 -- +NULL refcount(1) +&NULL refcount(2) +-- Iteration 4 -- +NULL refcount(1) +&NULL refcount(2) +-- Iteration 5 -- +string(7) "TRUE123" refcount(3) +&string(7) "TRUE123" refcount(2) +-- Iteration 6 -- +string(9) "123string" refcount(3) +&string(9) "123string" refcount(2) +-- Iteration 7 -- +string(9) "string123" refcount(3) +&string(9) "string123" refcount(2) +-- Iteration 8 -- +string(10) "NULLstring" refcount(3) +&string(10) "NULLstring" refcount(2) +Done diff --git a/ext/standard/tests/general_functions/is_array.phpt b/ext/standard/tests/general_functions/is_array.phpt new file mode 100644 index 0000000000..bb240518c3 --- /dev/null +++ b/ext/standard/tests/general_functions/is_array.phpt @@ -0,0 +1,215 @@ +--TEST-- +Test is_array() function +--FILE-- + 'One'), + array("test" => "is_array"), + array(0), + array(-1), + array(10.5, 5.6), + array("string", "test"), + array('string', 'test') +); +/* loop to check that is_array() recognizes different + type of arrays, expected output bool(true) */ +$loop_counter = 1; +foreach ($arrays as $var_array ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_array ($var_array) ); +} + +echo "\n*** Testing is_array() on non array types ***\n"; + +// get a resource type variable +$fp = fopen (__FILE__, "r"); +$dfp = opendir ( dirname(__FILE__) ); + +// unset variables +$unset_array = array(10); +unset($unset_array); + +// other types in a array +$varient_arrays = array ( + /* integers */ + 543915, + -5322, + 0x55F, + -0xCCF, + 123, + -0654, + + /* strings */ + "", + '', + "0", + '0', + 'string', + "string", + + /* floats */ + 10.0000000000000000005, + .5e6, + -.5E7, + .5E+8, + -.5e+90, + 1e5, + + /* objects */ + new stdclass, + + /* resources */ + $fp, + $dfp, + + /* nulls */ + null, + NULL, + + /* boolean */ + true, + TRUE, + FALSE, + false, + + /* unset/undefined arrays */ + @$unset_array, + @$undefined_array +); +/* loop through the $varient_array to see working of + is_array() on non array types, expected output bool(false) */ +$loop_counter = 1; +foreach ($varient_arrays as $type ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_array ($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_array() ); + +//arguments more than expected +var_dump( is_array ($fp, $fp) ); + +echo "Done\n"; +?> +--CLEAN-- +/* close resources */ +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_array() on different type of arrays *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) +-- Iteration 12 -- +bool(true) +-- Iteration 13 -- +bool(true) +-- Iteration 14 -- +bool(true) +-- Iteration 15 -- +bool(true) + +*** Testing is_array() on non array types *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +-- Iteration 27 -- +bool(false) +-- Iteration 28 -- +bool(false) +-- Iteration 29 -- +bool(false) + +*** Testing error conditions *** + +Warning: is_array(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_array(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_bool.phpt b/ext/standard/tests/general_functions/is_bool.phpt new file mode 100644 index 0000000000..9ef60d4b4e --- /dev/null +++ b/ext/standard/tests/general_functions/is_bool.phpt @@ -0,0 +1,295 @@ +--TEST-- +Test is_bool() function +--FILE-- + "One", "two" => 2), + + /* unset bool vars and undefined var */ + @$unset_bool1, + @$unset_bool2, + @$unset_var, + @$undefined_var +); +/* loop through the $not_bool_types to see working of + is_bool() on non bull types, expected output: bool(false) */ +$loop_counter = 1; +foreach ($not_bool_types as $type ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_bool($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_bool() ); + +//arguments more than expected +var_dump( is_bool(TRUE, FALSE) ); + +echo "Done\n"; +?> + +--CLEAN-- +// close resources +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_bool() with valid boolean values *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) + +*** Testing is_bool() on non boolean values *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +-- Iteration 27 -- +bool(false) +-- Iteration 28 -- +bool(false) +-- Iteration 29 -- +bool(false) +-- Iteration 30 -- +bool(false) +-- Iteration 31 -- +bool(false) +-- Iteration 32 -- +bool(false) +-- Iteration 33 -- +bool(false) +-- Iteration 34 -- +bool(false) +-- Iteration 35 -- +bool(false) +-- Iteration 36 -- +bool(false) +-- Iteration 37 -- +bool(false) +-- Iteration 38 -- +bool(false) +-- Iteration 39 -- +bool(false) +-- Iteration 40 -- +bool(false) +-- Iteration 41 -- +bool(false) +-- Iteration 42 -- +bool(false) +-- Iteration 43 -- +bool(false) +-- Iteration 44 -- +bool(false) +-- Iteration 45 -- +bool(false) +-- Iteration 46 -- +bool(false) +-- Iteration 47 -- +bool(false) +-- Iteration 48 -- +bool(false) +-- Iteration 49 -- +bool(false) +-- Iteration 50 -- +bool(false) +-- Iteration 51 -- +bool(false) +-- Iteration 52 -- +bool(false) +-- Iteration 53 -- +bool(false) +-- Iteration 54 -- +bool(false) +-- Iteration 55 -- +bool(false) +-- Iteration 56 -- +bool(false) +-- Iteration 57 -- +bool(false) +-- Iteration 58 -- +bool(false) +-- Iteration 59 -- +bool(false) +-- Iteration 60 -- +bool(false) +-- Iteration 61 -- +bool(false) +-- Iteration 62 -- +bool(false) +-- Iteration 63 -- +bool(false) +-- Iteration 64 -- +bool(false) +-- Iteration 65 -- +bool(false) + +*** Testing error conditions *** + +Warning: is_bool(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_bool(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_float.phpt b/ext/standard/tests/general_functions/is_float.phpt new file mode 100644 index 0000000000..b30f06e7d2 --- /dev/null +++ b/ext/standard/tests/general_functions/is_float.phpt @@ -0,0 +1,437 @@ +--TEST-- +Test is_float() & it's FALIASes: is_double() & is_real() functions +--FILE-- + + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_float(), is_double() and is_real() with float values*** +-- Iteration 1 -- +bool(true) +bool(true) +bool(true) +-- Iteration 2 -- +bool(true) +bool(true) +bool(true) +-- Iteration 3 -- +bool(true) +bool(true) +bool(true) +-- Iteration 4 -- +bool(true) +bool(true) +bool(true) +-- Iteration 5 -- +bool(true) +bool(true) +bool(true) +-- Iteration 6 -- +bool(true) +bool(true) +bool(true) +-- Iteration 7 -- +bool(true) +bool(true) +bool(true) +-- Iteration 8 -- +bool(true) +bool(true) +bool(true) +-- Iteration 9 -- +bool(true) +bool(true) +bool(true) +-- Iteration 10 -- +bool(true) +bool(true) +bool(true) +-- Iteration 11 -- +bool(true) +bool(true) +bool(true) +-- Iteration 12 -- +bool(true) +bool(true) +bool(true) +-- Iteration 13 -- +bool(true) +bool(true) +bool(true) +-- Iteration 14 -- +bool(true) +bool(true) +bool(true) +-- Iteration 15 -- +bool(true) +bool(true) +bool(true) +-- Iteration 16 -- +bool(true) +bool(true) +bool(true) +-- Iteration 17 -- +bool(true) +bool(true) +bool(true) +-- Iteration 18 -- +bool(true) +bool(true) +bool(true) +-- Iteration 19 -- +bool(true) +bool(true) +bool(true) +-- Iteration 20 -- +bool(true) +bool(true) +bool(true) +-- Iteration 21 -- +bool(true) +bool(true) +bool(true) +-- Iteration 22 -- +bool(true) +bool(true) +bool(true) +-- Iteration 23 -- +bool(true) +bool(true) +bool(true) +-- Iteration 24 -- +bool(true) +bool(true) +bool(true) +-- Iteration 25 -- +bool(true) +bool(true) +bool(true) +-- Iteration 26 -- +bool(true) +bool(true) +bool(true) +-- Iteration 27 -- +bool(true) +bool(true) +bool(true) +-- Iteration 28 -- +bool(true) +bool(true) +bool(true) +-- Iteration 29 -- +bool(true) +bool(true) +bool(true) +-- Iteration 30 -- +bool(true) +bool(true) +bool(true) + +*** Testing is_float(), is_double() & is_real() with non float values *** +--Iteration 1-- +bool(false) +bool(false) +bool(false) +--Iteration 2-- +bool(false) +bool(false) +bool(false) +--Iteration 3-- +bool(false) +bool(false) +bool(false) +--Iteration 4-- +bool(false) +bool(false) +bool(false) +--Iteration 5-- +bool(false) +bool(false) +bool(false) +--Iteration 6-- +bool(false) +bool(false) +bool(false) +--Iteration 7-- +bool(false) +bool(false) +bool(false) +--Iteration 8-- +bool(false) +bool(false) +bool(false) +--Iteration 9-- +bool(false) +bool(false) +bool(false) +--Iteration 10-- +bool(false) +bool(false) +bool(false) +--Iteration 11-- +bool(false) +bool(false) +bool(false) +--Iteration 12-- +bool(false) +bool(false) +bool(false) +--Iteration 13-- +bool(false) +bool(false) +bool(false) +--Iteration 14-- +bool(false) +bool(false) +bool(false) +--Iteration 15-- +bool(false) +bool(false) +bool(false) +--Iteration 16-- +bool(false) +bool(false) +bool(false) +--Iteration 17-- +bool(false) +bool(false) +bool(false) +--Iteration 18-- +bool(false) +bool(false) +bool(false) +--Iteration 19-- +bool(false) +bool(false) +bool(false) +--Iteration 20-- +bool(false) +bool(false) +bool(false) +--Iteration 21-- +bool(false) +bool(false) +bool(false) +--Iteration 22-- +bool(false) +bool(false) +bool(false) +--Iteration 23-- +bool(false) +bool(false) +bool(false) +--Iteration 24-- +bool(false) +bool(false) +bool(false) +--Iteration 25-- +bool(false) +bool(false) +bool(false) +--Iteration 26-- +bool(false) +bool(false) +bool(false) +--Iteration 27-- +bool(false) +bool(false) +bool(false) +--Iteration 28-- +bool(false) +bool(false) +bool(false) +--Iteration 29-- +bool(false) +bool(false) +bool(false) +--Iteration 30-- +bool(false) +bool(false) +bool(false) +--Iteration 31-- +bool(false) +bool(false) +bool(false) +--Iteration 32-- +bool(false) +bool(false) +bool(false) +--Iteration 33-- +bool(false) +bool(false) +bool(false) +--Iteration 34-- +bool(false) +bool(false) +bool(false) +--Iteration 35-- +bool(false) +bool(false) +bool(false) +--Iteration 36-- +bool(false) +bool(false) +bool(false) +--Iteration 37-- +bool(false) +bool(false) +bool(false) + +*** Testing error conditions *** + +Warning: is_float(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_double(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_real(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_float(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_double(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_real(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_int.phpt b/ext/standard/tests/general_functions/is_int.phpt new file mode 100644 index 0000000000..fb9aec39c7 --- /dev/null +++ b/ext/standard/tests/general_functions/is_int.phpt @@ -0,0 +1,462 @@ +--TEST-- +Test is_int() & it's FALIASes: is_long() & is_integer() functions +--FILE-- + "One", "two" => 2), + + /* strings */ + "", + '', + "0", + '0', + "1", + '1', + "\x01", + '\x01', + "\01", + '\01', + 'string', + "string", + "true", + "FALSE", + 'false', + 'TRUE', + "NULL", + 'null', + + /* booleans */ + true, + false, + TRUE, + FALSE, + + /* undefined and unset vars */ + @$unset_var, + @$undefined_var +); +/* loop through the $not_int_types to see working of + is_int() on non integer types, expected output: bool(false) */ +$loop_counter = 1; +foreach ($not_int_types as $type ) { + echo "--Iteration $loop_counter--\n"; $loop_counter++; + var_dump( is_int($type) ); + var_dump( is_integer($type) ); + var_dump( is_long($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_int() ); +var_dump( is_integer() ); +var_dump( is_long() ); + +//arguments more than expected +var_dump( is_int(TRUE, FALSE) ); +var_dump( is_integer(TRUE, FALSE) ); +var_dump( is_long(TRUE, FALSE) ); + +echo "Done\n"; +?> + +--CLEAN-- +// close the resources +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_int(), is_integer() & is_long() with valid integer values *** +--Iteration 1-- +bool(true) +bool(true) +bool(true) +--Iteration 2-- +bool(true) +bool(true) +bool(true) +--Iteration 3-- +bool(true) +bool(true) +bool(true) +--Iteration 4-- +bool(false) +bool(false) +bool(false) +--Iteration 5-- +bool(true) +bool(true) +bool(true) +--Iteration 6-- +bool(true) +bool(true) +bool(true) +--Iteration 7-- +bool(true) +bool(true) +bool(true) +--Iteration 8-- +bool(true) +bool(true) +bool(true) +--Iteration 9-- +bool(true) +bool(true) +bool(true) +--Iteration 10-- +bool(true) +bool(true) +bool(true) +--Iteration 11-- +bool(true) +bool(true) +bool(true) +--Iteration 12-- +bool(false) +bool(false) +bool(false) +--Iteration 13-- +bool(true) +bool(true) +bool(true) +--Iteration 14-- +bool(true) +bool(true) +bool(true) +--Iteration 15-- +bool(true) +bool(true) +bool(true) +--Iteration 16-- +bool(true) +bool(true) +bool(true) +--Iteration 17-- +bool(false) +bool(false) +bool(false) +--Iteration 18-- +bool(true) +bool(true) +bool(true) + +*** Testing is_int(), is_integer() & is_long() with non integer values *** +--Iteration 1-- +bool(false) +bool(false) +bool(false) +--Iteration 2-- +bool(false) +bool(false) +bool(false) +--Iteration 3-- +bool(false) +bool(false) +bool(false) +--Iteration 4-- +bool(false) +bool(false) +bool(false) +--Iteration 5-- +bool(false) +bool(false) +bool(false) +--Iteration 6-- +bool(false) +bool(false) +bool(false) +--Iteration 7-- +bool(false) +bool(false) +bool(false) +--Iteration 8-- +bool(false) +bool(false) +bool(false) +--Iteration 9-- +bool(false) +bool(false) +bool(false) +--Iteration 10-- +bool(false) +bool(false) +bool(false) +--Iteration 11-- +bool(false) +bool(false) +bool(false) +--Iteration 12-- +bool(false) +bool(false) +bool(false) +--Iteration 13-- +bool(false) +bool(false) +bool(false) +--Iteration 14-- +bool(false) +bool(false) +bool(false) +--Iteration 15-- +bool(false) +bool(false) +bool(false) +--Iteration 16-- +bool(false) +bool(false) +bool(false) +--Iteration 17-- +bool(false) +bool(false) +bool(false) +--Iteration 18-- +bool(false) +bool(false) +bool(false) +--Iteration 19-- +bool(false) +bool(false) +bool(false) +--Iteration 20-- +bool(false) +bool(false) +bool(false) +--Iteration 21-- +bool(false) +bool(false) +bool(false) +--Iteration 22-- +bool(false) +bool(false) +bool(false) +--Iteration 23-- +bool(false) +bool(false) +bool(false) +--Iteration 24-- +bool(false) +bool(false) +bool(false) +--Iteration 25-- +bool(false) +bool(false) +bool(false) +--Iteration 26-- +bool(false) +bool(false) +bool(false) +--Iteration 27-- +bool(false) +bool(false) +bool(false) +--Iteration 28-- +bool(false) +bool(false) +bool(false) +--Iteration 29-- +bool(false) +bool(false) +bool(false) +--Iteration 30-- +bool(false) +bool(false) +bool(false) +--Iteration 31-- +bool(false) +bool(false) +bool(false) +--Iteration 32-- +bool(false) +bool(false) +bool(false) +--Iteration 33-- +bool(false) +bool(false) +bool(false) +--Iteration 34-- +bool(false) +bool(false) +bool(false) +--Iteration 35-- +bool(false) +bool(false) +bool(false) +--Iteration 36-- +bool(false) +bool(false) +bool(false) +--Iteration 37-- +bool(false) +bool(false) +bool(false) +--Iteration 38-- +bool(false) +bool(false) +bool(false) +--Iteration 39-- +bool(false) +bool(false) +bool(false) +--Iteration 40-- +bool(false) +bool(false) +bool(false) +--Iteration 41-- +bool(false) +bool(false) +bool(false) +--Iteration 42-- +bool(false) +bool(false) +bool(false) +--Iteration 43-- +bool(false) +bool(false) +bool(false) +--Iteration 44-- +bool(false) +bool(false) +bool(false) +--Iteration 45-- +bool(false) +bool(false) +bool(false) +--Iteration 46-- +bool(false) +bool(false) +bool(false) +--Iteration 47-- +bool(false) +bool(false) +bool(false) +--Iteration 48-- +bool(false) +bool(false) +bool(false) +--Iteration 49-- +bool(false) +bool(false) +bool(false) +--Iteration 50-- +bool(false) +bool(false) +bool(false) +--Iteration 51-- +bool(false) +bool(false) +bool(false) +--Iteration 52-- +bool(false) +bool(false) +bool(false) +--Iteration 53-- +bool(false) +bool(false) +bool(false) +--Iteration 54-- +bool(false) +bool(false) +bool(false) + +*** Testing error conditions *** + +Warning: is_int(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_integer(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_long(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_int(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_integer(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_long(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_null.phpt b/ext/standard/tests/general_functions/is_null.phpt new file mode 100644 index 0000000000..261385b855 --- /dev/null +++ b/ext/standard/tests/general_functions/is_null.phpt @@ -0,0 +1,297 @@ +--TEST-- +Test is_null() function +--FILE-- + "One", "two" => 2), +); +/* loop through the $not_null_types to see working of + is_null() on non null types, expected output: bool(false) */ +$loop_counter = 1; +foreach ($not_null_types as $type ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_null($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_null() ); + +//arguments more than expected +var_dump( is_null(NULL, null) ); + +echo "Done\n"; +?> + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_null() with valid null values *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) + +*** Testing is_bool() on non null values *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +-- Iteration 27 -- +bool(false) +-- Iteration 28 -- +bool(false) +-- Iteration 29 -- +bool(false) +-- Iteration 30 -- +bool(false) +-- Iteration 31 -- +bool(false) +-- Iteration 32 -- +bool(false) +-- Iteration 33 -- +bool(false) +-- Iteration 34 -- +bool(false) +-- Iteration 35 -- +bool(false) +-- Iteration 36 -- +bool(false) +-- Iteration 37 -- +bool(false) +-- Iteration 38 -- +bool(false) +-- Iteration 39 -- +bool(false) +-- Iteration 40 -- +bool(false) +-- Iteration 41 -- +bool(false) +-- Iteration 42 -- +bool(false) +-- Iteration 43 -- +bool(false) +-- Iteration 44 -- +bool(false) +-- Iteration 45 -- +bool(false) +-- Iteration 46 -- +bool(false) +-- Iteration 47 -- +bool(false) +-- Iteration 48 -- +bool(false) +-- Iteration 49 -- +bool(false) +-- Iteration 50 -- +bool(false) +-- Iteration 51 -- +bool(false) +-- Iteration 52 -- +bool(false) +-- Iteration 53 -- +bool(false) +-- Iteration 54 -- +bool(false) +-- Iteration 55 -- +bool(false) +-- Iteration 56 -- +bool(false) +-- Iteration 57 -- +bool(false) +-- Iteration 58 -- +bool(false) +-- Iteration 59 -- +bool(false) + +*** Testing error conditions *** + +Warning: is_null(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_null(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_numeric.phpt b/ext/standard/tests/general_functions/is_numeric.phpt new file mode 100644 index 0000000000..8121402661 --- /dev/null +++ b/ext/standard/tests/general_functions/is_numeric.phpt @@ -0,0 +1,388 @@ +--TEST-- +Test is_numeric() function +--FILE-- + + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_numeric() with valid numeric values *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) +-- Iteration 12 -- +bool(true) +-- Iteration 13 -- +bool(true) +-- Iteration 14 -- +bool(true) +-- Iteration 15 -- +bool(true) +-- Iteration 16 -- +bool(true) +-- Iteration 17 -- +bool(true) +-- Iteration 18 -- +bool(true) +-- Iteration 19 -- +bool(true) +-- Iteration 20 -- +bool(true) +-- Iteration 21 -- +bool(true) +-- Iteration 22 -- +bool(true) +-- Iteration 23 -- +bool(true) +-- Iteration 24 -- +bool(true) +-- Iteration 25 -- +bool(true) +-- Iteration 26 -- +bool(true) +-- Iteration 27 -- +bool(true) +-- Iteration 28 -- +bool(true) +-- Iteration 29 -- +bool(true) +-- Iteration 30 -- +bool(true) +-- Iteration 31 -- +bool(true) +-- Iteration 32 -- +bool(true) +-- Iteration 33 -- +bool(true) +-- Iteration 34 -- +bool(true) +-- Iteration 35 -- +bool(true) +-- Iteration 36 -- +bool(true) +-- Iteration 37 -- +bool(true) +-- Iteration 38 -- +bool(true) +-- Iteration 39 -- +bool(true) +-- Iteration 40 -- +bool(true) +-- Iteration 41 -- +bool(true) +-- Iteration 42 -- +bool(true) +-- Iteration 43 -- +bool(true) +-- Iteration 44 -- +bool(true) +-- Iteration 45 -- +bool(true) +-- Iteration 46 -- +bool(true) +-- Iteration 47 -- +bool(true) +-- Iteration 48 -- +bool(true) +-- Iteration 49 -- +bool(true) +-- Iteration 50 -- +bool(true) +-- Iteration 51 -- +bool(true) +-- Iteration 52 -- +bool(true) +-- Iteration 53 -- +bool(true) +-- Iteration 54 -- +bool(true) +-- Iteration 55 -- +bool(true) +-- Iteration 56 -- +bool(true) +-- Iteration 57 -- +bool(true) +-- Iteration 58 -- +bool(true) +-- Iteration 59 -- +bool(true) +-- Iteration 60 -- +bool(true) +-- Iteration 61 -- +bool(true) +-- Iteration 62 -- +bool(true) +-- Iteration 63 -- +bool(true) +-- Iteration 64 -- +bool(true) +-- Iteration 65 -- +bool(true) +-- Iteration 66 -- +bool(true) +-- Iteration 67 -- +bool(true) +-- Iteration 68 -- +bool(true) +-- Iteration 69 -- +bool(true) +-- Iteration 70 -- +bool(true) +-- Iteration 71 -- +bool(true) +-- Iteration 72 -- +bool(true) +-- Iteration 73 -- +bool(true) +-- Iteration 74 -- +bool(true) +-- Iteration 75 -- +bool(true) +-- Iteration 76 -- +bool(true) +-- Iteration 77 -- +bool(true) +-- Iteration 78 -- +bool(true) + +*** Testing is_numeric() on non numeric types *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +-- Iteration 27 -- +bool(false) +-- Iteration 28 -- +bool(false) + +*** Testing error conditions *** + +Warning: Wrong parameter count for is_numeric() in %s on line %d +NULL + +Warning: Wrong parameter count for is_numeric() in %s on line %d +NULL +Done diff --git a/ext/standard/tests/general_functions/is_object.phpt b/ext/standard/tests/general_functions/is_object.phpt new file mode 100644 index 0000000000..9916c9e32a --- /dev/null +++ b/ext/standard/tests/general_functions/is_object.phpt @@ -0,0 +1,228 @@ +--TEST-- +Test is_object() function +--FILE-- +getClassName() . "\n"; + } +} + +// implement abstract class +class concreteClass extends abstractClass +{ + protected function getClassName() { + return "concreteClass"; + } +} + +// interface class +interface IValue +{ + public function setVal ($name, $val); + public function dumpVal (); +} + +// implement the interface +class Value implements IValue +{ + private $vars = array (); + + public function setVal ( $name, $val ) { + $this->vars[$name] = $val; + } + + public function dumpVal () { + var_dump ( $vars ); + } +} + +// a gereral class +class myClass +{ + var $foo_object; + public $public_var; + public $public_var1; + private $private_var; + protected $protected_var; + + function myClass ( ) { + $this->foo_object = new foo(); + $this->public_var = 10; + $this->public_var1 = new foo(); + $this->private_var = new foo(); + $this->proected_var = new foo(); + } +} + +// create a object of each class defined above +$myClass_object = new myClass(); +$foo_object = new foo(); +$Value_object = new Value(); +$concreteClass_object = new concreteClass(); + +$valid_objects = array( + new stdclass, + new foo, + new concreteClass, + new Value, + new myClass, + $myClass_object, + $myClass_object->foo_object, + $myClass_object->public_var1, + $foo_object, + $Value_object, + $concreteClass_object +); + +/* loop to check that is_object() recognizes different + objects, expected output: bool(true) */ +$loop_counter = 1; +foreach ($valid_objects as $object ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_object($object) ); +} + +echo "\n*** Testing is_object() on non object types ***\n"; + +// get a resource type variable +$fp = fopen (__FILE__, "r"); +$dfp = opendir ( dirname(__FILE__) ); + +// unset object +$unset_object = new foo(); +unset ($unset_object); + +// other types in a array +$not_objects = array ( + 0, + -1, + 0.1, + -10.0000000000000000005, + 10.5e+5, + 0xFF, + 0123, + $fp, // resource + $dfp, + array(), + array("string"), + "0", + "1", + "", + true, + NULL, + null, + @$unset_object, // unset object + @$undefined_var, // undefined variable +); +/* loop through the $not_objects to see working of + is_object() on non object types, expected output: bool(false) */ +$loop_counter = 1; +foreach ($not_objects as $type ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_object($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_object() ); + +//arguments more than expected +var_dump( is_object($myClass_object, $myClass_object) ); + +echo "Done\n"; +?> + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_object() with valid objects *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) + +*** Testing is_object() on non object types *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) + +*** Testing error conditions *** + +Warning: is_object(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_object(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/is_scalar.phpt b/ext/standard/tests/general_functions/is_scalar.phpt new file mode 100644 index 0000000000..f7f142a16a --- /dev/null +++ b/ext/standard/tests/general_functions/is_scalar.phpt @@ -0,0 +1,241 @@ +--TEST-- +Test is_scalar() function +--FILE-- + + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing basic operations *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) +-- Iteration 12 -- +bool(true) +-- Iteration 13 -- +bool(true) +-- Iteration 14 -- +bool(true) +-- Iteration 15 -- +bool(true) +-- Iteration 16 -- +bool(true) +-- Iteration 17 -- +bool(true) +-- Iteration 18 -- +bool(true) +-- Iteration 19 -- +bool(true) +-- Iteration 20 -- +bool(true) +-- Iteration 21 -- +bool(true) +-- Iteration 22 -- +bool(true) +-- Iteration 23 -- +bool(true) +-- Iteration 24 -- +bool(true) +-- Iteration 25 -- +bool(true) +-- Iteration 26 -- +bool(true) +-- Iteration 27 -- +bool(true) +-- Iteration 28 -- +bool(true) +-- Iteration 29 -- +bool(true) +-- Iteration 30 -- +bool(true) +-- Iteration 31 -- +bool(true) +-- Iteration 32 -- +bool(true) +-- Iteration 33 -- +bool(true) + +*** Testing possible variations *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) + +*** Testing error conditions *** + +Warning: Wrong parameter count for is_scalar() in %s on line %d +NULL + +Warning: Wrong parameter count for is_scalar() in %s on line %d +NULL + +Warning: Wrong parameter count for is_scalar() in %s on line %d +NULL +Done diff --git a/ext/standard/tests/general_functions/is_string.phpt b/ext/standard/tests/general_functions/is_string.phpt new file mode 100644 index 0000000000..92bca6673a --- /dev/null +++ b/ext/standard/tests/general_functions/is_string.phpt @@ -0,0 +1,304 @@ +--TEST-- +Test is_string() function +--FILE-- + "One", "two" => 2), + + /* undefined and unset vars */ + @$unset_string1, + @$unset_string2, + @$unset_heredoc, + @$undefined_var +); +/* loop through the $not_strings to see working of + is_string() on non string types, expected output bool(false) */ +$loop_counter = 1; +foreach ($not_strings as $type ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_string($type) ); +} + +echo "\n*** Testing error conditions ***\n"; +//Zero argument +var_dump( is_string() ); + +//arguments more than expected +var_dump( is_string("string", "test") ); + +echo "Done\n"; +?> + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing is_string() with valid string values *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(true) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(true) +-- Iteration 5 -- +bool(true) +-- Iteration 6 -- +bool(true) +-- Iteration 7 -- +bool(true) +-- Iteration 8 -- +bool(true) +-- Iteration 9 -- +bool(true) +-- Iteration 10 -- +bool(true) +-- Iteration 11 -- +bool(true) +-- Iteration 12 -- +bool(true) +-- Iteration 13 -- +bool(true) +-- Iteration 14 -- +bool(true) +-- Iteration 15 -- +bool(true) +-- Iteration 16 -- +bool(true) +-- Iteration 17 -- +bool(true) +-- Iteration 18 -- +bool(true) +-- Iteration 19 -- +bool(true) +-- Iteration 20 -- +bool(true) +-- Iteration 21 -- +bool(true) +-- Iteration 22 -- +bool(true) + +*** Testing is_string() on non string values *** +-- Iteration 1 -- +bool(false) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(false) +-- Iteration 4 -- +bool(false) +-- Iteration 5 -- +bool(false) +-- Iteration 6 -- +bool(false) +-- Iteration 7 -- +bool(false) +-- Iteration 8 -- +bool(false) +-- Iteration 9 -- +bool(false) +-- Iteration 10 -- +bool(false) +-- Iteration 11 -- +bool(false) +-- Iteration 12 -- +bool(false) +-- Iteration 13 -- +bool(false) +-- Iteration 14 -- +bool(false) +-- Iteration 15 -- +bool(false) +-- Iteration 16 -- +bool(false) +-- Iteration 17 -- +bool(false) +-- Iteration 18 -- +bool(false) +-- Iteration 19 -- +bool(false) +-- Iteration 20 -- +bool(false) +-- Iteration 21 -- +bool(false) +-- Iteration 22 -- +bool(false) +-- Iteration 23 -- +bool(false) +-- Iteration 24 -- +bool(false) +-- Iteration 25 -- +bool(false) +-- Iteration 26 -- +bool(false) +-- Iteration 27 -- +bool(false) +-- Iteration 28 -- +bool(false) +-- Iteration 29 -- +bool(false) +-- Iteration 30 -- +bool(false) +-- Iteration 31 -- +bool(false) +-- Iteration 32 -- +bool(false) +-- Iteration 33 -- +bool(false) +-- Iteration 34 -- +bool(false) +-- Iteration 35 -- +bool(false) +-- Iteration 36 -- +bool(false) +-- Iteration 37 -- +bool(false) +-- Iteration 38 -- +bool(false) +-- Iteration 39 -- +bool(false) +-- Iteration 40 -- +bool(false) +-- Iteration 41 -- +bool(false) +-- Iteration 42 -- +bool(false) +-- Iteration 43 -- +bool(false) +-- Iteration 44 -- +bool(false) +-- Iteration 45 -- +bool(false) + +*** Testing error conditions *** + +Warning: is_string(): Only one argument expected in %s on line %d +bool(false) + +Warning: is_string(): Only one argument expected in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/general_functions/print_r.phpt b/ext/standard/tests/general_functions/print_r.phpt new file mode 100644 index 0000000000..08798ccbde --- /dev/null +++ b/ext/standard/tests/general_functions/print_r.phpt @@ -0,0 +1,1790 @@ +--TEST-- +Test print_r() function +--FILE-- + + 'One'), + array("test" => "is_array"), + array(0), + array(-1), + array(10.5, 5.6), + array("string", "test"), + array('string', 'test'), + $array1 = array(1,2,3,4, &$array1) // recursive array +); +/* calling check_printr() to display contents of $arrays */ +check_printr($arrays); + +echo "\n*** Testing print_r() on object variables ***\n"; +class object_class +{ + var $value; + public $public_var1 = 10; + private $private_var1 = 20; + private $private_var2; + protected $protected_var1 = "string_1"; + protected $protected_var2; + + function object_class ( ) { + $this->value = 50; + $this->public_var2 = 11; + $this->private_var2 = 21; + $this->protected_var2 = "string_2"; + } + + public function foo1() { + echo "foo1() is called\n"; + } + protected function foo2() { + echo "foo2() is called\n"; + } + private function foo3() { + echo "foo3() is called\n"; + } +} +/* class with no member */ +class no_member_class { + // no members +} + +/* class with member as object of other class */ +class contains_object_class +{ + var $p = 30; + var $class_object1; + public $class_object2; + private $class_object3; + protected $class_object4; + var $no_member_class_object; + + public function func() { + echo "func() is called \n"; + } + + function contains_object_class () { + $this->class_object1 = new object_class(); + $this->class_object2 = new object_class(); + $this->class_object3 = $this->class_object1; + $this->class_object4 = $this->class_object2; + $this->no_member_class_object = new no_member_class(); + $this->class_object5 = $this; //recursive reference + } +} + +/* objects of different classes */ +$obj = new contains_object_class; +$temp_class_obj = new object_class(); + +/* object which is unset */ +$unset_obj = new object_class(); +unset($unset_obj); + +$objects = array ( + new object_class, + new no_member_class, + new contains_object_class, + $obj, + $obj->class_object1, + $obj->class_object2, + $obj->no_member_class_object, + $temp_class_obj, + @$unset_obj +); +/* calling check_printr() to display contents of the objects using print_r() */ +check_printr($objects); + +echo "\n** Testing print_r() on objects having circular reference **\n"; +$recursion_obj1 = new object_class(); +$recursion_obj2 = new object_class(); +$recursion_obj1->obj = &$recursion_obj2; //circular reference +$recursion_obj2->obj = &$recursion_obj1; //circular reference +print_r($recursion_obj2); + +echo "\n*** Testing print_r() on resources ***\n"; +/* file type resource */ +$file_handle = fopen(__FILE__, "r"); + +/* directory type resource */ +$dir_handle = opendir( dirname(__FILE__) ); + +$resources = array ( + $file_handle, + $dir_handle +); +/* calling check_printr() to display the resource content type + using print_r() */ +check_printr($resources); + +echo "\n*** Testing print_r() on different combinations of scalar + and non-scalar variables ***\n"; +/* a variable which is unset */ +$unset_var = 10.5; +unset($unset_var); + +/* unset file type resource */ +unset($file_handle); + +$variations = array ( + array( 123, -1.2345, "a" ), + array( "d", array(1, 3, 5), true, null), + array( new no_member_class, array(), false, 0 ), + array( -0.00, "Where am I?", array(7,8,9), TRUE, 'A', 987654321 ), + array( @$unset_var, 2.E+10, 100-20.9, 000004.599998 ), //unusual data + array( "array(1,2,3,4)1.0000002TRUE", @$file_handle, 111333.00+45e5, '/00\7') +); +/* calling check_printr() to display combinations of scalar and + non-scalar variables using print_r() */ +check_printr($variations); + +echo "\n*** Testing print_r() on miscelleneous input arguments ***\n"; +$misc_values = array ( + @$unset_var, + NULL, // NULL argument + @$undef_variable, //undefined variable + null +); +/* calling check_printr() to display miscelleneous data using print_r() */ +check_printr($misc_values); + +/* checking print_r() on functions */ +echo "\n*** Testing print_r() on anonymous functions ***\n"; +$newfunc = create_function('$a,$b', 'return "$a * $b = " . ($a * $b);'); +echo "New anonymous function: $newfunc\n"; +print_r( $newfunc(2, 3) ); +/* creating anonymous function dynamically */ +print_r( create_function('$a', 'return "$a * $a = " . ($a * $b);') ); + +echo "\n\n*** Testing error conditions ***\n"; +//passing zero argument +var_dump( print_r() ); + +//passing more than required no. of arguments +var_dump( print_r(123, true, "abc") ); + +// check when second arg is given other than boolean TRUE +var_dump( print_r ($value, "string") ); + +/* closing resource handle used */ +closedir($dir_handle); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing print_r() on integer variables *** + +-- Iteration 1 -- +0 +0 +0 +-- Iteration 2 -- +83 +83 +83 +-- Iteration 3 -- +123000000 +123000000 +123000000 +-- Iteration 4 -- +-83 +-83 +-83 +-- Iteration 5 -- +-12300000 +-12300000 +-12300000 +-- Iteration 6 -- +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => 5 + [5] => 6 + [6] => 7 + [7] => 8 + [8] => 9 + [9] => 10 +) + +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => 5 + [5] => 6 + [6] => 7 + [7] => 8 + [8] => 9 + [9] => 10 +) + +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => 5 + [5] => 6 + [6] => 7 + [7] => 8 + [8] => 9 + [9] => 10 +) + +-- Iteration 7 -- +Array +( + [0] => -1 + [1] => -2 + [2] => -3 + [3] => -4 + [4] => -5 + [5] => -6 + [6] => -7 + [7] => -8 + [8] => -9 + [9] => -10 +) + +Array +( + [0] => -1 + [1] => -2 + [2] => -3 + [3] => -4 + [4] => -5 + [5] => -6 + [6] => -7 + [7] => -8 + [8] => -9 + [9] => -10 +) + +Array +( + [0] => -1 + [1] => -2 + [2] => -3 + [3] => -4 + [4] => -5 + [5] => -6 + [6] => -7 + [7] => -8 + [8] => -9 + [9] => -10 +) + +-- Iteration 8 -- +2147483647 +2147483647 +2147483647 +-- Iteration 9 -- +2147483648 +2147483648 +2147483648 +-- Iteration 10 -- +-2147483648 +-2147483648 +-2147483648 +-- Iteration 11 -- +-2147483647 +-2147483647 +-2147483647 +-- Iteration 12 -- +2147483647 +2147483647 +2147483647 +-- Iteration 13 -- +-2147483648 +-2147483648 +-2147483648 +-- Iteration 14 -- +2147483647 +2147483647 +2147483647 +-- Iteration 15 -- +-2147483648 +-2147483648 +-2147483648 +*** Testing print_r() on float variables *** + +-- Iteration 1 -- +0 +0 +0 +-- Iteration 2 -- +0 +0 +0 +-- Iteration 3 -- +1.234 +1.234 +1.234 +-- Iteration 4 -- +-1.234 +-1.234 +-1.234 +-- Iteration 5 -- +-2 +-2 +-2 +-- Iteration 6 -- +2 +2 +2 +-- Iteration 7 -- +-0.5 +-0.5 +-0.5 +-- Iteration 8 -- +0.567 +0.567 +0.567 +-- Iteration 9 -- +-0.00067 +-0.00067 +-0.00067 +-- Iteration 10 -- +-670 +-670 +-670 +-- Iteration 11 -- +670 +670 +670 +-- Iteration 12 -- +670 +670 +670 +-- Iteration 13 -- +-0.00410003 +-0.00410003 +-0.00410003 +-- Iteration 14 -- +-4100.03 +-4100.03 +-4100.03 +-- Iteration 15 -- +0.004100003 +0.004100003 +0.004100003 +-- Iteration 16 -- +4100.003 +4100.003 +4100.003 +-- Iteration 17 -- +100000 +100000 +100000 +-- Iteration 18 -- +-100000 +-100000 +-100000 +-- Iteration 19 -- +1.0E-5 +1.0E-5 +1.0E-5 +-- Iteration 20 -- +-1.0E-5 +-1.0E-5 +-1.0E-5 +-- Iteration 21 -- +100000 +100000 +100000 +-- Iteration 22 -- +-100000 +-100000 +-100000 +-- Iteration 23 -- +100000 +100000 +100000 +-- Iteration 24 -- +-100000 +-100000 +-100000 +-- Iteration 25 -- +100000 +100000 +100000 +-- Iteration 26 -- +-100000 +-100000 +-100000 +-- Iteration 27 -- +1.0E-5 +1.0E-5 +1.0E-5 +-- Iteration 28 -- +-1.0E-5 +-1.0E-5 +-1.0E-5 +-- Iteration 29 -- +-2147483649 +-2147483649 +-2147483649 +-- Iteration 30 -- +2147483649 +2147483649 +2147483649 +-- Iteration 31 -- +2147483649 +2147483649 +2147483649 +-- Iteration 32 -- +-2147483649 +-2147483649 +-2147483649 +*** Testing print_r() on string variables *** + +-- Iteration 1 -- + + + +-- Iteration 2 -- + + + +-- Iteration 3 -- + + + +-- Iteration 4 -- + + + +-- Iteration 5 -- +0 +0 +0 +-- Iteration 6 -- + + + +-- Iteration 7 -- +\0 +\0 +\0 +-- Iteration 8 -- + + + +-- Iteration 9 -- +\t +\t +\t +-- Iteration 10 -- +PHP +PHP +PHP +-- Iteration 11 -- +PHP +PHP +PHP +-- Iteration 12 -- +abcdn12340567800efgh\xijkl +abcdn12340567800efgh\xijkl +abcdn12340567800efgh\xijkl +-- Iteration 13 -- +abcdefghijklmnop0qrstuvwx0yz +abcdefghijklmnop0qrstuvwx0yz +abcdefghijklmnop0qrstuvwx0yz +-- Iteration 14 -- +1234 +5678 + 9100 +abcda +1234 +5678 + 9100 +abcda +1234 +5678 + 9100 +abcda +*** Testing print_r() on boolean variables *** + +-- Iteration 1 -- +1 +1 +1 +-- Iteration 2 -- + + + +-- Iteration 3 -- +1 +1 +1 +-- Iteration 4 -- + + +bool(true) + +bool(true) + +*** Testing print_r() on array variables *** + +-- Iteration 1 -- +Array +( +) + +Array +( +) + +Array +( +) + +-- Iteration 2 -- +Array +( + [0] => +) + +Array +( + [0] => +) + +Array +( + [0] => +) + +-- Iteration 3 -- +Array +( + [0] => +) + +Array +( + [0] => +) + +Array +( + [0] => +) + +-- Iteration 4 -- +Array +( + [0] => 1 +) + +Array +( + [0] => 1 +) + +Array +( + [0] => 1 +) + +-- Iteration 5 -- +Array +( + [0] => +) + +Array +( + [0] => +) + +Array +( + [0] => +) + +-- Iteration 6 -- +Array +( + [0] => +) + +Array +( + [0] => +) + +Array +( + [0] => +) + +-- Iteration 7 -- +Array +( + [0] => Array + ( + ) + + [1] => Array + ( + ) + +) + +Array +( + [0] => Array + ( + ) + + [1] => Array + ( + ) + +) + +Array +( + [0] => Array + ( + ) + + [1] => Array + ( + ) + +) + +-- Iteration 8 -- +Array +( + [0] => Array + ( + [0] => 1 + [1] => 2 + ) + + [1] => Array + ( + [0] => a + [1] => b + ) + +) + +Array +( + [0] => Array + ( + [0] => 1 + [1] => 2 + ) + + [1] => Array + ( + [0] => a + [1] => b + ) + +) + +Array +( + [0] => Array + ( + [0] => 1 + [1] => 2 + ) + + [1] => Array + ( + [0] => a + [1] => b + ) + +) + +-- Iteration 9 -- +Array +( + [1] => One +) + +Array +( + [1] => One +) + +Array +( + [1] => One +) + +-- Iteration 10 -- +Array +( + [test] => is_array +) + +Array +( + [test] => is_array +) + +Array +( + [test] => is_array +) + +-- Iteration 11 -- +Array +( + [0] => 0 +) + +Array +( + [0] => 0 +) + +Array +( + [0] => 0 +) + +-- Iteration 12 -- +Array +( + [0] => -1 +) + +Array +( + [0] => -1 +) + +Array +( + [0] => -1 +) + +-- Iteration 13 -- +Array +( + [0] => 10.5 + [1] => 5.6 +) + +Array +( + [0] => 10.5 + [1] => 5.6 +) + +Array +( + [0] => 10.5 + [1] => 5.6 +) + +-- Iteration 14 -- +Array +( + [0] => string + [1] => test +) + +Array +( + [0] => string + [1] => test +) + +Array +( + [0] => string + [1] => test +) + +-- Iteration 15 -- +Array +( + [0] => string + [1] => test +) + +Array +( + [0] => string + [1] => test +) + +Array +( + [0] => string + [1] => test +) + +-- Iteration 16 -- +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + ( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + *RECURSION* + ) + +) + +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + ( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + *RECURSION* + ) + +) + +Array +( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + ( + [0] => 1 + [1] => 2 + [2] => 3 + [3] => 4 + [4] => Array + *RECURSION* + ) + +) + +*** Testing print_r() on object variables *** + +-- Iteration 1 -- +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +-- Iteration 2 -- +no_member_class Object +( +) + +no_member_class Object +( +) + +no_member_class Object +( +) + +-- Iteration 3 -- +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +-- Iteration 4 -- +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +contains_object_class Object +( + [p] => 30 + [class_object1] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object2] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object3:private] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [class_object4:protected] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + ) + + [no_member_class_object] => no_member_class Object + ( + ) + + [class_object5] => contains_object_class Object + *RECURSION* +) + +-- Iteration 5 -- +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +-- Iteration 6 -- +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +-- Iteration 7 -- +no_member_class Object +( +) + +no_member_class Object +( +) + +no_member_class Object +( +) + +-- Iteration 8 -- +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 +) + +-- Iteration 9 -- + + + +** Testing print_r() on objects having circular reference ** +object_class Object +( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + [obj] => object_class Object + ( + [value] => 50 + [public_var1] => 10 + [private_var1:private] => 20 + [private_var2:private] => 21 + [protected_var1:protected] => string_1 + [protected_var2:protected] => string_2 + [public_var2] => 11 + [obj] => object_class Object + *RECURSION* + ) + +) + +*** Testing print_r() on resources *** + +-- Iteration 1 -- +Resource id #%d +Resource id #%d +Resource id #%d +-- Iteration 2 -- +Resource id #%d +Resource id #%d +Resource id #%d +*** Testing print_r() on different combinations of scalar + and non-scalar variables *** + +-- Iteration 1 -- +Array +( + [0] => 123 + [1] => -1.2345 + [2] => a +) + +Array +( + [0] => 123 + [1] => -1.2345 + [2] => a +) + +Array +( + [0] => 123 + [1] => -1.2345 + [2] => a +) + +-- Iteration 2 -- +Array +( + [0] => d + [1] => Array + ( + [0] => 1 + [1] => 3 + [2] => 5 + ) + + [2] => 1 + [3] => +) + +Array +( + [0] => d + [1] => Array + ( + [0] => 1 + [1] => 3 + [2] => 5 + ) + + [2] => 1 + [3] => +) + +Array +( + [0] => d + [1] => Array + ( + [0] => 1 + [1] => 3 + [2] => 5 + ) + + [2] => 1 + [3] => +) + +-- Iteration 3 -- +Array +( + [0] => no_member_class Object + ( + ) + + [1] => Array + ( + ) + + [2] => + [3] => 0 +) + +Array +( + [0] => no_member_class Object + ( + ) + + [1] => Array + ( + ) + + [2] => + [3] => 0 +) + +Array +( + [0] => no_member_class Object + ( + ) + + [1] => Array + ( + ) + + [2] => + [3] => 0 +) + +-- Iteration 4 -- +Array +( + [0] => 0 + [1] => Where am I? + [2] => Array + ( + [0] => 7 + [1] => 8 + [2] => 9 + ) + + [3] => 1 + [4] => A + [5] => 987654321 +) + +Array +( + [0] => 0 + [1] => Where am I? + [2] => Array + ( + [0] => 7 + [1] => 8 + [2] => 9 + ) + + [3] => 1 + [4] => A + [5] => 987654321 +) + +Array +( + [0] => 0 + [1] => Where am I? + [2] => Array + ( + [0] => 7 + [1] => 8 + [2] => 9 + ) + + [3] => 1 + [4] => A + [5] => 987654321 +) + +-- Iteration 5 -- +Array +( + [0] => + [1] => 20000000000 + [2] => 79.1 + [3] => 4.599998 +) + +Array +( + [0] => + [1] => 20000000000 + [2] => 79.1 + [3] => 4.599998 +) + +Array +( + [0] => + [1] => 20000000000 + [2] => 79.1 + [3] => 4.599998 +) + +-- Iteration 6 -- +Array +( + [0] => array(1,2,3,4)1.0000002TRUE + [1] => + [2] => 4611333 + [3] => /00\7 +) + +Array +( + [0] => array(1,2,3,4)1.0000002TRUE + [1] => + [2] => 4611333 + [3] => /00\7 +) + +Array +( + [0] => array(1,2,3,4)1.0000002TRUE + [1] => + [2] => 4611333 + [3] => /00\7 +) + +*** Testing print_r() on miscelleneous input arguments *** + +-- Iteration 1 -- + + + +-- Iteration 2 -- + + + +-- Iteration 3 -- + + + +-- Iteration 4 -- + + + +*** Testing print_r() on anonymous functions *** +New anonymous function: lambda_1 +2 * 3 = 6lambda_2 + +*** Testing error conditions *** + +Warning: print_r() expects at least 1 parameter, 0 given in %s on line %d +bool(false) + +Warning: print_r() expects at most 2 parameters, 3 given in %s on line %d +bool(false) + +Notice: Undefined variable: value in %s on line %d +string(0) "" +Done diff --git a/ext/standard/tests/general_functions/strval.phpt b/ext/standard/tests/general_functions/strval.phpt new file mode 100644 index 0000000000..377cae1ef0 --- /dev/null +++ b/ext/standard/tests/general_functions/strval.phpt @@ -0,0 +1,308 @@ +--TEST-- +Test strval() function +--FILE-- + + +--CLEAN-- +// close the resources used +fclose($fp); +closedir($dfp); + +--EXPECTF-- +*** Testing str_val() with scalar values*** +-- Iteration 1 -- +string(1) "0" +-- Iteration 2 -- +string(1) "1" +-- Iteration 3 -- +string(2) "-1" +-- Iteration 4 -- +string(11) "-2147483648" +-- Iteration 5 -- +string(11) "-2147483647" +-- Iteration 6 -- +string(10) "2147483647" +-- Iteration 7 -- +string(10) "2147483640" +-- Iteration 8 -- +string(4) "4667" +-- Iteration 9 -- +string(4) "4779" +-- Iteration 10 -- +string(4) "4095" +-- Iteration 11 -- +string(3) "250" +-- Iteration 12 -- +string(11) "-2147483648" +-- Iteration 13 -- +string(10) "2147483647" +-- Iteration 14 -- +string(10) "2147483647" +-- Iteration 15 -- +string(2) "83" +-- Iteration 16 -- +string(1) "1" +-- Iteration 17 -- +string(11) "-2147483648" +-- Iteration 18 -- +string(10) "2147483647" +-- Iteration 19 -- +string(11) "-2147483649" +-- Iteration 20 -- +string(10) "2147483648" +-- Iteration 21 -- +string(11) "-2147483649" +-- Iteration 22 -- +string(11) "34359738369" +-- Iteration 23 -- +string(10) "2147483649" +-- Iteration 24 -- +string(11) "-2147483649" +-- Iteration 25 -- +string(1) "0" +-- Iteration 26 -- +string(4) "-0.1" +-- Iteration 27 -- +string(2) "10" +-- Iteration 28 -- +string(7) "1050000" +-- Iteration 29 -- +string(6) "1.0E-5" +-- Iteration 30 -- +string(7) "5000000" +-- Iteration 31 -- +string(7) "6.0E-20" +-- Iteration 32 -- +string(7) "5.0E+42" +-- Iteration 33 -- +string(7) "3.4E-33" +-- Iteration 34 -- +string(1) "1" +-- Iteration 35 -- +string(1) "1" +-- Iteration 36 -- +string(0) "" +-- Iteration 37 -- +string(0) "" +-- Iteration 38 -- +string(0) "" +-- Iteration 39 -- +string(0) "" +-- Iteration 40 -- +string(1) " " +-- Iteration 41 -- +string(1) " " +-- Iteration 42 -- +string(1) "0" +-- Iteration 43 -- +string(1) "0" +-- Iteration 44 -- +string(7) "testing" +-- Iteration 45 -- +string(5) "0x564" +-- Iteration 46 -- +string(4) "0123" +-- Iteration 47 -- +string(4) "new +" +-- Iteration 48 -- +string(5) "new\n" +-- Iteration 49 -- +string(11) "@#$$%^&&*()" +-- Iteration 50 -- +string(8) " " +-- Iteration 51 -- +string(4) "null" +-- Iteration 52 -- +string(4) "null" +-- Iteration 53 -- +string(4) "true" +-- Iteration 54 -- +string(4) "true" +-- Iteration 55 -- +string(54) "This is a multiline heredoc +string. Numeric = 1232455." +-- Iteration 56 -- +string(10) "12345 +2345" +-- Iteration 57 -- +string(0) "" + +*** Testing strval() with non_scalar values *** +-- Iteration 1 -- +string(6) "Object" +-- Iteration 2 -- +string(14) "Resource id #5" +-- Iteration 3 -- +string(14) "Resource id #6" +-- Iteration 4 -- +string(5) "Array" +-- Iteration 5 -- +string(5) "Array" +-- Iteration 6 -- +string(5) "Array" +-- Iteration 7 -- +string(5) "Array" +-- Iteration 8 -- +string(0) "" +-- Iteration 9 -- +string(0) "" +-- Iteration 10 -- +string(0) "" +-- Iteration 11 -- +string(0) "" + +*** Testing error conditions *** + +Warning: Wrong parameter count for strval() in %s on line %d +NULL + +Warning: Wrong parameter count for strval() in %s on line %d +NULL +Done diff --git a/ext/standard/tests/general_functions/var_dump.phpt b/ext/standard/tests/general_functions/var_dump.phpt new file mode 100644 index 0000000000..9908884354 --- /dev/null +++ b/ext/standard/tests/general_functions/var_dump.phpt @@ -0,0 +1,1979 @@ +--TEST-- +Test var_dump() function +--FILE-- + + 'One'), + array("test" => "is_array"), + array(0), + array(-1), + array(10.5, 5.6), + array("string", "test"), + array('string', 'test'), + $array1 = array(1,2,3,4, &$array1) // recursive array +); +/* calling check_vardump() to display contents of an array + using var_dump() */ +check_vardump($arrays); + +echo "\n*** Testing var_dump() on object variables ***\n"; +class object_class +{ + var $value; + public $public_var1 = 10; + private $private_var1 = 20; + private $private_var2; + protected $protected_var1 = "string_1"; + protected $protected_var2; + + function object_class ( ) { + $this->value = 50; + $this->public_var2 = 11; + $this->private_var2 = 21; + $this->protected_var2 = "string_2"; + } + + public function foo1() { + echo "foo1() is called\n"; + } + protected function foo2() { + echo "foo2() is called\n"; + } + private function foo3() { + echo "foo3() is called\n"; + } +} +/* class with no member */ +class no_member_class { + // no members +} + +/* class with member as object of other class */ +class contains_object_class +{ + var $p = 30; + var $class_object1; + public $class_object2; + private $class_object3; + protected $class_object4; + var $no_member_class_object; + + public function func() { + echo "func() is called \n"; + } + + function contains_object_class () { + $this->class_object1 = new object_class(); + $this->class_object2 = new object_class(); + $this->class_object3 = $this->class_object1; + $this->class_object4 = $this->class_object2; + $this->no_member_class_object = new no_member_class(); + $this->class_object5 = $this; //recursive reference + } +} + +/* objects of different classes */ +$obj = new contains_object_class; +$temp_class_obj = new object_class(); + +/* object which is unset */ +$unset_obj = new object_class(); +unset($unset_obj); + +$objects = array ( + new object_class, + new no_member_class, + new contains_object_class, + $obj, + $obj->class_object1, + $obj->class_object2, + $obj->no_member_class_object, + $temp_class_obj, + @$unset_obj +); +/* calling check_vardump() to display contents of the objects + using var_dump() */ +check_vardump($objects); + +echo "\n** Testing var_dump() on objects having circular reference **\n"; +$recursion_obj1 = new object_class(); +$recursion_obj2 = new object_class(); +$recursion_obj1->obj = &$recursion_obj2; //circular reference +$recursion_obj2->obj = &$recursion_obj1; //circular reference +var_dump($recursion_obj2); + +echo "\n*** Testing var_dump() on resources ***\n"; +/* file type resource */ +$file_handle = fopen(__FILE__, "r"); + +/* directory type resource */ +$dir_handle = opendir( dirname(__FILE__) ); + +$resources = array ( + $file_handle, + $dir_handle +); +/* calling check_vardump() to display the resource content type + using var_dump() */ +check_vardump($resources); + +echo "\n*** Testing var_dump() on different combinations of scalar + and non-scalar variables ***\n"; +/* a variable which is unset */ +$unset_var = 10.5; +unset($unset_var); + +/* unset file type resource */ +unset($file_handle); + +$variations = array ( + array( 123, -1.2345, "a" ), + array( "d", array(1, 3, 5), true, null), + array( new no_member_class, array(), false, 0 ), + array( -0.00, "Where am I?", array(7,8,9), TRUE, 'A', 987654321 ), + array( @$unset_var, 2.E+10, 100-20.9, 000004.599998 ), //unusual data + array( "array(1,2,3,4)1.0000002TRUE", @$file_handle, 111333.00+45e5, '/00\7') +); +/* calling check_vardump() to display combinations of scalar and + non-scalar variables using var_dump() */ +check_vardump($variations); + +echo "\n*** Testing var_dump() on miscelleneous input arguments ***\n"; +$misc_values = array ( + @$unset_var, + NULL, // NULL argument + @$undef_variable, //undefined variable + null +); +/* calling check_vardump() to display miscelleneous data using var_dump() */ +check_vardump($misc_values); + +echo "\n*** Testing var_dump() on multiple arguments ***\n"; +var_dump( $integers, $floats, $strings, $arrays, $booleans, $resources, + $objects, $misc_values, $variations ); + +/* checking var_dump() on functions */ +echo "\n*** Testing var_dump() on anonymous functions ***\n"; +$newfunc = create_function('$a,$b', 'return "$a * $b = " . ($a * $b);'); +echo "New anonymous function: $newfunc\n"; +var_dump( $newfunc(2, 3) ); +/* creating anonymous function dynamically */ +var_dump( create_function('$a', 'return "$a * $a = " . ($a * $b);') ); + +echo "\n*** Testing error conditions ***\n"; +//passing zero argument +var_dump(); + +/* closing resource handle used */ +closedir($dir_handle); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing var_dump() on integer variables *** +-- Iteration 1 -- +int(0) +-- Iteration 2 -- +int(83) +-- Iteration 3 -- +int(123000000) +-- Iteration 4 -- +int(-83) +-- Iteration 5 -- +int(-12300000) +-- Iteration 6 -- +array(10) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + int(5) + [5]=> + int(6) + [6]=> + int(7) + [7]=> + int(8) + [8]=> + int(9) + [9]=> + int(10) +} +-- Iteration 7 -- +array(10) { + [0]=> + int(-1) + [1]=> + int(-2) + [2]=> + int(-3) + [3]=> + int(-4) + [4]=> + int(-5) + [5]=> + int(-6) + [6]=> + int(-7) + [7]=> + int(-8) + [8]=> + int(-9) + [9]=> + int(-10) +} +-- Iteration 8 -- +int(2147483647) +-- Iteration 9 -- +float(2147483648) +-- Iteration 10 -- +float(-2147483648) +-- Iteration 11 -- +int(-2147483647) +-- Iteration 12 -- +int(2147483647) +-- Iteration 13 -- +float(-2147483648) +-- Iteration 14 -- +int(2147483647) +-- Iteration 15 -- +float(-2147483648) + +*** Testing var_dump() on float variables *** +-- Iteration 1 -- +float(0) +-- Iteration 2 -- +float(0) +-- Iteration 3 -- +float(1.234) +-- Iteration 4 -- +float(-1.234) +-- Iteration 5 -- +float(-2) +-- Iteration 6 -- +float(2) +-- Iteration 7 -- +float(-0.5) +-- Iteration 8 -- +float(0.567) +-- Iteration 9 -- +float(-0.00067) +-- Iteration 10 -- +float(-670) +-- Iteration 11 -- +float(670) +-- Iteration 12 -- +float(670) +-- Iteration 13 -- +float(-0.00410003) +-- Iteration 14 -- +float(-4100.03) +-- Iteration 15 -- +float(0.004100003) +-- Iteration 16 -- +float(4100.003) +-- Iteration 17 -- +float(100000) +-- Iteration 18 -- +float(-100000) +-- Iteration 19 -- +float(1.0E-5) +-- Iteration 20 -- +float(-1.0E-5) +-- Iteration 21 -- +float(100000) +-- Iteration 22 -- +float(-100000) +-- Iteration 23 -- +float(100000) +-- Iteration 24 -- +float(-100000) +-- Iteration 25 -- +float(100000) +-- Iteration 26 -- +float(-100000) +-- Iteration 27 -- +float(1.0E-5) +-- Iteration 28 -- +float(-1.0E-5) +-- Iteration 29 -- +float(-2147483649) +-- Iteration 30 -- +float(2147483649) +-- Iteration 31 -- +float(2147483649) +-- Iteration 32 -- +float(-2147483649) + +*** Testing var_dump() on string variables *** +-- Iteration 1 -- +string(0) "" +-- Iteration 2 -- +string(0) "" +-- Iteration 3 -- +string(1) " " +-- Iteration 4 -- +string(1) " " +-- Iteration 5 -- +string(1) "0" +-- Iteration 6 -- +string(1) "" +-- Iteration 7 -- +string(2) "\0" +-- Iteration 8 -- +string(1) " " +-- Iteration 9 -- +string(2) "\t" +-- Iteration 10 -- +string(3) "PHP" +-- Iteration 11 -- +string(3) "PHP" +-- Iteration 12 -- +string(29) "abcdn12340567800efgh\xijkl" +-- Iteration 13 -- +string(34) "abcdefghijklmnop0qrstuvwx0yz" +-- Iteration 14 -- +string(22) "1234 +5678 + 9100 +abcda" + +*** Testing var_dump() on boolean variables *** +-- Iteration 1 -- +bool(true) +-- Iteration 2 -- +bool(false) +-- Iteration 3 -- +bool(true) +-- Iteration 4 -- +bool(false) + +*** Testing var_dump() on array variables *** +-- Iteration 1 -- +array(0) { +} +-- Iteration 2 -- +array(1) { + [0]=> + NULL +} +-- Iteration 3 -- +array(1) { + [0]=> + NULL +} +-- Iteration 4 -- +array(1) { + [0]=> + bool(true) +} +-- Iteration 5 -- +array(1) { + [0]=> + string(0) "" +} +-- Iteration 6 -- +array(1) { + [0]=> + string(0) "" +} +-- Iteration 7 -- +array(2) { + [0]=> + array(0) { + } + [1]=> + array(0) { + } +} +-- Iteration 8 -- +array(2) { + [0]=> + array(2) { + [0]=> + int(1) + [1]=> + int(2) + } + [1]=> + array(2) { + [0]=> + string(1) "a" + [1]=> + string(1) "b" + } +} +-- Iteration 9 -- +array(1) { + [1]=> + string(3) "One" +} +-- Iteration 10 -- +array(1) { + ["test"]=> + string(8) "is_array" +} +-- Iteration 11 -- +array(1) { + [0]=> + int(0) +} +-- Iteration 12 -- +array(1) { + [0]=> + int(-1) +} +-- Iteration 13 -- +array(2) { + [0]=> + float(10.5) + [1]=> + float(5.6) +} +-- Iteration 14 -- +array(2) { + [0]=> + string(6) "string" + [1]=> + string(4) "test" +} +-- Iteration 15 -- +array(2) { + [0]=> + string(6) "string" + [1]=> + string(4) "test" +} +-- Iteration 16 -- +array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + &array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + &array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + *RECURSION* + } + } +} + +*** Testing var_dump() on object variables *** +-- Iteration 1 -- +object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) +} +-- Iteration 2 -- +object(no_member_class)#%d (0) { +} +-- Iteration 3 -- +object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + *RECURSION* + } +} +-- Iteration 4 -- +object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + *RECURSION* + } +} +-- Iteration 5 -- +object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) +} +-- Iteration 6 -- +object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) +} +-- Iteration 7 -- +object(no_member_class)#%d (0) { +} +-- Iteration 8 -- +object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) +} +-- Iteration 9 -- +NULL + +** Testing var_dump() on objects having circular reference ** +object(object_class)#%d (8) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + ["obj"]=> + &object(object_class)#%d (8) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + ["obj"]=> + &object(object_class)#%d (8) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + ["obj"]=> + &object(object_class)#%d (8) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + ["obj"]=> + *RECURSION* + } + } + } +} + +*** Testing var_dump() on resources *** +-- Iteration 1 -- +resource(%d) of type (stream) +-- Iteration 2 -- +resource(%d) of type (stream) + +*** Testing var_dump() on different combinations of scalar + and non-scalar variables *** +-- Iteration 1 -- +array(3) { + [0]=> + int(123) + [1]=> + float(-1.2345) + [2]=> + string(1) "a" +} +-- Iteration 2 -- +array(4) { + [0]=> + string(1) "d" + [1]=> + array(3) { + [0]=> + int(1) + [1]=> + int(3) + [2]=> + int(5) + } + [2]=> + bool(true) + [3]=> + NULL +} +-- Iteration 3 -- +array(4) { + [0]=> + object(no_member_class)#%d (0) { + } + [1]=> + array(0) { + } + [2]=> + bool(false) + [3]=> + int(0) +} +-- Iteration 4 -- +array(6) { + [0]=> + float(0) + [1]=> + string(11) "Where am I?" + [2]=> + array(3) { + [0]=> + int(7) + [1]=> + int(8) + [2]=> + int(9) + } + [3]=> + bool(true) + [4]=> + string(1) "A" + [5]=> + int(987654321) +} +-- Iteration 5 -- +array(4) { + [0]=> + NULL + [1]=> + float(20000000000) + [2]=> + float(79.1) + [3]=> + float(4.599998) +} +-- Iteration 6 -- +array(4) { + [0]=> + string(27) "array(1,2,3,4)1.0000002TRUE" + [1]=> + NULL + [2]=> + float(4611333) + [3]=> + string(5) "/00\7" +} + +*** Testing var_dump() on miscelleneous input arguments *** +-- Iteration 1 -- +NULL +-- Iteration 2 -- +NULL +-- Iteration 3 -- +NULL +-- Iteration 4 -- +NULL + +*** Testing var_dump() on multiple arguments *** +array(15) { + [0]=> + int(0) + [1]=> + int(83) + [2]=> + int(123000000) + [3]=> + int(-83) + [4]=> + int(-12300000) + [5]=> + array(10) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + int(5) + [5]=> + int(6) + [6]=> + int(7) + [7]=> + int(8) + [8]=> + int(9) + [9]=> + int(10) + } + [6]=> + array(10) { + [0]=> + int(-1) + [1]=> + int(-2) + [2]=> + int(-3) + [3]=> + int(-4) + [4]=> + int(-5) + [5]=> + int(-6) + [6]=> + int(-7) + [7]=> + int(-8) + [8]=> + int(-9) + [9]=> + int(-10) + } + [7]=> + int(2147483647) + [8]=> + float(2147483648) + [9]=> + float(-2147483648) + [10]=> + int(-2147483647) + [11]=> + int(2147483647) + [12]=> + float(-2147483648) + [13]=> + int(2147483647) + [14]=> + float(-2147483648) +} +array(32) { + [0]=> + float(0) + [1]=> + float(0) + [2]=> + float(1.234) + [3]=> + float(-1.234) + [4]=> + float(-2) + [5]=> + float(2) + [6]=> + float(-0.5) + [7]=> + float(0.567) + [8]=> + float(-0.00067) + [9]=> + float(-670) + [10]=> + float(670) + [11]=> + float(670) + [12]=> + float(-0.00410003) + [13]=> + float(-4100.03) + [14]=> + float(0.004100003) + [15]=> + float(4100.003) + [16]=> + float(100000) + [17]=> + float(-100000) + [18]=> + float(1.0E-5) + [19]=> + float(-1.0E-5) + [20]=> + float(100000) + [21]=> + float(-100000) + [22]=> + float(100000) + [23]=> + float(-100000) + [24]=> + float(100000) + [25]=> + float(-100000) + [26]=> + float(1.0E-5) + [27]=> + float(-1.0E-5) + [28]=> + float(-2147483649) + [29]=> + float(2147483649) + [30]=> + float(2147483649) + [31]=> + float(-2147483649) +} +array(14) { + [0]=> + string(0) "" + [1]=> + string(0) "" + [2]=> + string(1) " " + [3]=> + string(1) " " + [4]=> + string(1) "0" + [5]=> + string(1) "" + [6]=> + string(2) "\0" + [7]=> + string(1) " " + [8]=> + string(2) "\t" + [9]=> + string(3) "PHP" + [10]=> + string(3) "PHP" + [11]=> + string(29) "abcdn12340567800efgh\xijkl" + [12]=> + string(34) "abcdefghijklmnop0qrstuvwx0yz" + [13]=> + string(22) "1234 +5678 + 9100 +abcda" +} +array(16) { + [0]=> + array(0) { + } + [1]=> + array(1) { + [0]=> + NULL + } + [2]=> + array(1) { + [0]=> + NULL + } + [3]=> + array(1) { + [0]=> + bool(true) + } + [4]=> + array(1) { + [0]=> + string(0) "" + } + [5]=> + array(1) { + [0]=> + string(0) "" + } + [6]=> + array(2) { + [0]=> + array(0) { + } + [1]=> + array(0) { + } + } + [7]=> + array(2) { + [0]=> + array(2) { + [0]=> + int(1) + [1]=> + int(2) + } + [1]=> + array(2) { + [0]=> + string(1) "a" + [1]=> + string(1) "b" + } + } + [8]=> + array(1) { + [1]=> + string(3) "One" + } + [9]=> + array(1) { + ["test"]=> + string(8) "is_array" + } + [10]=> + array(1) { + [0]=> + int(0) + } + [11]=> + array(1) { + [0]=> + int(-1) + } + [12]=> + array(2) { + [0]=> + float(10.5) + [1]=> + float(5.6) + } + [13]=> + array(2) { + [0]=> + string(6) "string" + [1]=> + string(4) "test" + } + [14]=> + array(2) { + [0]=> + string(6) "string" + [1]=> + string(4) "test" + } + [15]=> + array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + &array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + &array(5) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) + [3]=> + int(4) + [4]=> + *RECURSION* + } + } + } +} +array(4) { + [0]=> + bool(true) + [1]=> + bool(false) + [2]=> + bool(true) + [3]=> + bool(false) +} +array(2) { + [0]=> + resource(%d) of type (stream) + [1]=> + resource(%d) of type (stream) +} +array(9) { + [0]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + [1]=> + object(no_member_class)#%d (0) { + } + [2]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + *RECURSION* + } + } + [3]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + object(contains_object_class)#%d (7) { + ["p"]=> + int(30) + ["class_object1"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object2"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object3:private"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["class_object4:protected"]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + ["no_member_class_object"]=> + object(no_member_class)#%d (0) { + } + ["class_object5"]=> + *RECURSION* + } + } + [4]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + [5]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + [6]=> + object(no_member_class)#%d (0) { + } + [7]=> + object(object_class)#%d (7) { + ["value"]=> + int(50) + ["public_var1"]=> + int(10) + ["private_var1:private"]=> + int(20) + ["private_var2:private"]=> + int(21) + ["protected_var1:protected"]=> + string(8) "string_1" + ["protected_var2:protected"]=> + string(8) "string_2" + ["public_var2"]=> + int(11) + } + [8]=> + NULL +} +array(4) { + [0]=> + NULL + [1]=> + NULL + [2]=> + NULL + [3]=> + NULL +} +array(6) { + [0]=> + array(3) { + [0]=> + int(123) + [1]=> + float(-1.2345) + [2]=> + string(1) "a" + } + [1]=> + array(4) { + [0]=> + string(1) "d" + [1]=> + array(3) { + [0]=> + int(1) + [1]=> + int(3) + [2]=> + int(5) + } + [2]=> + bool(true) + [3]=> + NULL + } + [2]=> + array(4) { + [0]=> + object(no_member_class)#%d (0) { + } + [1]=> + array(0) { + } + [2]=> + bool(false) + [3]=> + int(0) + } + [3]=> + array(6) { + [0]=> + float(0) + [1]=> + string(11) "Where am I?" + [2]=> + array(3) { + [0]=> + int(7) + [1]=> + int(8) + [2]=> + int(9) + } + [3]=> + bool(true) + [4]=> + string(1) "A" + [5]=> + int(987654321) + } + [4]=> + array(4) { + [0]=> + NULL + [1]=> + float(20000000000) + [2]=> + float(79.1) + [3]=> + float(4.599998) + } + [5]=> + array(4) { + [0]=> + string(27) "array(1,2,3,4)1.0000002TRUE" + [1]=> + NULL + [2]=> + float(4611333) + [3]=> + string(5) "/00\7" + } +} + +*** Testing var_dump() on anonymous functions *** +New anonymous function: lambda_1 +string(9) "2 * 3 = 6" +string(9) "lambda_2" + +*** Testing error conditions *** + +Warning: Wrong parameter count for var_dump() in %s on line %d +Done