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