diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/general_functions/is_scalar.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/general_functions/is_scalar.phpt')
-rw-r--r-- | ext/standard/tests/general_functions/is_scalar.phpt | 240 |
1 files changed, 240 insertions, 0 deletions
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 0000000..d3e2fa5 --- /dev/null +++ b/ext/standard/tests/general_functions/is_scalar.phpt @@ -0,0 +1,240 @@ +--TEST-- +Test is_scalar() function +--FILE-- +<?php +/* Prototype: bool is_scalar ( mixed $var ); + * Description: Finds whether a variable is a scalar (i.e integer, float, string or boolean) + */ + +echo "*** Testing basic operations ***\n"; +$scalar_variables = array( + 0, // integers + 1, + -45678, + 0x5FF, // hexadecimal as integer + 0X566, + -0xAAF, + -0XCCF, + 01234, // octal as integer + -0126, + + 0.0, // floats + -1.0, + 1e5, + -1e7, + 1.6E7, + 475.e-8, + 784.e+30, + 98.45E+40, + .5E-40, + + "", // strings + '', + " ", + ' ', + "string", + 'string', + "0", // numeric as string + "40", + "50.696", + "0x534", + "0X534", + + TRUE, // boolean + FALSE, + true, + false +); +/* loop through each valid scalar variables in $scalar_variables + and see the working of is_scalar(), expected output: bool(true) +*/ +$loop_counter = 1; +foreach($scalar_variables as $scalar) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_scalar($scalar) ); +} + +echo "\n*** Testing possible variations ***\n"; +// different scalar variables which are unset +$int_var = 10; +$float_var = 1e5; +$string_var = "string"; +$boolean_var = true; +$object = new stdclass; +$array = array(10); +$resource = opendir('.'); +unset($int_var, $float_var, $string_var, $boolean_var, $object, $array, $resource); + +// resources +$fp = fopen(__FILE__, "r"); +$dfp = opendir("."); + +$variation_array = array( + NULL, + null, + + array(), // arrays + array(NULL), + array(true), + array(0), + array(1,2,3,4), + + $fp, // resources + $dfp, + + new stdclass, // object + + @$int_var, // scalars that are unset + @$float_var, + @$string_var, + @$boolean_var, + + @$array, // non scalars that are unset + @$object, + @$resource, + + @$undefined_var // undefined variable +); + +/* loop through each element of $variation_array to see the + working of is_scalar on non-scalar values, expected output: bool(false) +*/ +$loop_counter = 1; +foreach( $variation_array as $value ) { + echo "-- Iteration $loop_counter --\n"; $loop_counter++; + var_dump( is_scalar($value) ); +} + +echo "\n*** Testing error conditions ***\n"; +// Zero arguments +var_dump( is_scalar() ); + +// Arguments more than expected +var_dump( is_scalar( $scalar_variables[2], $scalar_variables[2]) ); +var_dump( is_scalar( new stdclass, new stdclass) ); + +echo "Done\n"; + +// 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: is_scalar() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +Warning: is_scalar() expects exactly 1 parameter, 2 given in %s on line %d +NULL + +Warning: is_scalar() expects exactly 1 parameter, 2 given in %s on line %d +NULL +Done |