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>