diff options
author | andy wharmby <wharmby@php.net> | 2009-02-01 18:39:52 +0000 |
---|---|---|
committer | andy wharmby <wharmby@php.net> | 2009-02-01 18:39:52 +0000 |
commit | 008ca451c195fa2c77a38cfbef150d141b379196 (patch) | |
tree | 9e1514ffd19eb377af57887191a5f24ea0a33bc0 | |
parent | b43e2722abe0ca098a8e27e28bfa6928858cb635 (diff) | |
download | php-git-008ca451c195fa2c77a38cfbef150d141b379196.tar.gz |
New escapeshellarg() tests. Tested on Windows, Linux and Linux 64
5 files changed, 415 insertions, 0 deletions
diff --git a/ext/standard/tests/general_functions/escapeshellarg_basic-win32.phpt b/ext/standard/tests/general_functions/escapeshellarg_basic-win32.phpt new file mode 100644 index 0000000000..888005633d --- /dev/null +++ b/ext/standard/tests/general_functions/escapeshellarg_basic-win32.phpt @@ -0,0 +1,31 @@ +--TEST-- +Test escapeshellarg() function: basic test +--SKIPIF-- +<?php +if( substr(PHP_OS, 0, 3) != "WIN" ) + die("skip.. only for Windows"); +?> +--FILE-- +<?php +/* Prototype : string escapeshellarg ( string $arg ) + * Description: Escape a string to be used as a shell argument. + * Source code: ext/standard/exec.c + * Alias to functions: + */ + +echo "Simple testcase for escapeshellarg() function\n"; + +var_dump(escapeshellarg("Mr O'Neil")); +var_dump(escapeshellarg("Mr O\'Neil")); +var_dump(escapeshellarg("%FILENAME")); +var_dump(escapeshellarg("")); + +echo "Done\n"; +?> +--EXPECT-- +Simple testcase for escapeshellarg() function +string(11) ""Mr O'Neil"" +string(12) ""Mr O\'Neil"" +string(11) "" FILENAME"" +string(2) """" +Done
\ No newline at end of file diff --git a/ext/standard/tests/general_functions/escapeshellarg_basic.phpt b/ext/standard/tests/general_functions/escapeshellarg_basic.phpt new file mode 100644 index 0000000000..c26915c923 --- /dev/null +++ b/ext/standard/tests/general_functions/escapeshellarg_basic.phpt @@ -0,0 +1,31 @@ +--TEST-- +Test escapeshellarg() function: basic test +--SKIPIF-- +<?php +if( substr(PHP_OS, 0, 3) == "WIN" ) + die("skip.. Do not run on Windows"); +?> +--FILE-- +<?php +/* Prototype : string escapeshellarg ( string $arg ) + * Description: Escape a string to be used as a shell argument. + * Source code: ext/standard/exec.c + * Alias to functions: + */ + +echo "Simple testcase for escapeshellarg() function\n"; + +var_dump(escapeshellarg("Mr O'Neil")); +var_dump(escapeshellarg("Mr O\'Neil")); +var_dump(escapeshellarg("%FILENAME")); +var_dump(escapeshellarg("")); + +echo "Done\n"; +?> +--EXPECT-- +Simple testcase for escapeshellarg() function +string(14) "'Mr O'\''Neil'" +string(15) "'Mr O\'\''Neil'" +string(11) "'%FILENAME'" +string(2) "''" +Done
\ No newline at end of file diff --git a/ext/standard/tests/general_functions/escapeshellarg_error.phpt b/ext/standard/tests/general_functions/escapeshellarg_error.phpt new file mode 100644 index 0000000000..139a445202 --- /dev/null +++ b/ext/standard/tests/general_functions/escapeshellarg_error.phpt @@ -0,0 +1,73 @@ +--TEST-- +Test escapeshellarg() function : error conditions - wrong numbers of parameters +--FILE-- +<?php + +/* Prototype : string escapeshellarg ( string $arg ) + * Description: Escape a string to be used as a shell argument. + * Source code: ext/standard/exec.c + */ + +/* + * Pass an incorrect number of arguments to escapeshellarg() to test behaviour + */ + +echo "*** Testing escapeshellarg() : error conditions ***\n"; + + +echo "\n-- Testing escapeshellarg() function with no arguments --\n"; +var_dump( escapeshellarg() ); + +echo "\n-- Testing escapeshellarg() function with more than expected no. of arguments --\n"; +$arg = "Mr O'Neil"; +$extra_arg = 10; +var_dump( escapeshellarg($arg, $extra_arg) ); + +echo "\n-- Testing escapeshellarg() function with a object supplied for argument --\n"; + +class classA +{ +} + +$arg = new classA(); +var_dump( escapeshellarg($arg)); + +echo "\n-- Testing escapeshellarg() function with a resource supplied for argument --\n"; +$fp = fopen(__FILE__, "r"); +var_dump( escapeshellarg($fp)); +fclose($fp); + +echo "\n-- Testing escapeshellarg() function with a array supplied for argument --\n"; +$arg = array(1,2,3); +var_dump( escapeshellarg($arg)); + +?> +===Done=== +--EXPECTF-- +*** Testing escapeshellarg() : error conditions *** + +-- Testing escapeshellarg() function with no arguments -- + +Warning: escapeshellarg() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +-- Testing escapeshellarg() function with more than expected no. of arguments -- + +Warning: escapeshellarg() expects exactly 1 parameter, 2 given in %s on line %d +NULL + +-- Testing escapeshellarg() function with a object supplied for argument -- + +Warning: escapeshellarg() expects parameter 1 to be string, object given in %s on line %d +NULL + +-- Testing escapeshellarg() function with a resource supplied for argument -- + +Warning: escapeshellarg() expects parameter 1 to be string, resource given in %s on line %d +NULL + +-- Testing escapeshellarg() function with a array supplied for argument -- + +Warning: escapeshellarg() expects parameter 1 to be string, array given in %s on line %d +NULL +===Done=== diff --git a/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt b/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt new file mode 100644 index 0000000000..8f8bc19d8f --- /dev/null +++ b/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt @@ -0,0 +1,140 @@ +--TEST-- +Test escapeshellarg() function : usage variations - different data types as $arg arg +--SKIPIF-- +<?php +if( substr(PHP_OS, 0, 3) != "WIN" ) + die("skip.. only for Windows"); +?> +--FILE-- +<?php + +/* Prototype : string escapeshellarg ( string $arg ) + * Description: Escape a string to be used as a shell argument. + * Source code: ext/standard/exec.c + */ + +echo "*** Testing escapeshellarg() : usage variations ***\n"; + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +// heredoc string +$heredoc = <<<EOT +abc +xyz +EOT; + + +// get a resource variable +$fp = fopen(__FILE__, "r"); + +$inputs = array( + // int data +/*1*/ 0, + 1, + 12, + -12, + 2147483647, + + // float data +/*6*/ 10.5, + -10.5, + 1.234567e2, + 1.234567E-2, + .5, + + // null data +/*11*/ NULL, + null, + + // boolean data +/*13*/ true, + false, + TRUE, + FALSE, + + // empty data +/*17*/ "", + '', + + // undefined data +/*19*/ @$undefined_var, + + // unset data +/*20*/ @$unset_var, + +); + +// loop through each element of $inputs to check the behaviour of escapeshellarg() +$iterator = 1; +foreach($inputs as $input) { + echo "\n-- Iteration $iterator --\n"; + var_dump(escapeshellarg($input)); + $iterator++; +}; +?> +===Done=== +--EXPECT-- +*** Testing escapeshellarg() : usage variations *** + +-- Iteration 1 -- +string(3) ""0"" + +-- Iteration 2 -- +string(3) ""1"" + +-- Iteration 3 -- +string(4) ""12"" + +-- Iteration 4 -- +string(5) ""-12"" + +-- Iteration 5 -- +string(12) ""2147483647"" + +-- Iteration 6 -- +string(6) ""10.5"" + +-- Iteration 7 -- +string(7) ""-10.5"" + +-- Iteration 8 -- +string(10) ""123.4567"" + +-- Iteration 9 -- +string(12) ""0.01234567"" + +-- Iteration 10 -- +string(5) ""0.5"" + +-- Iteration 11 -- +string(2) """" + +-- Iteration 12 -- +string(2) """" + +-- Iteration 13 -- +string(3) ""1"" + +-- Iteration 14 -- +string(2) """" + +-- Iteration 15 -- +string(3) ""1"" + +-- Iteration 16 -- +string(2) """" + +-- Iteration 17 -- +string(2) """" + +-- Iteration 18 -- +string(2) """" + +-- Iteration 19 -- +string(2) """" + +-- Iteration 20 -- +string(2) """" +===Done===
\ No newline at end of file diff --git a/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt b/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt new file mode 100644 index 0000000000..32431a581a --- /dev/null +++ b/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt @@ -0,0 +1,140 @@ +--TEST-- +Test escapeshellarg() function : usage variations - different data types as $y arg +--SKIPIF-- +<?php +if( substr(PHP_OS, 0, 3) == "WIN" ) + die("skip.. Do not run on Windows"); +?> +--FILE-- +<?php + +/* Prototype : string escapeshellarg ( string $arg ) + * Description: Escape a string to be used as a shell argument. + * Source code: ext/standard/exec.c + */ + +echo "*** Testing escapeshellarg() : usage variations ***\n"; + +//get an unset variable +$unset_var = 10; +unset ($unset_var); + +// heredoc string +$heredoc = <<<EOT +abc +xyz +EOT; + + +// get a resource variable +$fp = fopen(__FILE__, "r"); + +$inputs = array( + // int data +/*1*/ 0, + 1, + 12, + -12, + 2147483647, + + // float data +/*6*/ 10.5, + -10.5, + 1.234567e2, + 1.234567E-2, + .5, + + // null data +/*11*/ NULL, + null, + + // boolean data +/*13*/ true, + false, + TRUE, + FALSE, + + // empty data +/*17*/ "", + '', + + // undefined data +/*19*/ @$undefined_var, + + // unset data +/*20*/ @$unset_var, + +); + +// loop through each element of $inputs to check the behaviour of escapeshellarg() +$iterator = 1; +foreach($inputs as $input) { + echo "\n-- Iteration $iterator --\n"; + var_dump(escapeshellarg($input)); + $iterator++; +}; +?> +===Done=== +--EXPECT-- +*** Testing escapeshellarg() : usage variations *** + +-- Iteration 1 -- +string(3) "'0'" + +-- Iteration 2 -- +string(3) "'1'" + +-- Iteration 3 -- +string(4) "'12'" + +-- Iteration 4 -- +string(5) "'-12'" + +-- Iteration 5 -- +string(12) "'2147483647'" + +-- Iteration 6 -- +string(6) "'10.5'" + +-- Iteration 7 -- +string(7) "'-10.5'" + +-- Iteration 8 -- +string(10) "'123.4567'" + +-- Iteration 9 -- +string(12) "'0.01234567'" + +-- Iteration 10 -- +string(5) "'0.5'" + +-- Iteration 11 -- +string(2) "''" + +-- Iteration 12 -- +string(2) "''" + +-- Iteration 13 -- +string(3) "'1'" + +-- Iteration 14 -- +string(2) "''" + +-- Iteration 15 -- +string(3) "'1'" + +-- Iteration 16 -- +string(2) "''" + +-- Iteration 17 -- +string(2) "''" + +-- Iteration 18 -- +string(2) "''" + +-- Iteration 19 -- +string(2) "''" + +-- Iteration 20 -- +string(2) "''" +===Done=== |