summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-02-01 18:39:52 +0000
committerandy wharmby <wharmby@php.net>2009-02-01 18:39:52 +0000
commit008ca451c195fa2c77a38cfbef150d141b379196 (patch)
tree9e1514ffd19eb377af57887191a5f24ea0a33bc0
parentb43e2722abe0ca098a8e27e28bfa6928858cb635 (diff)
downloadphp-git-008ca451c195fa2c77a38cfbef150d141b379196.tar.gz
New escapeshellarg() tests. Tested on Windows, Linux and Linux 64
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_basic-win32.phpt31
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_basic.phpt31
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_error.phpt73
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt140
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_variation1.phpt140
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===