Annotation of embedaddon/php/ext/intl/tests/collation_customization.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Collation customization
3: --SKIPIF--
4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
5: --FILE--
6: <?php
7:
8: /*
9: * Check effects of changing misc collattion options.
10: */
11:
12:
13: function cmp_array( &$coll, $a )
14: {
15: $res = '';
16: $prev = null;
17: foreach( $a as $i )
18: {
19: if( is_null( $prev ) )
20: $res .= "$i";
21: else
22: {
23: $eqrc = ut_coll_compare( $coll, $prev, $i );
24: $eq = $eqrc < 0 ? "<" : ( $eqrc > 0 ? ">" : "=" );
25: $res .= " $eq $i";
26: }
27:
28: $prev = $i;
29: }
30: $res .= "\n";
31:
32: return $res;
33: }
34:
35: function check_alternate_handling( &$coll )
36: {
37: $res = '';
38:
39: ut_coll_set_strength( $coll, Collator::TERTIARY );
40: ut_coll_set_attribute( $coll, Collator::ALTERNATE_HANDLING, Collator::NON_IGNORABLE );
41:
42: $res .= cmp_array( $coll, array( 'di Silva', 'Di Silva', 'diSilva', 'U.S.A.', 'USA' ) );
43:
44: ut_coll_set_attribute( $coll, Collator::ALTERNATE_HANDLING, Collator::SHIFTED );
45:
46: $res .= cmp_array( $coll, array( 'di Silva', 'diSilva', 'Di Silva', 'U.S.A.', 'USA' ) );
47:
48: ut_coll_set_strength( $coll, Collator::QUATERNARY );
49:
50: $res .= cmp_array( $coll, array( 'di Silva', 'diSilva', 'Di Silva', 'U.S.A.', 'USA' ) );
51: $res .= "\n";
52:
53: return $res;
54: }
55:
56: function ut_main()
57: {
58: $coll = ut_coll_create( 'en_US' );
59:
60: return
61: check_alternate_handling( $coll );
62: }
63:
64: include_once( 'ut_common.inc' );
65: ut_run();
66: ?>
67: --EXPECT--
68: di Silva < Di Silva < diSilva < U.S.A. < USA
69: di Silva = diSilva < Di Silva < U.S.A. = USA
70: di Silva < diSilva < Di Silva < U.S.A. < USA
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>