diff options
author | Josie Messa <jmessa@php.net> | 2008-02-14 14:22:43 +0000 |
---|---|---|
committer | Josie Messa <jmessa@php.net> | 2008-02-14 14:22:43 +0000 |
commit | d972e43b1d24bb20f1edba8e328f1e349bf2eb02 (patch) | |
tree | 15be01be506a9864d716bf49bc1a9b14ef2cea2d /ext/standard/tests/array/array_values_variation2.phpt | |
parent | aefe0569114815205aa8f7b36f68b85c68732146 (diff) | |
download | php-git-d972e43b1d24bb20f1edba8e328f1e349bf2eb02.tar.gz |
- New tests for array_values() function
Diffstat (limited to 'ext/standard/tests/array/array_values_variation2.phpt')
-rw-r--r-- | ext/standard/tests/array/array_values_variation2.phpt | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_values_variation2.phpt b/ext/standard/tests/array/array_values_variation2.phpt new file mode 100644 index 0000000000..c7e9ad3f71 --- /dev/null +++ b/ext/standard/tests/array/array_values_variation2.phpt @@ -0,0 +1,215 @@ +--TEST-- +Test array_values() function : usage variations - arrays of different data types +--FILE-- +<?php +/* Prototype : array array_values(array $input) + * Description: Return just the values from the input array + * Source code: ext/standard/array.c + */ + +/* + * Pass arrays of different data types as $input argument to array_values() to test behaviour + */ + +echo "*** Testing array_values() : usage variations ***\n"; + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +// get a class +class classA +{ + public function __toString() { + return "Class A object"; + } +} + +// heredoc string +$heredoc = <<<EOT +hello world +EOT; + +// get a resource variable +$fp = fopen(__FILE__, "r"); + +// arrays of different data types to be passed as $input +$inputs = array( + + // int data +/*1*/ 'int' => array( + 0, + 1, + 12345, + -2345, + ), + + // float data +/*2*/ 'float' => array( + 10.5, + -10.5, + 12.3456789000e10, + 12.3456789000E-10, + .5, + ), + + // null data +/*3*/ 'null' => array( + NULL, + null, + ), + + // boolean data +/*4*/ 'bool' => array( + true, + false, + TRUE, + FALSE, + ), + + // empty data +/*5*/ 'empty string' => array( + "", + '', + ), + +/*6*/ 'empty array' => array( + ), + + // string data +/*7*/ 'string' => array( + "string", + 'string', + $heredoc, + ), + + // object data +/*8*/ 'object' => array( + new classA(), + ), + + // undefined data +/*9*/ 'undefined' => array( + @$undefined_var, + ), + + // unset data +/*10*/ 'unset' => array( + @$unset_var, + ), + + // resource variable +/*11*/ 'resource' => array( + $fp + ), +); + +// loop through each element of $inputs to check the behavior of array_values() +$iterator = 1; +foreach($inputs as $key => $input) { + echo "\n-- Iteration $iterator: $key data --\n"; + var_dump( array_values($input) ); + $iterator++; +}; + +fclose($fp); + +echo "Done"; +?> + +--EXPECTF-- +*** Testing array_values() : usage variations *** + +-- Iteration 1: int data -- +array(4) { + [0]=> + int(0) + [1]=> + int(1) + [2]=> + int(12345) + [3]=> + int(-2345) +} + +-- Iteration 2: float data -- +array(5) { + [0]=> + float(10.5) + [1]=> + float(-10.5) + [2]=> + float(123456789000) + [3]=> + float(1.23456789E-9) + [4]=> + float(0.5) +} + +-- Iteration 3: null data -- +array(2) { + [0]=> + NULL + [1]=> + NULL +} + +-- Iteration 4: bool data -- +array(4) { + [0]=> + bool(true) + [1]=> + bool(false) + [2]=> + bool(true) + [3]=> + bool(false) +} + +-- Iteration 5: empty string data -- +array(2) { + [0]=> + string(0) "" + [1]=> + string(0) "" +} + +-- Iteration 6: empty array data -- +array(0) { +} + +-- Iteration 7: string data -- +array(3) { + [0]=> + string(6) "string" + [1]=> + string(6) "string" + [2]=> + string(11) "hello world" +} + +-- Iteration 8: object data -- +array(1) { + [0]=> + object(classA)#%d (0) { + } +} + +-- Iteration 9: undefined data -- +array(1) { + [0]=> + NULL +} + +-- Iteration 10: unset data -- +array(1) { + [0]=> + NULL +} + +-- Iteration 11: resource data -- +array(1) { + [0]=> + resource(%d) of type (stream) +} +Done
\ No newline at end of file |