]> granicus.if.org Git - php/commitdiff
fork test for ICU >= 55.1 compat
authorAnatol Belski <ab@php.net>
Mon, 18 May 2015 20:23:35 +0000 (22:23 +0200)
committerAnatol Belski <ab@php.net>
Mon, 18 May 2015 20:37:26 +0000 (22:37 +0200)
ext/intl/tests/collator_get_sort_key_variant4.phpt
ext/intl/tests/collator_get_sort_key_variant5.phpt [new file with mode: 0644]

index 2c86f2111193f2ec651d36c3832530e81214b0c3..ed2c9bc175b96616352fdbc0286af17d6ba57f52 100644 (file)
@@ -1,7 +1,8 @@
 --TEST--
-collator_get_sort_key() icu >= 54.1
+collator_get_sort_key() icu >= 55.1
 --SKIPIF--
 <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+<?php if (version_compare(INTL_ICU_VERSION, '55.1') >=  0) die('skip for ICU < 55.1'); ?>
 <?php if (version_compare(INTL_ICU_VERSION, '54.1') < 0) die('skip for ICU >= 54.1'); ?>
 --FILE--
 <?php
diff --git a/ext/intl/tests/collator_get_sort_key_variant5.phpt b/ext/intl/tests/collator_get_sort_key_variant5.phpt
new file mode 100644 (file)
index 0000000..c71d352
--- /dev/null
@@ -0,0 +1,98 @@
+--TEST--
+collator_get_sort_key() icu >= 54.1
+--SKIPIF--
+<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
+<?php if (version_compare(INTL_ICU_VERSION, '55.1') < 0) die('skip for ICU >= 55.1'); ?>
+--FILE--
+<?php
+
+/*
+ * Get sort keys using various locales
+ */
+function sort_arrays( $locale, $data )
+{
+    $res_str = '';
+
+    $coll = ut_coll_create( $locale );
+
+       foreach($data as $value) {
+               $res_val = ut_coll_get_sort_key( $coll, $value );
+               $res_str .= "source: ".$value."\n".
+                                       "key: ".bin2hex($res_val)."\n";
+       }
+
+    return $res_str;
+}
+
+
+function ut_main()
+{
+    $res_str = '';
+
+    // Regular strings keys
+    $test_params = array(
+               'abc', 'abd', 'aaa',
+               'аа', 'а', 'z',
+               '', null , '3',
+        'y'  , 'i'  , 'k'
+    );
+
+    $res_str .= sort_arrays( 'en_US', $test_params );
+
+    // Sort a non-ASCII array using ru_RU locale.
+    $test_params = array(
+               'абг', 'абв', 'жжж', 'эюя'
+    );
+
+    $res_str .= sort_arrays( 'ru_RU', $test_params );
+
+    // Sort an array using Lithuanian locale.
+    $res_str .= sort_arrays( 'lt_LT', $test_params );
+
+    return $res_str . "\n";
+}
+
+include_once( 'ut_common.inc' );
+ut_run();
+?>
+--EXPECT--
+source: abc
+key: 292b2d01070107
+source: abd
+key: 292b2f01070107
+source: aaa
+key: 29292901070107
+source: аа
+key: 60060601060106
+source: а
+key: 600601050105
+source: z
+key: 5b01050105
+source: 
+key: 0101
+source: 
+key: 0101
+source: 3
+key: 1801050105
+source: y
+key: 5901050105
+source: i
+key: 3901050105
+source: k
+key: 3d01050105
+source: абг
+key: 26060c1001070107
+source: абв
+key: 26060c0e01070107
+source: жжж
+key: 2626262601070107
+source: эюя
+key: 26b4b6ba01070107
+source: абг
+key: 60060c1001070107
+source: абв
+key: 60060c0e01070107
+source: жжж
+key: 6026262601070107
+source: эюя
+key: 60b4b6ba01070107