Annotation of embedaddon/php/ext/intl/tests/collator_sort.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: sort()
! 3: --SKIPIF--
! 4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: /*
! 9: * Sort arrays using various locales.
! 10: */
! 11:
! 12:
! 13: $test_num = 1;
! 14:
! 15: /*
! 16: * Sort arrays in the given list using specified locale.
! 17: */
! 18: function sort_arrays( $locale, $arrays, $sort_flag = Collator::SORT_REGULAR )
! 19: {
! 20: $res_str = '';
! 21:
! 22: $coll = ut_coll_create( $locale );
! 23:
! 24: foreach( $arrays as $array )
! 25: {
! 26: // Sort array values
! 27: $res_val = ut_coll_sort( $coll, $array, $sort_flag );
! 28:
! 29: // Concatenate the sorted array and function result
! 30: // with output string.
! 31: $res_dump = "\n" . dump( $array ) .
! 32: "\n Result: " . dump( $res_val );
! 33:
! 34: // Preppend test signature to output string
! 35: $md5 = md5( $res_dump );
! 36:
! 37: global $test_num;
! 38:
! 39: $res_str .= "\n\n".
! 40: "Test $test_num.$md5:" .
! 41: $res_dump;
! 42: ++$test_num;
! 43: }
! 44:
! 45: return $res_str;
! 46: }
! 47:
! 48: function ut_main()
! 49: {
! 50: global $test_num;
! 51: $test_num = 1;
! 52: $res_str = '';
! 53:
! 54: // Sort an array in SORT_REGULAR mode using en_US locale.
! 55: $test_params = array(
! 56: array( 'abc', 'abd', 'aaa' ),
! 57: array( 'm' , '1' , '_' ),
! 58: array( 'a' , 'aaa', 'aa' ),
! 59: array( 'ba' , 'b' , 'ab' ),
! 60: array( 'e' , 'c' , 'a' ),
! 61: array( '100', '25' , '36' ),
! 62: array( 5 , '30' , 2 ),
! 63: array( 'd' , '' , ' a' ),
! 64: array( 'd ' , 'f ' , ' a' ),
! 65: array( 'a' , null , '3' ),
! 66: array( 'y' , 'k' , 'i' )
! 67: );
! 68:
! 69: $res_str .= sort_arrays( 'en_US', $test_params );
! 70:
! 71: $test_params = array(
! 72: array( '100', '25' , '36' ),
! 73: array( 5 , '30' , 2 ),
! 74: array( 'd' , '' , ' a' ),
! 75: array( 'y' , 'k' , 'i' )
! 76: );
! 77:
! 78: // Sort in en_US locale with SORT_STRING flag
! 79: $res_str .= sort_arrays( 'en_US', $test_params, Collator::SORT_STRING );
! 80:
! 81:
! 82: // Sort a non-ASCII array using ru_RU locale.
! 83: $test_params = array(
! 84: array( 'абг', 'абв', 'ааа', 'abc' ),
! 85: array( 'аа', 'ааа' , 'а' )
! 86: );
! 87:
! 88: $res_str .= sort_arrays( 'ru_RU', $test_params );
! 89:
! 90: // Sort an array using Lithuanian locale.
! 91: $test_params = array(
! 92: array( 'y' , 'k' , 'i' )
! 93: );
! 94:
! 95: $res_str .= sort_arrays( 'lt_LT', $test_params );
! 96:
! 97: return $res_str;
! 98: }
! 99:
! 100: include_once( 'ut_common.inc' );
! 101: ut_run();
! 102: ?>
! 103: --EXPECT--
! 104: Test 1.e8f1cd28133d79ecd660002f1c660d0e:
! 105: array (
! 106: 0 => 'aaa',
! 107: 1 => 'abc',
! 108: 2 => 'abd',
! 109: )
! 110: Result: true
! 111:
! 112: Test 2.c2ded12173dd2996927378cae37eb275:
! 113: array (
! 114: 0 => '_',
! 115: 1 => '1',
! 116: 2 => 'm',
! 117: )
! 118: Result: true
! 119:
! 120: Test 3.54071c968d71cb98c5d379145f8d7d38:
! 121: array (
! 122: 0 => 'a',
! 123: 1 => 'aa',
! 124: 2 => 'aaa',
! 125: )
! 126: Result: true
! 127:
! 128: Test 4.19abe63d6f6dfef65b0e3c9ab4826b07:
! 129: array (
! 130: 0 => 'ab',
! 131: 1 => 'b',
! 132: 2 => 'ba',
! 133: )
! 134: Result: true
! 135:
! 136: Test 5.9a8dc0a9bc771368c2f1fc3d02754610:
! 137: array (
! 138: 0 => 'a',
! 139: 1 => 'c',
! 140: 2 => 'e',
! 141: )
! 142: Result: true
! 143:
! 144: Test 6.ab530b060e5e54a65bfb8b9f8fc61870:
! 145: array (
! 146: 0 => '25',
! 147: 1 => '36',
! 148: 2 => '100',
! 149: )
! 150: Result: true
! 151:
! 152: Test 7.0718dd838509017bded2ed307a6e785f:
! 153: array (
! 154: 0 => 2,
! 155: 1 => 5,
! 156: 2 => '30',
! 157: )
! 158: Result: true
! 159:
! 160: Test 8.923d65739c5219c634616ffd100a50e4:
! 161: array (
! 162: 0 => '',
! 163: 1 => ' a',
! 164: 2 => 'd',
! 165: )
! 166: Result: true
! 167:
! 168: Test 9.289bc2f28e87d3201ec9d7e8477ae1b0:
! 169: array (
! 170: 0 => ' a',
! 171: 1 => 'd ',
! 172: 2 => 'f ',
! 173: )
! 174: Result: true
! 175:
! 176: Test 10.de0fd958484f2377a645835d7fbcf124:
! 177: array (
! 178: 0 => NULL,
! 179: 1 => '3',
! 180: 2 => 'a',
! 181: )
! 182: Result: true
! 183:
! 184: Test 11.dd2b8f0adb37c45d528cad1a0cc0f361:
! 185: array (
! 186: 0 => 'i',
! 187: 1 => 'k',
! 188: 2 => 'y',
! 189: )
! 190: Result: true
! 191:
! 192: Test 12.1e6b4d6f7df9d4580317634ea46d8208:
! 193: array (
! 194: 0 => '100',
! 195: 1 => '25',
! 196: 2 => '36',
! 197: )
! 198: Result: true
! 199:
! 200: Test 13.cec115dc9850b98dfbdf102efa09e61b:
! 201: array (
! 202: 0 => 2,
! 203: 1 => '30',
! 204: 2 => 5,
! 205: )
! 206: Result: true
! 207:
! 208: Test 14.923d65739c5219c634616ffd100a50e4:
! 209: array (
! 210: 0 => '',
! 211: 1 => ' a',
! 212: 2 => 'd',
! 213: )
! 214: Result: true
! 215:
! 216: Test 15.dd2b8f0adb37c45d528cad1a0cc0f361:
! 217: array (
! 218: 0 => 'i',
! 219: 1 => 'k',
! 220: 2 => 'y',
! 221: )
! 222: Result: true
! 223:
! 224: Test 16.ca0e38a2e3147dd97070f2128f140934:
! 225: array (
! 226: 0 => 'abc',
! 227: 1 => 'ааа',
! 228: 2 => 'абв',
! 229: 3 => 'абг',
! 230: )
! 231: Result: true
! 232:
! 233: Test 17.91480b10473a0c96a4cd6d88c23c577a:
! 234: array (
! 235: 0 => 'а',
! 236: 1 => 'аа',
! 237: 2 => 'ааа',
! 238: )
! 239: Result: true
! 240:
! 241: Test 18.fdd3fe3981476039164aa000bf9177f2:
! 242: array (
! 243: 0 => 'i',
! 244: 1 => 'y',
! 245: 2 => 'k',
! 246: )
! 247: Result: true
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>