summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/krsort_variation5.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/krsort_variation5.phpt')
-rw-r--r--ext/standard/tests/array/krsort_variation5.phpt230
1 files changed, 230 insertions, 0 deletions
diff --git a/ext/standard/tests/array/krsort_variation5.phpt b/ext/standard/tests/array/krsort_variation5.phpt
new file mode 100644
index 000000000..59621654c
--- /dev/null
+++ b/ext/standard/tests/array/krsort_variation5.phpt
@@ -0,0 +1,230 @@
+--TEST--
+Test krsort() function : usage variations - sort strings
+--FILE--
+<?php
+/* Prototype : bool krsort ( array &$array [, int $sort_flags] )
+ * Description: Sort an array by key in reverse order, maintaining key to data correlation
+ * Source code: ext/standard/array.c
+*/
+
+/*
+ * testing krsort() by providing array of string values for $array argument with
+ * following flag values:
+ * 1.flag value as defualt
+ * 2.SORT_REGULAR - compare items normally
+ * 3.SORT_STRING - compare items as strings
+*/
+
+echo "*** Testing krsort() : usage variations ***\n";
+
+$various_arrays = array (
+ // diff. escape sequence chars with key values
+ array ( null => null, NULL => NULL, "\a" => "\a", "\cx" => "\cx", "\e" => "\e",
+ "\f" => "\f", "\n" =>"\n", "\r" => "\r", "\t" => "\t", "\xhh" => "\xhh",
+ "\ddd" => "\ddd", "\v" => "\v"
+ ),
+
+ // array containing different strings with key values
+ array ( 'Lemon' => "lemoN", 'o' => "Orange", 'B' => "banana", 'Apple' => "apple", 'te' => "Test",
+ 't' => "TTTT", 'T' => "ttt", 'W' => "ww", 'X' => "x", 'x' => "X", 'O' => "oraNGe",
+ 'B' => "BANANA"
+ )
+);
+
+$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
+
+$count = 1;
+echo "\n-- Testing krsort() by supplying various string arrays --\n";
+
+// loop through to test krsort() with different arrays
+foreach ($various_arrays as $array) {
+ echo "\n-- Iteration $count --\n";
+
+ echo "- With defualt sort flag -\n";
+ $temp_array = $array;
+ var_dump(krsort($temp_array) ); // expecting : bool(true)
+ var_dump($temp_array);
+
+ // loop through $flags array and call krsort() with all possible sort flag values
+ foreach($flags as $key => $flag){
+ echo "- Sort flag = $key -\n";
+ $temp_array = $array;
+ var_dump(krsort($temp_array, $flag) ); // expecting : bool(true)
+ var_dump($temp_array);
+ }
+ $count++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing krsort() : usage variations ***
+
+-- Testing krsort() by supplying various string arrays --
+
+-- Iteration 1 --
+- With defualt sort flag -
+bool(true)
+array(11) {
+ ["\xhh"]=>
+ string(4) "\xhh"
+ ["\e"]=>
+ string(2) "\e"
+ ["\ddd"]=>
+ string(4) "\ddd"
+ ["\cx"]=>
+ string(3) "\cx"
+ ["\a"]=>
+ string(2) "\a"
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ ["
+"]=>
+ string(1) "
+"
+ [" "]=>
+ string(1) " "
+ [""]=>
+ NULL
+}
+- Sort flag = SORT_REGULAR -
+bool(true)
+array(11) {
+ ["\xhh"]=>
+ string(4) "\xhh"
+ ["\e"]=>
+ string(2) "\e"
+ ["\ddd"]=>
+ string(4) "\ddd"
+ ["\cx"]=>
+ string(3) "\cx"
+ ["\a"]=>
+ string(2) "\a"
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ ["
+"]=>
+ string(1) "
+"
+ [" "]=>
+ string(1) " "
+ [""]=>
+ NULL
+}
+- Sort flag = SORT_STRING -
+bool(true)
+array(11) {
+ ["\xhh"]=>
+ string(4) "\xhh"
+ ["\e"]=>
+ string(2) "\e"
+ ["\ddd"]=>
+ string(4) "\ddd"
+ ["\cx"]=>
+ string(3) "\cx"
+ ["\a"]=>
+ string(2) "\a"
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ [" "]=>
+ string(1) " "
+ ["
+"]=>
+ string(1) "
+"
+ [" "]=>
+ string(1) " "
+ [""]=>
+ NULL
+}
+
+-- Iteration 2 --
+- With defualt sort flag -
+bool(true)
+array(11) {
+ ["x"]=>
+ string(1) "X"
+ ["te"]=>
+ string(4) "Test"
+ ["t"]=>
+ string(4) "TTTT"
+ ["o"]=>
+ string(6) "Orange"
+ ["X"]=>
+ string(1) "x"
+ ["W"]=>
+ string(2) "ww"
+ ["T"]=>
+ string(3) "ttt"
+ ["O"]=>
+ string(6) "oraNGe"
+ ["Lemon"]=>
+ string(5) "lemoN"
+ ["B"]=>
+ string(6) "BANANA"
+ ["Apple"]=>
+ string(5) "apple"
+}
+- Sort flag = SORT_REGULAR -
+bool(true)
+array(11) {
+ ["x"]=>
+ string(1) "X"
+ ["te"]=>
+ string(4) "Test"
+ ["t"]=>
+ string(4) "TTTT"
+ ["o"]=>
+ string(6) "Orange"
+ ["X"]=>
+ string(1) "x"
+ ["W"]=>
+ string(2) "ww"
+ ["T"]=>
+ string(3) "ttt"
+ ["O"]=>
+ string(6) "oraNGe"
+ ["Lemon"]=>
+ string(5) "lemoN"
+ ["B"]=>
+ string(6) "BANANA"
+ ["Apple"]=>
+ string(5) "apple"
+}
+- Sort flag = SORT_STRING -
+bool(true)
+array(11) {
+ ["x"]=>
+ string(1) "X"
+ ["te"]=>
+ string(4) "Test"
+ ["t"]=>
+ string(4) "TTTT"
+ ["o"]=>
+ string(6) "Orange"
+ ["X"]=>
+ string(1) "x"
+ ["W"]=>
+ string(2) "ww"
+ ["T"]=>
+ string(3) "ttt"
+ ["O"]=>
+ string(6) "oraNGe"
+ ["Lemon"]=>
+ string(5) "lemoN"
+ ["B"]=>
+ string(6) "BANANA"
+ ["Apple"]=>
+ string(5) "apple"
+}
+Done