Annotation of embedaddon/php/ext/intl/tests/regression_sort_and_cow.phpt, revision 1.1.1.1

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

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