ext/standard: Split sort tests that contain escape sequences

This commit is contained in:
Gina Peter Banyard 2024-11-06 16:01:58 +00:00
parent d8a63a38c6
commit f011684206
12 changed files with 790 additions and 1074 deletions

View file

@ -2,235 +2,120 @@
Test arsort() function : usage variations - sort strings
--FILE--
<?php
/*
* testing arsort() by providing different string arrays for $array argument with following flag values
* flag value as default
* SORT_REGULAR - compare items normally
* SORT_STRING - compare items as strings
*/
echo "*** Testing arsort() : usage variations ***\n";
$array = [
"lemoN" => "lemoN",
"Orange" => "Orange",
"banana" => "banana",
"apple" => "apple",
"Test" => "Test",
"TTTT" => "TTTT",
"ttt" => "ttt",
"ww" => "ww",
"x" => "x",
"X" => "X",
"oraNGe" => "oraNGe",
"BANANA" => "BANANA",
];
$various_arrays = array (
// group of escape sequences
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"
),
echo "Default flag\n";
$temp_array = $array;
var_dump(arsort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// array contains combination of capital/small letters
array ('l' => "lemoN", 'O' => "Orange", 'b' => "banana", 'a' => "apple", 'Te' => "Test",
'T' => "TTTT", 't' => "ttt", 'w' => "ww", 'x' => "x", 'X' => "X", 'o' => "oraNGe",
'B' => "BANANA"
)
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(arsort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(arsort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$count = 1;
echo "\n-- Testing arsort() by supplying various string arrays --\n";
// loop through to test arsort() with different arrays
foreach ($various_arrays as $array) {
echo "\n-- Iteration $count --\n";
echo "- With default sort_flag -\n";
$temp_array = $array;
var_dump(arsort($temp_array) ); // expecting : bool(true)
var_dump($temp_array);
// loop through $flags array and setting all possible flag values
foreach($flags as $key => $flag){
echo "- Sort_flag = $key -\n";
$temp_array = $array;
var_dump(arsort($temp_array, $flag) ); // expecting : bool(true)
var_dump($temp_array);
}
$count++;
}
echo "Done\n";
?>
--EXPECT--
*** Testing arsort() : usage variations ***
-- Testing arsort() by supplying various string arrays --
-- Iteration 1 --
- With default sort_flag -
bool(true)
array(12) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
["null"]=>
NULL
["NULL"]=>
NULL
}
- Sort_flag = SORT_REGULAR -
bool(true)
array(12) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
["null"]=>
NULL
["NULL"]=>
NULL
}
- Sort_flag = SORT_STRING -
bool(true)
array(12) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
["null"]=>
NULL
["NULL"]=>
NULL
}
-- Iteration 2 --
- With default sort_flag -
Default flag
bool(true)
array(12) {
["x"]=>
string(1) "x"
["w"]=>
["ww"]=>
string(2) "ww"
["t"]=>
["ttt"]=>
string(3) "ttt"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["b"]=>
["banana"]=>
string(6) "banana"
["a"]=>
["apple"]=>
string(5) "apple"
["X"]=>
string(1) "X"
["Te"]=>
["Test"]=>
string(4) "Test"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["O"]=>
["Orange"]=>
string(6) "Orange"
["B"]=>
["BANANA"]=>
string(6) "BANANA"
}
- Sort_flag = SORT_REGULAR -
SORT_REGULAR
bool(true)
array(12) {
["x"]=>
string(1) "x"
["w"]=>
["ww"]=>
string(2) "ww"
["t"]=>
["ttt"]=>
string(3) "ttt"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["b"]=>
["banana"]=>
string(6) "banana"
["a"]=>
["apple"]=>
string(5) "apple"
["X"]=>
string(1) "X"
["Te"]=>
["Test"]=>
string(4) "Test"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["O"]=>
["Orange"]=>
string(6) "Orange"
["B"]=>
["BANANA"]=>
string(6) "BANANA"
}
- Sort_flag = SORT_STRING -
SORT_STRING
bool(true)
array(12) {
["x"]=>
string(1) "x"
["w"]=>
["ww"]=>
string(2) "ww"
["t"]=>
["ttt"]=>
string(3) "ttt"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["b"]=>
["banana"]=>
string(6) "banana"
["a"]=>
["apple"]=>
string(5) "apple"
["X"]=>
string(1) "X"
["Te"]=>
["Test"]=>
string(4) "Test"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["O"]=>
["Orange"]=>
string(6) "Orange"
["B"]=>
["BANANA"]=>
string(6) "BANANA"
}
Done

View file

@ -0,0 +1,59 @@
--TEST--
Test arsort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\cx" => "\cx",
"\a" => "\a",
"\e" => "\e",
"\r" => "\r",
"\f" => "\f",
"\v" => "\v",
"\n" => "\n",
"\t" => "\t",
null => null,
];
$array = [
null => null,
"\a" => "\a",
"\cx" => "\cx",
"\e" => "\e",
"\f" => "\f",
"\n" => "\n",
"\r" => "\r",
"\t" => "\t",
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\v" => "\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(arsort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(arsort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(arsort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)

View file

@ -2,235 +2,120 @@
Test asort() function : usage variations - sort strings
--FILE--
<?php
/*
* testing asort() by providing different string arrays for $array argument with following flag values
* flag value as default
* SORT_REGULAR - compare items normally
* SORT_STRING - compare items as strings
*/
echo "*** Testing asort() : usage variations ***\n";
$array = [
"lemoN" => "lemoN",
"Orange" => "Orange",
"banana" => "banana",
"apple" => "apple",
"Test" => "Test",
"TTTT" => "TTTT",
"ttt" => "ttt",
"ww" => "ww",
"x" => "x",
"X" => "X",
"oraNGe" => "oraNGe",
"BANANA" => "BANANA",
];
$various_arrays = array (
// group of escape sequences
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"
),
echo "Default flag\n";
$temp_array = $array;
var_dump(asort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// array contains combination of capital/small letters
array ('l' => "lemoN", 'O' => "Orange", 'b' => "banana", 'a' => "apple", 'Te' => "Test",
'T' => "TTTT", 't' => "ttt", 'w' => "ww", 'x' => "x", 'X' => "X", 'o' => "oraNGe",
'B' => "BANANA"
)
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(asort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(asort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$count = 1;
echo "\n-- Testing asort() by supplying various string arrays --\n";
// loop through to test asort() with different arrays
foreach ($various_arrays as $array) {
echo "\n-- Iteration $count --\n";
echo "- With default sort_flag -\n";
$temp_array = $array;
var_dump(asort($temp_array) ); // expecting : bool(true)
var_dump($temp_array);
// loop through $flags array and setting all possible flag values
foreach($flags as $key => $flag){
echo "- Sort_flag = $key -\n";
$temp_array = $array;
var_dump(asort($temp_array, $flag) ); // expecting : bool(true)
var_dump($temp_array);
}
$count++;
}
echo "Done\n";
?>
--EXPECT--
*** Testing asort() : usage variations ***
-- Testing asort() by supplying various string arrays --
-- Iteration 1 --
- With default sort_flag -
Default flag
bool(true)
array(12) {
["null"]=>
NULL
["NULL"]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
- Sort_flag = SORT_REGULAR -
bool(true)
array(12) {
["null"]=>
NULL
["NULL"]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
- Sort_flag = SORT_STRING -
bool(true)
array(12) {
["null"]=>
NULL
["NULL"]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
-- Iteration 2 --
- With default sort_flag -
bool(true)
array(12) {
["B"]=>
["BANANA"]=>
string(6) "BANANA"
["O"]=>
["Orange"]=>
string(6) "Orange"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["Te"]=>
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["a"]=>
["apple"]=>
string(5) "apple"
["b"]=>
["banana"]=>
string(6) "banana"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["t"]=>
["ttt"]=>
string(3) "ttt"
["w"]=>
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
- Sort_flag = SORT_REGULAR -
SORT_REGULAR
bool(true)
array(12) {
["B"]=>
["BANANA"]=>
string(6) "BANANA"
["O"]=>
["Orange"]=>
string(6) "Orange"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["Te"]=>
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["a"]=>
["apple"]=>
string(5) "apple"
["b"]=>
["banana"]=>
string(6) "banana"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["t"]=>
["ttt"]=>
string(3) "ttt"
["w"]=>
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
- Sort_flag = SORT_STRING -
SORT_STRING
bool(true)
array(12) {
["B"]=>
["BANANA"]=>
string(6) "BANANA"
["O"]=>
["Orange"]=>
string(6) "Orange"
["T"]=>
["TTTT"]=>
string(4) "TTTT"
["Te"]=>
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["a"]=>
["apple"]=>
string(5) "apple"
["b"]=>
["banana"]=>
string(6) "banana"
["l"]=>
["lemoN"]=>
string(5) "lemoN"
["o"]=>
["oraNGe"]=>
string(6) "oraNGe"
["t"]=>
["ttt"]=>
string(3) "ttt"
["w"]=>
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
Done
}

View file

@ -0,0 +1,59 @@
--TEST--
Test asort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
null => null,
"\t" => "\t",
"\n" => "\n",
"\v" => "\v",
"\f" => "\f",
"\r" => "\r",
"\e" => "\e",
"\a" => "\a",
"\cx" => "\cx",
"\ddd" => "\ddd",
"\xhh" => "\xhh",
];
$array = [
null => null,
"\a" => "\a",
"\cx" => "\cx",
"\e" => "\e",
"\f" => "\f",
"\n" => "\n",
"\r" => "\r",
"\t" => "\t",
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\v" => "\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(asort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(asort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(asort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)

View file

@ -2,224 +2,120 @@
Test krsort() function : usage variations - sort strings
--FILE--
<?php
/*
* testing krsort() by providing array of string values for $array argument with
* following flag values:
* 1.flag value as default
* 2.SORT_REGULAR - compare items normally
* 3.SORT_STRING - compare items as strings
*/
echo "*** Testing krsort() : usage variations ***\n";
$array = [
"lemoN" => "lemoN",
"Orange" => "Orange",
"banana" => "banana",
"apple" => "apple",
"Test" => "Test",
"TTTT" => "TTTT",
"ttt" => "ttt",
"ww" => "ww",
"x" => "x",
"X" => "X",
"oraNGe" => "oraNGe",
"BANANA" => "BANANA",
];
$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"
),
echo "Default flag\n";
$temp_array = $array;
var_dump(ksort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// 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"
)
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$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 default 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";
?>
--EXPECT--
*** Testing krsort() : usage variations ***
-- Testing krsort() by supplying various string arrays --
-- Iteration 1 --
- With default sort flag -
Default flag
bool(true)
array(11) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[""]=>
NULL
}
- Sort flag = SORT_REGULAR -
bool(true)
array(11) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[""]=>
NULL
}
- Sort flag = SORT_STRING -
bool(true)
array(11) {
["\xhh"]=>
string(4) "\xhh"
["\ddd"]=>
string(4) "\ddd"
["\cx"]=>
string(3) "\cx"
["\a"]=>
string(2) "\a"
[""]=>
string(1) ""
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[""]=>
NULL
}
-- Iteration 2 --
- With default 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"]=>
array(12) {
["BANANA"]=>
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"]=>
["Orange"]=>
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"]=>
["TTTT"]=>
string(4) "TTTT"
["o"]=>
string(6) "Orange"
["Test"]=>
string(4) "Test"
["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(1) "X"
["apple"]=>
string(5) "apple"
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["oraNGe"]=>
string(6) "oraNGe"
["ttt"]=>
string(3) "ttt"
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
SORT_REGULAR
bool(true)
array(12) {
["BANANA"]=>
string(6) "BANANA"
["Orange"]=>
string(6) "Orange"
["TTTT"]=>
string(4) "TTTT"
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["apple"]=>
string(5) "apple"
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["oraNGe"]=>
string(6) "oraNGe"
["ttt"]=>
string(3) "ttt"
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
SORT_STRING
bool(true)
array(12) {
["BANANA"]=>
string(6) "BANANA"
["Orange"]=>
string(6) "Orange"
["TTTT"]=>
string(4) "TTTT"
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["apple"]=>
string(5) "apple"
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["oraNGe"]=>
string(6) "oraNGe"
["ttt"]=>
string(3) "ttt"
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
Done

View file

@ -0,0 +1,59 @@
--TEST--
Test krsort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\cx" => "\cx",
"\a" => "\a",
"\e" => "\e",
"\r" => "\r",
"\f" => "\f",
"\v" => "\v",
"\n" => "\n",
"\t" => "\t",
null => null,
];
$array = [
null => null,
"\a" => "\a",
"\cx" => "\cx",
"\e" => "\e",
"\f" => "\f",
"\n" => "\n",
"\r" => "\r",
"\t" => "\t",
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\v" => "\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(krsort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(krsort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(krsort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)

View file

@ -2,224 +2,120 @@
Test ksort() function : usage variations - sort strings
--FILE--
<?php
/*
* testing ksort() by providing array of string values for $array argument with
* following flag values:
* 1.flag value as default
* 2.SORT_REGULAR - compare items normally
* 3.SORT_STRING - compare items as strings
*/
echo "*** Testing ksort() : usage variations ***\n";
$array = [
"lemoN" => "lemoN",
"Orange" => "Orange",
"banana" => "banana",
"apple" => "apple",
"Test" => "Test",
"TTTT" => "TTTT",
"ttt" => "ttt",
"ww" => "ww",
"x" => "x",
"X" => "X",
"oraNGe" => "oraNGe",
"BANANA" => "BANANA",
];
$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"
),
echo "Default flag\n";
$temp_array = $array;
var_dump(ksort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// 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"
)
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$count = 1;
echo "\n-- Testing ksort() by supplying various string arrays --\n";
// loop through to test ksort() with different arrays
foreach ($various_arrays as $array) {
echo "\n-- Iteration $count --\n";
echo "- With default sort flag -\n";
$temp_array = $array;
var_dump(ksort($temp_array) ); // expecting : bool(true)
var_dump($temp_array);
// loop through $flags array and call ksort() with all possible sort flag values
foreach($flags as $key => $flag){
echo "- Sort flag = $key -\n";
$temp_array = $array;
var_dump(ksort($temp_array, $flag) ); // expecting : bool(true)
var_dump($temp_array);
}
$count++;
}
echo "Done\n";
?>
--EXPECT--
*** Testing ksort() : usage variations ***
-- Testing ksort() by supplying various string arrays --
-- Iteration 1 --
- With default sort flag -
Default flag
bool(true)
array(11) {
[""]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
- Sort flag = SORT_REGULAR -
bool(true)
array(11) {
[""]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
- Sort flag = SORT_STRING -
bool(true)
array(11) {
[""]=>
NULL
[" "]=>
string(1) " "
["
"]=>
string(1) "
"
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[" "]=>
string(1) " "
[""]=>
string(1) ""
["\a"]=>
string(2) "\a"
["\cx"]=>
string(3) "\cx"
["\ddd"]=>
string(4) "\ddd"
["\xhh"]=>
string(4) "\xhh"
}
-- Iteration 2 --
- With default sort flag -
bool(true)
array(11) {
["Apple"]=>
string(5) "apple"
["B"]=>
array(12) {
["BANANA"]=>
string(6) "BANANA"
["Lemon"]=>
string(5) "lemoN"
["O"]=>
string(6) "oraNGe"
["T"]=>
string(3) "ttt"
["W"]=>
string(2) "ww"
["X"]=>
string(1) "x"
["o"]=>
["Orange"]=>
string(6) "Orange"
["t"]=>
["TTTT"]=>
string(4) "TTTT"
["te"]=>
["Test"]=>
string(4) "Test"
["x"]=>
["X"]=>
string(1) "X"
}
- Sort flag = SORT_REGULAR -
bool(true)
array(11) {
["Apple"]=>
["apple"]=>
string(5) "apple"
["B"]=>
string(6) "BANANA"
["Lemon"]=>
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["O"]=>
["oraNGe"]=>
string(6) "oraNGe"
["T"]=>
["ttt"]=>
string(3) "ttt"
["W"]=>
["ww"]=>
string(2) "ww"
["X"]=>
string(1) "x"
["o"]=>
string(6) "Orange"
["t"]=>
string(4) "TTTT"
["te"]=>
string(4) "Test"
["x"]=>
string(1) "X"
string(1) "x"
}
- Sort flag = SORT_STRING -
SORT_REGULAR
bool(true)
array(11) {
["Apple"]=>
string(5) "apple"
["B"]=>
array(12) {
["BANANA"]=>
string(6) "BANANA"
["Lemon"]=>
string(5) "lemoN"
["O"]=>
string(6) "oraNGe"
["T"]=>
string(3) "ttt"
["W"]=>
string(2) "ww"
["X"]=>
string(1) "x"
["o"]=>
["Orange"]=>
string(6) "Orange"
["t"]=>
["TTTT"]=>
string(4) "TTTT"
["te"]=>
["Test"]=>
string(4) "Test"
["x"]=>
["X"]=>
string(1) "X"
["apple"]=>
string(5) "apple"
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["oraNGe"]=>
string(6) "oraNGe"
["ttt"]=>
string(3) "ttt"
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
SORT_STRING
bool(true)
array(12) {
["BANANA"]=>
string(6) "BANANA"
["Orange"]=>
string(6) "Orange"
["TTTT"]=>
string(4) "TTTT"
["Test"]=>
string(4) "Test"
["X"]=>
string(1) "X"
["apple"]=>
string(5) "apple"
["banana"]=>
string(6) "banana"
["lemoN"]=>
string(5) "lemoN"
["oraNGe"]=>
string(6) "oraNGe"
["ttt"]=>
string(3) "ttt"
["ww"]=>
string(2) "ww"
["x"]=>
string(1) "x"
}
Done

View file

@ -0,0 +1,59 @@
--TEST--
Test ksort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
null => null,
"\t" => "\t",
"\n" => "\n",
"\v" => "\v",
"\f" => "\f",
"\r" => "\r",
"\e" => "\e",
"\a" => "\a",
"\cx" => "\cx",
"\ddd" => "\ddd",
"\xhh" => "\xhh",
];
$array = [
null => null,
"\a" => "\a",
"\cx" => "\cx",
"\e" => "\e",
"\f" => "\f",
"\n" => "\n",
"\r" => "\r",
"\t" => "\t",
"\xhh" => "\xhh",
"\ddd" => "\ddd",
"\v" => "\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(ksort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(ksort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)

View file

@ -2,214 +2,120 @@
Test rsort() function : usage variations - String values
--FILE--
<?php
/*
* Pass arrays containing different string data to rsort() to test behaviour
*/
echo "*** Testing rsort() : variation ***\n";
$array = [
"lemoN",
"Orange",
"banana",
"apple",
"Test",
"TTTT",
"ttt",
"ww",
"x",
"X",
"oraNGe",
"BANANA",
];
$various_arrays = array (
// group of escape sequences
array(null, NULL, "\a", "\cx", "\e", "\f", "\n", "\t", "\xhh", "\ddd", "\v"),
echo "Default flag\n";
$temp_array = $array;
var_dump(sort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// array contains combination of capital/small letters
array("lemoN", "Orange", "banana", "apple", "Test", "TTTT", "ttt", "ww", "x", "X", "oraNGe", "BANANA")
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$count = 1;
// loop through to test rsort() with different arrays
foreach ($various_arrays as $array) {
echo "\n-- Iteration $count --\n";
echo "- With Default sort flag -\n";
$temp_array = $array;
var_dump(rsort($temp_array) );
var_dump($temp_array);
// loop through $flags array and setting all possible flag values
foreach($flags as $key => $flag){
echo "- Sort flag = $key -\n";
$temp_array = $array;
var_dump(rsort($temp_array, $flag) );
var_dump($temp_array);
}
$count++;
}
echo "Done";
?>
--EXPECT--
*** Testing rsort() : variation ***
-- Iteration 1 --
- With Default sort flag -
bool(true)
array(11) {
[0]=>
string(4) "\xhh"
[1]=>
string(4) "\ddd"
[2]=>
string(3) "\cx"
[3]=>
string(2) "\a"
[4]=>
string(1) ""
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) "
"
[8]=>
string(1) " "
[9]=>
NULL
[10]=>
NULL
}
- Sort flag = SORT_REGULAR -
bool(true)
array(11) {
[0]=>
string(4) "\xhh"
[1]=>
string(4) "\ddd"
[2]=>
string(3) "\cx"
[3]=>
string(2) "\a"
[4]=>
string(1) ""
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) "
"
[8]=>
string(1) " "
[9]=>
NULL
[10]=>
NULL
}
- Sort flag = SORT_STRING -
bool(true)
array(11) {
[0]=>
string(4) "\xhh"
[1]=>
string(4) "\ddd"
[2]=>
string(3) "\cx"
[3]=>
string(2) "\a"
[4]=>
string(1) ""
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) "
"
[8]=>
string(1) " "
[9]=>
NULL
[10]=>
NULL
}
-- Iteration 2 --
- With Default sort flag -
Default flag
bool(true)
array(12) {
[0]=>
string(1) "x"
[1]=>
string(2) "ww"
[2]=>
string(3) "ttt"
[3]=>
string(6) "oraNGe"
[4]=>
string(5) "lemoN"
[5]=>
string(6) "banana"
[6]=>
string(5) "apple"
[7]=>
string(1) "X"
[8]=>
string(4) "Test"
[9]=>
string(4) "TTTT"
[10]=>
string(6) "Orange"
[11]=>
string(6) "BANANA"
[1]=>
string(6) "Orange"
[2]=>
string(4) "TTTT"
[3]=>
string(4) "Test"
[4]=>
string(1) "X"
[5]=>
string(5) "apple"
[6]=>
string(6) "banana"
[7]=>
string(5) "lemoN"
[8]=>
string(6) "oraNGe"
[9]=>
string(3) "ttt"
[10]=>
string(2) "ww"
[11]=>
string(1) "x"
}
- Sort flag = SORT_REGULAR -
SORT_REGULAR
bool(true)
array(12) {
[0]=>
string(1) "x"
[1]=>
string(2) "ww"
[2]=>
string(3) "ttt"
[3]=>
string(6) "oraNGe"
[4]=>
string(5) "lemoN"
[5]=>
string(6) "banana"
[6]=>
string(5) "apple"
[7]=>
string(1) "X"
[8]=>
string(4) "Test"
[9]=>
string(4) "TTTT"
[10]=>
string(6) "Orange"
[11]=>
string(6) "BANANA"
[1]=>
string(6) "Orange"
[2]=>
string(4) "TTTT"
[3]=>
string(4) "Test"
[4]=>
string(1) "X"
[5]=>
string(5) "apple"
[6]=>
string(6) "banana"
[7]=>
string(5) "lemoN"
[8]=>
string(6) "oraNGe"
[9]=>
string(3) "ttt"
[10]=>
string(2) "ww"
[11]=>
string(1) "x"
}
- Sort flag = SORT_STRING -
SORT_STRING
bool(true)
array(12) {
[0]=>
string(1) "x"
[1]=>
string(2) "ww"
[2]=>
string(3) "ttt"
[3]=>
string(6) "oraNGe"
[4]=>
string(5) "lemoN"
[5]=>
string(6) "banana"
[6]=>
string(5) "apple"
[7]=>
string(1) "X"
[8]=>
string(4) "Test"
[9]=>
string(4) "TTTT"
[10]=>
string(6) "Orange"
[11]=>
string(6) "BANANA"
[1]=>
string(6) "Orange"
[2]=>
string(4) "TTTT"
[3]=>
string(4) "Test"
[4]=>
string(1) "X"
[5]=>
string(5) "apple"
[6]=>
string(6) "banana"
[7]=>
string(5) "lemoN"
[8]=>
string(6) "oraNGe"
[9]=>
string(3) "ttt"
[10]=>
string(2) "ww"
[11]=>
string(1) "x"
}
Done

View file

@ -0,0 +1,59 @@
--TEST--
Test rsort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
"\xhh",
"\ddd",
"\cx",
"\a",
"\e",
"\r",
"\f",
"\v",
"\n",
"\t",
null,
];
$array = [
null,
"\a",
"\cx",
"\e",
"\f",
"\n",
"\r",
"\t",
"\xhh",
"\ddd",
"\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(rsort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(rsort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(rsort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)

View file

@ -2,145 +2,40 @@
Test sort() function : usage variations - sort strings
--FILE--
<?php
/*
* testing sort() by providing different string arrays for $array argument with following flag values
* flag value as default
* SORT_REGULAR - compare items normally
* SORT_STRING - compare items as strings
*/
echo "*** Testing sort() : usage variations ***\n";
$array = [
"lemoN",
"Orange",
"banana",
"apple",
"Test",
"TTTT",
"ttt",
"ww",
"x",
"X",
"oraNGe",
"BANANA",
];
$various_arrays = array (
// group of escape sequences
array(null, NULL, "\a", "\cx", "\e", "\f", "\n", "\r", "\t", "\xhh", "\ddd", "\v"),
echo "Default flag\n";
$temp_array = $array;
var_dump(sort($temp_array)); // expecting : bool(true)
var_dump($temp_array);
// array contains combination of capital/small letters
array("lemoN", "Orange", "banana", "apple", "Test", "TTTT", "ttt", "ww", "x", "X", "oraNGe", "BANANA")
);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array);
$flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array);
$count = 1;
echo "\n-- Testing sort() by supplying various string arrays --\n";
// loop through to test sort() with different arrays
foreach ($various_arrays as $array) {
echo "\n-- Iteration $count --\n";
echo "- With Default sort flag -\n";
$temp_array = $array;
var_dump(sort($temp_array) ); // expecting : bool(true)
var_dump($temp_array);
// loop through $flags array and setting all possible flag values
foreach($flags as $key => $flag){
echo "- Sort flag = $key -\n";
$temp_array = $array;
var_dump(sort($temp_array, $flag) ); // expecting : bool(true)
var_dump($temp_array);
}
$count++;
}
echo "Done\n";
?>
--EXPECT--
*** Testing sort() : usage variations ***
-- Testing sort() by supplying various string arrays --
-- Iteration 1 --
- With Default sort flag -
bool(true)
array(12) {
[0]=>
NULL
[1]=>
NULL
[2]=>
string(1) " "
[3]=>
string(1) "
"
[4]=>
string(1) " "
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) ""
[8]=>
string(2) "\a"
[9]=>
string(3) "\cx"
[10]=>
string(4) "\ddd"
[11]=>
string(4) "\xhh"
}
- Sort flag = SORT_REGULAR -
bool(true)
array(12) {
[0]=>
NULL
[1]=>
NULL
[2]=>
string(1) " "
[3]=>
string(1) "
"
[4]=>
string(1) " "
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) ""
[8]=>
string(2) "\a"
[9]=>
string(3) "\cx"
[10]=>
string(4) "\ddd"
[11]=>
string(4) "\xhh"
}
- Sort flag = SORT_STRING -
bool(true)
array(12) {
[0]=>
NULL
[1]=>
NULL
[2]=>
string(1) " "
[3]=>
string(1) "
"
[4]=>
string(1) " "
[5]=>
string(1) " "
[6]=>
string(1) " "
[7]=>
string(1) ""
[8]=>
string(2) "\a"
[9]=>
string(3) "\cx"
[10]=>
string(4) "\ddd"
[11]=>
string(4) "\xhh"
}
-- Iteration 2 --
- With Default sort flag -
Default flag
bool(true)
array(12) {
[0]=>
@ -168,7 +63,7 @@ array(12) {
[11]=>
string(1) "x"
}
- Sort flag = SORT_REGULAR -
SORT_REGULAR
bool(true)
array(12) {
[0]=>
@ -196,7 +91,7 @@ array(12) {
[11]=>
string(1) "x"
}
- Sort flag = SORT_STRING -
SORT_STRING
bool(true)
array(12) {
[0]=>
@ -224,4 +119,3 @@ array(12) {
[11]=>
string(1) "x"
}
Done

View file

@ -0,0 +1,59 @@
--TEST--
Test sort() function: sorting escape sequences
--FILE--
<?php
const EXPECTED_RESULT = [
null,
"\t",
"\n",
"\v",
"\f",
"\r",
"\e",
"\a",
"\cx",
"\ddd",
"\xhh",
];
$array = [
null,
"\a",
"\cx",
"\e",
"\f",
"\n",
"\r",
"\t",
"\xhh",
"\ddd",
"\v",
];
echo "Default flag\n";
$temp_array = $array;
var_dump(sort($temp_array)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_REGULAR\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_REGULAR)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
echo "SORT_STRING\n";
$temp_array = $array;
var_dump(sort($temp_array, SORT_STRING)); // expecting : bool(true)
var_dump($temp_array === EXPECTED_RESULT);
?>
--EXPECT--
Default flag
bool(true)
bool(true)
SORT_REGULAR
bool(true)
bool(true)
SORT_STRING
bool(true)
bool(true)