Annotation of embedaddon/php/ext/intl/tests/regression_sortwsk_and_cow.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Regression: sort_wsk() and copy-on-write.
3: --SKIPIF--
4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
5: --FILE--
6: <?php
7: /*
8: * Check if collator_sort_with_sort_keys()
9: * properly supports copy-on-write.
10: */
11:
12:
13: /* Create two copies of the given array.
14: * Sort the array and the first copy.
15: * Check if the second copy remains unsorted.
16: */
17: function test_COW( $locale, $test_array )
18: {
19: $res_str = '';
20:
21: $coll = ut_coll_create( $locale );
22:
23: // Create two copies of the given array.
24: $copy1 = $test_array;
25: $copy2 = $test_array;
26:
27: // Sort given array and the first copy of it.
28: ut_coll_sort_with_sort_keys( $coll, $test_array );
29: ut_coll_sort_with_sort_keys( $coll, $copy1 );
30:
31: // Return contents of all the arrays.
32: // The second copy should remain unsorted.
33: $res_str .= dump( $test_array ) . "\n";
34: $res_str .= dump( $copy1 ) . "\n";
35: $res_str .= dump( $copy2 ) . "\n";
36:
37: return $res_str;
38: }
39:
40: function ut_main()
41: {
42: $res_str = '';
43:
44: $a1 = array( 'b', 'a', 'c' );
45: $a2 = array( 'в', 'а', 'б' );
46:
47: $res_str .= test_COW( 'en_US', $a1 );
48: $res_str .= test_COW( 'ru_RU', $a2 );
49:
50: return $res_str;
51: }
52:
53: require_once( 'ut_common.inc' );
54: ut_run();
55: ?>
56: --EXPECT--
57: array (
58: 0 => 'a',
59: 1 => 'b',
60: 2 => 'c',
61: )
62: array (
63: 0 => 'a',
64: 1 => 'b',
65: 2 => 'c',
66: )
67: array (
68: 0 => 'b',
69: 1 => 'a',
70: 2 => 'c',
71: )
72: array (
73: 0 => 'а',
74: 1 => 'б',
75: 2 => 'в',
76: )
77: array (
78: 0 => 'а',
79: 1 => 'б',
80: 2 => 'в',
81: )
82: array (
83: 0 => 'в',
84: 1 => 'а',
85: 2 => 'б',
86: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>