Annotation of embedaddon/php/ext/intl/tests/collator_asort_variant2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: asort()
! 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 associative arrays using various locales.
! 11: */
! 12:
! 13:
! 14: $test_num = 1;
! 15:
! 16: /*
! 17: * Sort various arrays in specified locale.
! 18: */
! 19: function sort_arrays( $locale, $test_arrays, $sort_flag = Collator::SORT_REGULAR )
! 20: {
! 21: $res_str = '';
! 22:
! 23: $coll = ut_coll_create( $locale );
! 24:
! 25: foreach( $test_arrays as $test_array )
! 26: {
! 27: // Try to sort test data.
! 28: $res_val = ut_coll_asort( $coll, $test_array, $sort_flag );
! 29:
! 30: // Return output data.
! 31: $res_dump = "\n" . dump( $test_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: /*
! 49: * Test main function.
! 50: */
! 51: function ut_main()
! 52: {
! 53: global $test_num;
! 54: $test_num = 1;
! 55: $res_str = '';
! 56:
! 57: // Sort an array in SORT_REGULAR mode using en_US locale.
! 58: $test_params = array(
! 59: array( 'd' => 'y' ,
! 60: 'c' => 'i' ,
! 61: 'a' => 'k' ),
! 62:
! 63: array( 'a' => 'a' ,
! 64: 'b' => 'aaa',
! 65: 'c' => 'aa' ),
! 66:
! 67: array( 'a' => 'a' ,
! 68: 'aaa'=> 'a' ,
! 69: 'aa' => 'a' ),
! 70:
! 71: array( '1' => 'abc',
! 72: '5' => '!' ,
! 73: '2' => null ,
! 74: '7' => '' ),
! 75:
! 76: array( '1' => '100',
! 77: '2' => '25' ,
! 78: '3' => '36' ),
! 79:
! 80: array( '1' => 5 ,
! 81: '2' => '30' ,
! 82: '3' => 2 )
! 83: );
! 84:
! 85: $res_str .= sort_arrays( 'en_US', $test_params );
! 86:
! 87: // Sort an array in SORT_STRING mode using en_US locale.
! 88: $test_params = array(
! 89: array( '1' => '100',
! 90: '2' => '25' ,
! 91: '3' => '36' ),
! 92:
! 93: array( '1' => 5 ,
! 94: '2' => '30' ,
! 95: '3' => 2 ),
! 96:
! 97: array( '1' => 'd' ,
! 98: '2' => '' ,
! 99: '3' => ' a' ),
! 100:
! 101: array( '1' => 'y' ,
! 102: '2' => 'k' ,
! 103: '3' => 'i' )
! 104: );
! 105:
! 106: $res_str .= sort_arrays( 'en_US', $test_params, Collator::SORT_STRING );
! 107:
! 108: // Sort a non-ASCII array using ru_RU locale.
! 109: $test_params = array(
! 110: array( 'п' => 'у',
! 111: 'б' => 'в',
! 112: 'е' => 'а' ),
! 113:
! 114: array( '1' => 'п',
! 115: '4' => '',
! 116: '7' => 'd',
! 117: '2' => 'пп' )
! 118: );
! 119:
! 120: $res_str .= sort_arrays( 'ru_RU', $test_params );
! 121:
! 122:
! 123: // Sort an array using Lithuanian locale.
! 124: $test_params = array(
! 125: array( 'd' => 'y',
! 126: 'c' => 'i',
! 127: 'a' => 'k' )
! 128: );
! 129:
! 130: $res_str .= sort_arrays( 'lt_LT', $test_params );
! 131:
! 132: return $res_str . "\n";
! 133: }
! 134:
! 135: include_once( 'ut_common.inc' );
! 136: ut_run();
! 137: ?>
! 138: --EXPECT--
! 139: Test 1.162b81ac12878b817fc39063097e45b5:
! 140: array (
! 141: 'c' => 'i',
! 142: 'a' => 'k',
! 143: 'd' => 'y',
! 144: )
! 145: Result: true
! 146:
! 147: Test 2.93d96e22f692d8a281b0a389f01f8d1e:
! 148: array (
! 149: 'a' => 'a',
! 150: 'c' => 'aa',
! 151: 'b' => 'aaa',
! 152: )
! 153: Result: true
! 154:
! 155: Test 3.9f25de4482bc7b58de508e278113317c:
! 156: array (
! 157: 'aa' => 'a',
! 158: 'aaa' => 'a',
! 159: 'a' => 'a',
! 160: )
! 161: Result: true
! 162:
! 163: Test 4.a85a41ea78e45b651080cfd98c0b431d:
! 164: array (
! 165: 7 => '',
! 166: 2 => NULL,
! 167: 5 => '!',
! 168: 1 => 'abc',
! 169: )
! 170: Result: true
! 171:
! 172: Test 5.99dc71f405b286e03d489061b36e6900:
! 173: array (
! 174: 2 => '25',
! 175: 3 => '36',
! 176: 1 => '100',
! 177: )
! 178: Result: true
! 179:
! 180: Test 6.bf5bba243307c9d12934e756ad4be190:
! 181: array (
! 182: 3 => 2,
! 183: 1 => 5,
! 184: 2 => '30',
! 185: )
! 186: Result: true
! 187:
! 188: Test 7.e4ee7024c61476e9e7a6c28b5e47df6f:
! 189: array (
! 190: 1 => '100',
! 191: 2 => '25',
! 192: 3 => '36',
! 193: )
! 194: Result: true
! 195:
! 196: Test 8.5fa7033dd43784be0db1474eb48b83c8:
! 197: array (
! 198: 3 => 2,
! 199: 2 => '30',
! 200: 1 => 5,
! 201: )
! 202: Result: true
! 203:
! 204: Test 9.588cdf4692bc09aa92ffe7e48f9e4579:
! 205: array (
! 206: 2 => '',
! 207: 3 => ' a',
! 208: 1 => 'd',
! 209: )
! 210: Result: true
! 211:
! 212: Test 10.be02641a47ebcccd23e4183ca3a415f7:
! 213: array (
! 214: 3 => 'i',
! 215: 2 => 'k',
! 216: 1 => 'y',
! 217: )
! 218: Result: true
! 219:
! 220: Test 11.153d9b11d1e5936afc917a94a4e11f34:
! 221: array (
! 222: 'е' => 'а',
! 223: 'б' => 'в',
! 224: 'п' => 'у',
! 225: )
! 226: Result: true
! 227:
! 228: Test 12.e1f5cb037b564dce39ffbd0a61562d59:
! 229: array (
! 230: 4 => '',
! 231: 1 => 'п',
! 232: 2 => 'пп',
! 233: 7 => 'd',
! 234: )
! 235: Result: true
! 236:
! 237: Test 13.8800d48abb960a59002eef77f1d73ae0:
! 238: array (
! 239: 'c' => 'i',
! 240: 'd' => 'y',
! 241: 'a' => 'k',
! 242: )
! 243: Result: true
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>