mirror of
https://github.com/php/php-src.git
synced 2024-10-19 07:22:40 +00:00
87 lines
1.5 KiB
Plaintext
87 lines
1.5 KiB
Plaintext
|
--TEST--
|
|||
|
Regression: sort_wsk() and copy-on-write.
|
|||
|
--SKIPIF--
|
|||
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|||
|
--FILE--
|
|||
|
<?php
|
|||
|
/*
|
|||
|
* Check if collator_sort_with_sort_keys()
|
|||
|
* properly supports copy-on-write.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
/* Create two copies of the given array.
|
|||
|
* Sort the array and the first copy.
|
|||
|
* Check if the second copy remains unsorted.
|
|||
|
*/
|
|||
|
function test_COW( $locale, $test_array )
|
|||
|
{
|
|||
|
$res_str = '';
|
|||
|
|
|||
|
$coll = ut_coll_create( $locale );
|
|||
|
|
|||
|
// Create two copies of the given array.
|
|||
|
$copy1 = $test_array;
|
|||
|
$copy2 = $test_array;
|
|||
|
|
|||
|
// Sort given array and the first copy of it.
|
|||
|
ut_coll_sort_with_sort_keys( $coll, $test_array );
|
|||
|
ut_coll_sort_with_sort_keys( $coll, $copy1 );
|
|||
|
|
|||
|
// Return contents of all the arrays.
|
|||
|
// The second copy should remain unsorted.
|
|||
|
$res_str .= dump( $test_array ) . "\n";
|
|||
|
$res_str .= dump( $copy1 ) . "\n";
|
|||
|
$res_str .= dump( $copy2 ) . "\n";
|
|||
|
|
|||
|
return $res_str;
|
|||
|
}
|
|||
|
|
|||
|
function ut_main()
|
|||
|
{
|
|||
|
$res_str = '';
|
|||
|
|
|||
|
$a1 = array( 'b', 'a', 'c' );
|
|||
|
$a2 = array( 'в', 'а', 'б' );
|
|||
|
|
|||
|
$res_str .= test_COW( 'en_US', $a1 );
|
|||
|
$res_str .= test_COW( 'ru_RU', $a2 );
|
|||
|
|
|||
|
return $res_str;
|
|||
|
}
|
|||
|
|
|||
|
require_once( 'ut_common.inc' );
|
|||
|
ut_run();
|
|||
|
?>
|
|||
|
--EXPECT--
|
|||
|
array (
|
|||
|
0 => 'a',
|
|||
|
1 => 'b',
|
|||
|
2 => 'c',
|
|||
|
)
|
|||
|
array (
|
|||
|
0 => 'a',
|
|||
|
1 => 'b',
|
|||
|
2 => 'c',
|
|||
|
)
|
|||
|
array (
|
|||
|
0 => 'b',
|
|||
|
1 => 'a',
|
|||
|
2 => 'c',
|
|||
|
)
|
|||
|
array (
|
|||
|
0 => 'а',
|
|||
|
1 => 'б',
|
|||
|
2 => 'в',
|
|||
|
)
|
|||
|
array (
|
|||
|
0 => 'а',
|
|||
|
1 => 'б',
|
|||
|
2 => 'в',
|
|||
|
)
|
|||
|
array (
|
|||
|
0 => 'в',
|
|||
|
1 => 'а',
|
|||
|
2 => 'б',
|
|||
|
)
|