php-src/ext/intl/tests/regression_sortwsk_and_cow.phpt
2008-07-07 22:51:04 +00:00

87 lines
1.5 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--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 => 'б',
)