summaryrefslogtreecommitdiff
path: root/ext/intl/tests/regression_sort_eq.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/intl/tests/regression_sort_eq.phpt')
-rw-r--r--ext/intl/tests/regression_sort_eq.phpt51
1 files changed, 51 insertions, 0 deletions
diff --git a/ext/intl/tests/regression_sort_eq.phpt b/ext/intl/tests/regression_sort_eq.phpt
new file mode 100644
index 0000000..8676c5c
--- /dev/null
+++ b/ext/intl/tests/regression_sort_eq.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Regression: sort() eq but different len.
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+--FILE--
+<?php
+/*
+ * Test sorting strings that have different length but otherwise equal.
+ */
+
+function sort_using_locale( $locale, $test_array )
+{
+ $coll = ut_coll_create( $locale );
+
+ // Sort array.
+ ut_coll_sort( $coll, $test_array );
+
+ // And return the sorted array.
+ return dump( $test_array ) . "\n";
+}
+
+function ut_main()
+{
+ $res_str = '';
+
+ // Define a couple of arrays.
+ // Each array contains equal strings that differ only in their length.
+ $a1 = array( 'aa', 'aaa', 'a' );
+ $a2 = array( 'пп', 'ппп', 'п' );
+
+ // Sort them.
+ $res_str .= sort_using_locale( 'en_US', $a1 );
+ $res_str .= sort_using_locale( 'ru_RU', $a2 );
+
+ return $res_str;
+}
+
+require_once( 'ut_common.inc' );
+ut_run();
+?>
+--EXPECT--
+array (
+ 0 => 'a',
+ 1 => 'aa',
+ 2 => 'aaa',
+)
+array (
+ 0 => 'п',
+ 1 => 'пп',
+ 2 => 'ппп',
+)