Annotation of embedaddon/php/ext/standard/tests/array/arsort_variation5.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test arsort() function : usage variations - sort strings
! 3: --SKIPIF--
! 4: <?php
! 5: if (substr(PHP_OS, 0, 3) == 'WIN') {
! 6: die("skip Output tested contains chars that are not shown the same on windows concole (ESC and co)");
! 7: }
! 8: --FILE--
! 9: <?php
! 10: /* Prototype : bool arsort ( array &$array [, int $asort_flags] )
! 11: * Description: Sort an array and maintain index association
! 12: Elements will be arranged from highest to lowest when this function has completed.
! 13: * Source code: ext/standard/array.c
! 14: */
! 15:
! 16: /*
! 17: * testing arsort() by providing different string arrays for $array argument with following flag values
! 18: * flag value as defualt
! 19: * SORT_REGULAR - compare items normally
! 20: * SORT_STRING - compare items as strings
! 21: */
! 22:
! 23: echo "*** Testing arsort() : usage variations ***\n";
! 24:
! 25: $various_arrays = array (
! 26: // group of escape sequences
! 27: array ("null"=> null, "NULL" => NULL, "\a" => "\a", "\cx" => "\cx", "\e" => "\e",
! 28: "\f" => "\f", "\n" =>"\n", "\r" => "\r", "\t" => "\t", "\xhh" => "\xhh",
! 29: "\ddd" => "\ddd", "\v" => "\v"
! 30: ),
! 31:
! 32: // array contains combination of capital/small letters
! 33: array ('l' => "lemoN", 'O' => "Orange", 'b' => "banana", 'a' => "apple", 'Te' => "Test",
! 34: 'T' => "TTTT", 't' => "ttt", 'w' => "ww", 'x' => "x", 'X' => "X", 'o' => "oraNGe",
! 35: 'B' => "BANANA"
! 36: )
! 37: );
! 38:
! 39: $flags = array("SORT_REGULAR" => SORT_REGULAR, "SORT_STRING" => SORT_STRING);
! 40:
! 41: $count = 1;
! 42: echo "\n-- Testing arsort() by supplying various string arrays --\n";
! 43:
! 44: // loop through to test arsort() with different arrays
! 45: foreach ($various_arrays as $array) {
! 46: echo "\n-- Iteration $count --\n";
! 47:
! 48: echo "- With default sort_flag -\n";
! 49: $temp_array = $array;
! 50: var_dump(arsort($temp_array) ); // expecting : bool(true)
! 51: var_dump($temp_array);
! 52:
! 53: // loop through $flags array and setting all possible flag values
! 54: foreach($flags as $key => $flag){
! 55: echo "- Sort_flag = $key -\n";
! 56: $temp_array = $array;
! 57: var_dump(arsort($temp_array, $flag) ); // expecting : bool(true)
! 58: var_dump($temp_array);
! 59: }
! 60: $count++;
! 61: }
! 62:
! 63: echo "Done\n";
! 64: ?>
! 65: --EXPECTF--
! 66: *** Testing arsort() : usage variations ***
! 67:
! 68: -- Testing arsort() by supplying various string arrays --
! 69:
! 70: -- Iteration 1 --
! 71: - With default sort_flag -
! 72: bool(true)
! 73: array(12) {
! 74: ["\xhh"]=>
! 75: string(4) "\xhh"
! 76: ["\e"]=>
! 77: string(2) "\e"
! 78: ["\ddd"]=>
! 79: string(4) "\ddd"
! 80: ["\cx"]=>
! 81: string(3) "\cx"
! 82: ["\a"]=>
! 83: string(2) "\a"
! 84: ["
! 85: "]=>
! 86: string(1) "
! 87: "
! 88: [""]=>
! 89: string(1) ""
! 90: [""]=>
! 91: string(1) ""
! 92: ["
! 93: "]=>
! 94: string(1) "
! 95: "
! 96: [" "]=>
! 97: string(1) " "
! 98: ["null"]=>
! 99: NULL
! 100: ["NULL"]=>
! 101: NULL
! 102: }
! 103: - Sort_flag = SORT_REGULAR -
! 104: bool(true)
! 105: array(12) {
! 106: ["\xhh"]=>
! 107: string(4) "\xhh"
! 108: ["\e"]=>
! 109: string(2) "\e"
! 110: ["\ddd"]=>
! 111: string(4) "\ddd"
! 112: ["\cx"]=>
! 113: string(3) "\cx"
! 114: ["\a"]=>
! 115: string(2) "\a"
! 116: ["
! 117: "]=>
! 118: string(1) "
! 119: "
! 120: [""]=>
! 121: string(1) ""
! 122: [""]=>
! 123: string(1) ""
! 124: ["
! 125: "]=>
! 126: string(1) "
! 127: "
! 128: [" "]=>
! 129: string(1) " "
! 130: ["null"]=>
! 131: NULL
! 132: ["NULL"]=>
! 133: NULL
! 134: }
! 135: - Sort_flag = SORT_STRING -
! 136: bool(true)
! 137: array(12) {
! 138: ["\xhh"]=>
! 139: string(4) "\xhh"
! 140: ["\e"]=>
! 141: string(2) "\e"
! 142: ["\ddd"]=>
! 143: string(4) "\ddd"
! 144: ["\cx"]=>
! 145: string(3) "\cx"
! 146: ["\a"]=>
! 147: string(2) "\a"
! 148: ["
! 149: "]=>
! 150: string(1) "
! 151: "
! 152: [""]=>
! 153: string(1) ""
! 154: [""]=>
! 155: string(1) ""
! 156: ["
! 157: "]=>
! 158: string(1) "
! 159: "
! 160: [" "]=>
! 161: string(1) " "
! 162: ["null"]=>
! 163: NULL
! 164: ["NULL"]=>
! 165: NULL
! 166: }
! 167:
! 168: -- Iteration 2 --
! 169: - With default sort_flag -
! 170: bool(true)
! 171: array(12) {
! 172: ["x"]=>
! 173: string(1) "x"
! 174: ["w"]=>
! 175: string(2) "ww"
! 176: ["t"]=>
! 177: string(3) "ttt"
! 178: ["o"]=>
! 179: string(6) "oraNGe"
! 180: ["l"]=>
! 181: string(5) "lemoN"
! 182: ["b"]=>
! 183: string(6) "banana"
! 184: ["a"]=>
! 185: string(5) "apple"
! 186: ["X"]=>
! 187: string(1) "X"
! 188: ["Te"]=>
! 189: string(4) "Test"
! 190: ["T"]=>
! 191: string(4) "TTTT"
! 192: ["O"]=>
! 193: string(6) "Orange"
! 194: ["B"]=>
! 195: string(6) "BANANA"
! 196: }
! 197: - Sort_flag = SORT_REGULAR -
! 198: bool(true)
! 199: array(12) {
! 200: ["x"]=>
! 201: string(1) "x"
! 202: ["w"]=>
! 203: string(2) "ww"
! 204: ["t"]=>
! 205: string(3) "ttt"
! 206: ["o"]=>
! 207: string(6) "oraNGe"
! 208: ["l"]=>
! 209: string(5) "lemoN"
! 210: ["b"]=>
! 211: string(6) "banana"
! 212: ["a"]=>
! 213: string(5) "apple"
! 214: ["X"]=>
! 215: string(1) "X"
! 216: ["Te"]=>
! 217: string(4) "Test"
! 218: ["T"]=>
! 219: string(4) "TTTT"
! 220: ["O"]=>
! 221: string(6) "Orange"
! 222: ["B"]=>
! 223: string(6) "BANANA"
! 224: }
! 225: - Sort_flag = SORT_STRING -
! 226: bool(true)
! 227: array(12) {
! 228: ["x"]=>
! 229: string(1) "x"
! 230: ["w"]=>
! 231: string(2) "ww"
! 232: ["t"]=>
! 233: string(3) "ttt"
! 234: ["o"]=>
! 235: string(6) "oraNGe"
! 236: ["l"]=>
! 237: string(5) "lemoN"
! 238: ["b"]=>
! 239: string(6) "banana"
! 240: ["a"]=>
! 241: string(5) "apple"
! 242: ["X"]=>
! 243: string(1) "X"
! 244: ["Te"]=>
! 245: string(4) "Test"
! 246: ["T"]=>
! 247: string(4) "TTTT"
! 248: ["O"]=>
! 249: string(6) "Orange"
! 250: ["B"]=>
! 251: string(6) "BANANA"
! 252: }
! 253: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>