Annotation of embedaddon/php/ext/intl/tests/collator_asort.phpt, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>