Annotation of embedaddon/php/ext/intl/tests/collator_compare_variant2.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: compare()
        !             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:  * Compare various string pairs using various locales.
        !            11:  */
        !            12: 
        !            13: 
        !            14: /*
        !            15:  * Converts comparison result to a character.
        !            16:  */
        !            17: function cmp_to_char( $comp_res )
        !            18: {
        !            19:     switch( $comp_res )
        !            20:     {
        !            21:     case 0:            // UCOL_EQUAL
        !            22:         return '=';
        !            23:     case 1:            // UCOL_GREATER
        !            24:         return '>';
        !            25:     case -1:           // UCOL_LESS
        !            26:         return '<';
        !            27:     default:
        !            28:         return '?';
        !            29:     }
        !            30: }
        !            31: 
        !            32: /*
        !            33:  * Compare string pairs in the given array
        !            34:  * using specified locale.
        !            35:  */
        !            36: function compare_pairs( $locale, $test_array )
        !            37: {
        !            38:     $res_str = '';
        !            39: 
        !            40:     $coll = ut_coll_create( $locale );
        !            41: 
        !            42:     foreach( $test_array as $test_strings )
        !            43:     {
        !            44:         list( $str1, $str2 ) = $test_strings;
        !            45: 
        !            46:         // Compare strings.
        !            47:         $res_val = cmp_to_char( ut_coll_compare( $coll, $str1, $str2 ) );
        !            48: 
        !            49:         // Concatenate result strings.
        !            50:         $res_str .= dump( $str1 ) .
        !            51:                     ' ' . $res_val . ' ' .
        !            52:                     dump( $str2 ) . "\n";
        !            53:     }
        !            54: 
        !            55:     return $res_str;
        !            56: 
        !            57: }
        !            58: 
        !            59: function ut_main()
        !            60: {
        !            61:     $res_str = '';
        !            62: 
        !            63:     // Compare strings using en_US locale.
        !            64:     $test_params = array(
        !            65:         array( 'abc', 'abc' ),
        !            66:         array( 'Abc', 'abc' ),
        !            67:         array( 'a'  , 'abc' ),
        !            68:         array( 'a'  , ''    ),
        !            69:         array( ''  , ''     ),
        !            70:         array( 'a'  , 'b'   ),
        !            71:         array( 'ab'  , 'b'  ),
        !            72:         array( 'ab'  , 'a'  ),
        !            73:         array( 123  , 'abc' ),
        !            74:         array( 'ac' , null  ),
        !            75:         array( '.'  , '.'   ),
        !            76:         // Try to compare long strings.
        !            77:         array( 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcde',
        !            78:                'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdea'),
        !            79:         array( null , null  )
        !            80:     );
        !            81: 
        !            82:     $res_str .= compare_pairs( 'en_US', $test_params );
        !            83: 
        !            84: 
        !            85:     // Compare strings using ru_RU locale.
        !            86:     $test_params = array(
        !            87:         array( 'а',   'б' ),
        !            88:         array( 'а',   'аа' ),
        !            89:         array( 'аб', 'ба' ),
        !            90:         array( 'а',   ',' ),
        !            91:         array( 'а',   'b' ),
        !            92:         array( 'а',   'bb' ),
        !            93:         array( 'а',   'ab' ),
        !            94:         array( 'а',   null )
        !            95:     );
        !            96: 
        !            97:     $res_str .= compare_pairs( 'ru_RU', $test_params );
        !            98: 
        !            99: 
        !           100:     // Compare strings using lt_LT locale.
        !           101:     $test_params = array(
        !           102:         array( 'y', 'k' )
        !           103:     );
        !           104: 
        !           105:     $res_str .= compare_pairs( 'lt_LT', $test_params );
        !           106: 
        !           107:     return $res_str;
        !           108: }
        !           109: 
        !           110: include_once( 'ut_common.inc' );
        !           111: ut_run();
        !           112: ?>
        !           113: --EXPECT--
        !           114: 'abc' = 'abc'
        !           115: 'Abc' > 'abc'
        !           116: 'a' < 'abc'
        !           117: 'a' > ''
        !           118: '' = ''
        !           119: 'a' < 'b'
        !           120: 'ab' < 'b'
        !           121: 'ab' > 'a'
        !           122: 123 < 'abc'
        !           123: 'ac' > NULL
        !           124: '.' = '.'
        !           125: 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcde' < 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdea'
        !           126: NULL = NULL
        !           127: 'а' < 'б'
        !           128: 'а' < 'аа'
        !           129: 'аб' < 'ба'
        !           130: 'а' > ','
        !           131: 'а' < 'b'
        !           132: 'а' < 'bb'
        !           133: 'а' < 'ab'
        !           134: 'а' > NULL
        !           135: 'y' < 'k'

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