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