summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/tests/strings/strrev_basic.phpt47
-rw-r--r--ext/standard/tests/strings/strrev_error.phpt27
-rw-r--r--ext/standard/tests/strings/strrev_variation1.phptbin0 -> 2941 bytes
-rw-r--r--ext/standard/tests/strings/strrev_variation2.phptbin0 -> 2955 bytes
-rw-r--r--ext/standard/tests/strings/strrev_variation3.phptbin0 -> 1628 bytes
-rw-r--r--ext/standard/tests/strings/strrev_variation4.phpt180
6 files changed, 254 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/strrev_basic.phpt b/ext/standard/tests/strings/strrev_basic.phpt
new file mode 100644
index 0000000000..2cde4cdf89
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_basic.phpt
@@ -0,0 +1,47 @@
+--TEST--
+Test strrev() function : basic functionality
+--FILE--
+<?php
+/* Prototype : string strrev(string $str);
+ * Description: Reverse a string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing strrev() : basic functionality ***\n";
+$heredoc = <<<EOD
+Hello, world
+EOD;
+
+//regular string
+var_dump( strrev("Hello, World") );
+var_dump( strrev('Hello, World') );
+
+//single character
+var_dump( strrev("H") );
+var_dump( strrev('H') );
+
+//string containing simalr chars
+var_dump( strrev("HHHHHH") );
+var_dump( strrev("HhhhhH") );
+
+//string containing escape char
+var_dump( strrev("Hello, World\n") );
+var_dump( strrev('Hello, World\n') );
+
+//heredoc string
+var_dump( strrev($heredoc) );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing strrev() : basic functionality ***
+string(12) "dlroW ,olleH"
+string(12) "dlroW ,olleH"
+string(1) "H"
+string(1) "H"
+string(6) "HHHHHH"
+string(6) "HhhhhH"
+string(13) "
+dlroW ,olleH"
+string(14) "n\dlroW ,olleH"
+string(12) "dlrow ,olleH"
+*** Done ***
diff --git a/ext/standard/tests/strings/strrev_error.phpt b/ext/standard/tests/strings/strrev_error.phpt
new file mode 100644
index 0000000000..e1fd9f8248
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_error.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test strrev() function : error conditions
+--FILE--
+<?php
+/* Prototype : string strrev(string $str);
+ * Description: Reverse a string
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing strrev() : error conditions ***\n";
+echo "-- Testing strrev() function with Zero arguments --";
+var_dump( strrev() );
+
+echo "\n-- Testing strrev() function with more than expected no. of arguments --";
+var_dump( strrev("string", 'extra_arg') );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing strrev() : error conditions ***
+-- Testing strrev() function with Zero arguments --
+Warning: Wrong parameter count for strrev() in %s on line %d
+NULL
+
+-- Testing strrev() function with more than expected no. of arguments --
+Warning: Wrong parameter count for strrev() in %s on line %d
+NULL
+*** Done ***
diff --git a/ext/standard/tests/strings/strrev_variation1.phpt b/ext/standard/tests/strings/strrev_variation1.phpt
new file mode 100644
index 0000000000..39c1ec4144
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_variation1.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/strrev_variation2.phpt b/ext/standard/tests/strings/strrev_variation2.phpt
new file mode 100644
index 0000000000..41e54d53c6
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_variation2.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/strrev_variation3.phpt b/ext/standard/tests/strings/strrev_variation3.phpt
new file mode 100644
index 0000000000..8ab3e25b66
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_variation3.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/strrev_variation4.phpt b/ext/standard/tests/strings/strrev_variation4.phpt
new file mode 100644
index 0000000000..c9473e433d
--- /dev/null
+++ b/ext/standard/tests/strings/strrev_variation4.phpt
@@ -0,0 +1,180 @@
+--TEST--
+Test strrev() function : usage variations - unexpected inputs
+--FILE--
+<?php
+/* Prototype : string strrev(string $str);
+ * Description: Reverse a string
+ * Source code: ext/standard/string.c
+*/
+
+/* Testing strrev() function with unexpected inputs for 'str' */
+
+echo "*** Testing strrev() : unexpected inputs for 'str' ***\n";
+//class declaration
+class sample {
+ public function __toString(){
+ return "object";
+ }
+}
+
+//get the resource
+$resource = fopen(__FILE__, "r");
+
+//get an unset variable
+$unset_var = 10;
+unset ($unset_var);
+
+//array of values to iterate over
+$values = array(
+
+ // int data
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float data
+ 10.5,
+ -10.5,
+ 10.5e10,
+ 10.6E-10,
+ .5,
+
+ // array data
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // null data
+ NULL,
+ null,
+
+ // boolean data
+ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty data
+ "",
+ '',
+
+ // object data
+ new sample(),
+
+ // resource
+ $resource,
+
+ // undefined data
+ @$undefined_var,
+
+ // unset data
+ @$unset_var
+);
+
+// loop through each element of the array for str
+
+$count = 1;
+foreach($values as $value) {
+ echo "\n-- Iterator $count --\n";
+ var_dump( strrev($value) );
+ $count++;
+};
+
+fclose($resource); //closing the file handle
+
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing strrev() : unexpected inputs for 'str' ***
+
+-- Iterator 1 --
+string(1) "0"
+
+-- Iterator 2 --
+string(1) "1"
+
+-- Iterator 3 --
+string(5) "54321"
+
+-- Iterator 4 --
+string(5) "5432-"
+
+-- Iterator 5 --
+string(4) "5.01"
+
+-- Iterator 6 --
+string(5) "5.01-"
+
+-- Iterator 7 --
+string(12) "000000000501"
+
+-- Iterator 8 --
+string(7) "9-E60.1"
+
+-- Iterator 9 --
+string(3) "5.0"
+
+-- Iterator 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "yarrA"
+
+-- Iterator 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "yarrA"
+
+-- Iterator 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "yarrA"
+
+-- Iterator 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "yarrA"
+
+-- Iterator 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "yarrA"
+
+-- Iterator 15 --
+string(0) ""
+
+-- Iterator 16 --
+string(0) ""
+
+-- Iterator 17 --
+string(1) "1"
+
+-- Iterator 18 --
+string(0) ""
+
+-- Iterator 19 --
+string(1) "1"
+
+-- Iterator 20 --
+string(0) ""
+
+-- Iterator 21 --
+string(0) ""
+
+-- Iterator 22 --
+string(0) ""
+
+-- Iterator 23 --
+string(6) "tcejbo"
+
+-- Iterator 24 --
+string(14) "%d# di ecruoseR"
+
+-- Iterator 25 --
+string(0) ""
+
+-- Iterator 26 --
+string(0) ""
+*** Done ***