Annotation of embedaddon/php/ext/intl/tests/collator_asort.phpt, revision 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>