From 4124b04e3420b0a0e9290222b607ce7f7154a60a Mon Sep 17 00:00:00 2001 From: David Carlier Date: Wed, 13 Nov 2024 07:26:24 +0000 Subject: [PATCH 01/11] Fix GH-16771: imagecreatefromstring overflow on invalid format. close GH-16776 --- NEWS | 3 +++ ext/gd/gd.c | 2 +- ext/gd/tests/gh16771.phpt | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 ext/gd/tests/gh16771.phpt diff --git a/NEWS b/NEWS index bf6f7537d8445..2b3b9e3f9c2b7 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,9 @@ PHP NEWS - FPM: . Fixed GH-16432 (PHP-FPM 8.2 SIGSEGV in fpm_get_status). (Jakub Zelenka) +- GD: + . Fixed GH-16776 (imagecreatefromstring overflow). (David Carlier) + - Hash: . Fixed GH-16711: Segfault in mhash(). (Girgias) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 6b41efd949a2c..b1a9a333e1fd5 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1323,7 +1323,7 @@ static int _php_ctx_getmbi(gdIOCtx *ctx) do { i = (ctx->getC)(ctx); - if (i < 0) { + if (i < 0 || mbi > (INT_MAX >> 7)) { return -1; } mbi = (mbi << 7) | (i & 0x7f); diff --git a/ext/gd/tests/gh16771.phpt b/ext/gd/tests/gh16771.phpt new file mode 100644 index 0000000000000..232317cec11b5 --- /dev/null +++ b/ext/gd/tests/gh16771.phpt @@ -0,0 +1,10 @@ +--TEST-- +GH-16771 (UBSan abort in ext/gd/libgd/gd.c:1372) +--EXTENSIONS-- +gd +--FILE-- + Date: Wed, 13 Nov 2024 17:32:27 +0100 Subject: [PATCH 02/11] Get rid of HASH_OF() in ext/dom (#16767) The cases where this is used are only where an array is possible, so we can replace them with Z_ARRVAL_P. This reduces some overhead. --- ext/dom/dom_iterators.c | 4 ++-- ext/dom/nodelist.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/dom/dom_iterators.c b/ext/dom/dom_iterators.c index ad7dae5b3f129..caf59137e1487 100644 --- a/ext/dom/dom_iterators.c +++ b/ext/dom/dom_iterators.c @@ -177,7 +177,7 @@ static void php_dom_iterator_move_forward(zend_object_iterator *iter) /* {{{ */ if (objmap->nodetype != XML_ENTITY_NODE && objmap->nodetype != XML_NOTATION_NODE) { if (objmap->nodetype == DOM_NODESET) { - HashTable *nodeht = HASH_OF(&objmap->baseobj_zv); + HashTable *nodeht = Z_ARRVAL_P(&objmap->baseobj_zv); zval *entry; zend_hash_move_forward_ex(nodeht, &iterator->pos); if ((entry = zend_hash_get_current_data_ex(nodeht, &iterator->pos))) { @@ -275,7 +275,7 @@ zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, i if (objmap->nodetype != XML_ENTITY_NODE && objmap->nodetype != XML_NOTATION_NODE) { if (objmap->nodetype == DOM_NODESET) { - nodeht = HASH_OF(&objmap->baseobj_zv); + nodeht = Z_ARRVAL_P(&objmap->baseobj_zv); zend_hash_internal_pointer_reset_ex(nodeht, &iterator->pos); if ((entry = zend_hash_get_current_data_ex(nodeht, &iterator->pos))) { ZVAL_COPY(&iterator->curobj, entry); diff --git a/ext/dom/nodelist.c b/ext/dom/nodelist.c index d2e05a7b736b0..819b7396b69c7 100644 --- a/ext/dom/nodelist.c +++ b/ext/dom/nodelist.c @@ -72,7 +72,7 @@ zend_long php_dom_get_nodelist_length(dom_object *obj) } if (objmap->nodetype == DOM_NODESET) { - HashTable *nodeht = HASH_OF(&objmap->baseobj_zv); + HashTable *nodeht = Z_ARRVAL_P(&objmap->baseobj_zv); return zend_hash_num_elements(nodeht); } @@ -145,7 +145,7 @@ void php_dom_nodelist_get_item_into_zval(dom_nnodemap_object *objmap, zend_long itemnode = php_dom_libxml_hash_iter(objmap, index); } else { if (objmap->nodetype == DOM_NODESET) { - HashTable *nodeht = HASH_OF(&objmap->baseobj_zv); + HashTable *nodeht = Z_ARRVAL_P(&objmap->baseobj_zv); zval *entry = zend_hash_index_find(nodeht, index); if (entry) { ZVAL_COPY(return_value, entry); From 9196a72eb00bb95d2766d24a258aa08f21022af0 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 13 Nov 2024 17:17:47 +0100 Subject: [PATCH 03/11] Patch libcurl.pc for macOS builds cURL 8.11.0 added a couple of packages to `Requires.private`, but these packages are irrelevant when building against a shared libcurl. For some reason, these private requirements are checked when we're doing `pkg-config --cflags` (that happens with the preinstalled pkg-config 0.29.2, as well as with pkgconf 2.3.0). To avoid further messing with these packages, we just drop the `Requires.private` line from libcurl.pc. See GH-16741 for more details. Closes GH-16783. --- .github/actions/configure-macos/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/configure-macos/action.yml b/.github/actions/configure-macos/action.yml index 650efcfee8810..7ea4af0457fae 100644 --- a/.github/actions/configure-macos/action.yml +++ b/.github/actions/configure-macos/action.yml @@ -18,6 +18,7 @@ runs: export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxslt/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/zlib/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/icu4c/lib/pkgconfig" + sed -i -e 's/Requires.private:.*//g' "$BREW_OPT/curl/lib/pkgconfig/libcurl.pc" ./buildconf --force ./configure \ CFLAGS="-Wno-strict-prototypes -Wno-unused-but-set-variable -Wno-single-bit-bitfield-constant-conversion" \ From d6249b6e1fbe71ca6409e8de8f62a885918fa62d Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 13 Nov 2024 20:55:17 +0100 Subject: [PATCH 04/11] Need to define BREW_OPT This is only defined as of PHP-8.4; alternatively we could also inline the `brew --prefix` call, but that makes it harder for upward merges. Closes GH-16785. --- .github/actions/configure-macos/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/configure-macos/action.yml b/.github/actions/configure-macos/action.yml index 7ea4af0457fae..7312ff5d69f19 100644 --- a/.github/actions/configure-macos/action.yml +++ b/.github/actions/configure-macos/action.yml @@ -9,6 +9,7 @@ runs: - shell: bash run: | set -x + BREW_OPT="$(brew --prefix)"/opt export PATH="/usr/local/opt/bison/bin:$PATH" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/openssl@1.1/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/curl/lib/pkgconfig" From 3815a773a1a4ae0323f108fa74497dc88e9d36c5 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 3 Nov 2024 17:27:29 +0100 Subject: [PATCH 05/11] Close GH-16659: Bump ICU requirement to ICU >= 57.1 This requirements bump should rarely affect anybody in practice. All major distros already ship more recent ICU versions, and even for Solaris 11, ICU 57.1 is available via OpenCSW. Note that ICU 57.1 has been released on 2016-03-23[1]. [1] Closes GH-16688. --- NEWS | 3 + UPGRADING | 3 + build/php.m4 | 2 +- ext/intl/formatter/formatter.stub.php | 2 - ext/intl/formatter/formatter_arginfo.h | 4 +- ext/intl/normalizer/normalizer.h | 14 - ext/intl/normalizer/normalizer.stub.php | 4 - ext/intl/normalizer/normalizer_arginfo.h | 12 +- ext/intl/normalizer/normalizer_normalize.c | 24 - ext/intl/php_intl.stub.php | 4 - ext/intl/php_intl_arginfo.h | 18 +- ext/intl/tests/breakiter_getLocale_basic.phpt | 19 - .../tests/breakiter_getLocale_basic2.phpt | 1 - ext/intl/tests/bug53735.phpt | 2 - ext/intl/tests/bug58756_MessageFormatter.phpt | 35 -- .../bug58756_MessageFormatter_variant2.phpt | 4 - ext/intl/tests/bug62070.phpt | 17 - ext/intl/tests/bug62070_2.phpt | 1 - ext/intl/tests/bug69374.phpt | 2 - ext/intl/tests/bug69398.phpt | 1 - ext/intl/tests/bug74468.phpt | 2 - ext/intl/tests/bug78912.phpt | 4 - .../calendar_getDayOfWeekType_basic.phpt | 33 -- .../calendar_getDayOfWeekType_basic2.phpt | 5 - ext/intl/tests/collator_asort.phpt | 244 ---------- ext/intl/tests/collator_asort_variant2.phpt | 2 - ext/intl/tests/collator_compare.phpt | 136 ------ ext/intl/tests/collator_compare_variant2.phpt | 2 - ext/intl/tests/collator_create2.phpt | 83 ---- ext/intl/tests/collator_create3.phpt | 84 ---- ext/intl/tests/collator_create4.phpt | 2 - ext/intl/tests/collator_get_sort_key.phpt | 100 ----- .../tests/collator_get_sort_key_variant2.phpt | 98 ---- .../tests/collator_get_sort_key_variant3.phpt | 98 ---- .../tests/collator_get_sort_key_variant4.phpt | 98 ---- .../tests/collator_get_sort_key_variant5.phpt | 98 ---- .../tests/collator_get_sort_key_variant6.phpt | 1 - ext/intl/tests/collator_sort.phpt | 249 ---------- ext/intl/tests/collator_sort_variant2.phpt | 2 - .../tests/collator_sort_with_sort_keys.phpt | 191 -------- ...collator_sort_with_sort_keys_variant2.phpt | 2 - ext/intl/tests/dateformat_calendars.phpt | 48 -- .../tests/dateformat_calendars_variant2.phpt | 49 -- .../tests/dateformat_calendars_variant3.phpt | 1 - ext/intl/tests/dateformat_create_cal_arg.phpt | 51 --- .../dateformat_create_cal_arg_variant2.phpt | 51 --- .../dateformat_create_cal_arg_variant3.phpt | 52 --- .../dateformat_create_cal_arg_variant4.phpt | 1 - ext/intl/tests/dateformat_format.phpt | 424 ------------------ .../dateformat_formatObject_calendar.phpt | 37 -- ...format_formatObject_calendar_variant2.phpt | 37 -- ...format_formatObject_calendar_variant3.phpt | 38 -- ...format_formatObject_calendar_variant4.phpt | 38 -- ...format_formatObject_calendar_variant5.phpt | 1 - .../dateformat_formatObject_datetime.phpt | 30 -- ...format_formatObject_datetime_variant2.phpt | 30 -- ...format_formatObject_datetime_variant3.phpt | 31 -- ...format_formatObject_datetime_variant4.phpt | 31 -- ...format_formatObject_datetime_variant5.phpt | 1 - ext/intl/tests/dateformat_format_parse.phpt | 296 ------------ .../dateformat_format_parse_version2.phpt | 1 - .../tests/dateformat_format_variant2.phpt | 424 ------------------ .../tests/dateformat_format_variant3.phpt | 2 - .../tests/dateformat_get_set_calendar.phpt | 53 --- .../dateformat_get_set_calendar_variant2.phpt | 53 --- .../dateformat_get_set_calendar_variant3.phpt | 54 --- .../dateformat_get_set_calendar_variant4.phpt | 1 - .../tests/dateformat_get_set_timezone.phpt | 60 --- .../dateformat_get_set_timezone_variant2.phpt | 60 --- .../dateformat_get_set_timezone_variant3.phpt | 61 --- .../dateformat_get_set_timezone_variant4.phpt | 61 --- .../dateformat_get_set_timezone_variant5.phpt | 2 - .../tests/dateformat_set_timezone_id2.phpt | 85 ---- .../tests/dateformat_set_timezone_id3.phpt | 1 - .../dateformat_timezone_arg_variations.phpt | 45 -- .../dateformat_timezone_arg_variations2.phpt | 45 -- .../dateformat_timezone_arg_variations3.phpt | 46 -- .../dateformat_timezone_arg_variations4.phpt | 2 - ext/intl/tests/formatter_format2.phpt | 131 ------ ext/intl/tests/formatter_format3.phpt | 132 ------ ext/intl/tests/formatter_format4.phpt | 132 ------ ext/intl/tests/formatter_format5.phpt | 132 ------ ext/intl/tests/formatter_format6.phpt | 1 - ext/intl/tests/formatter_get_locale.phpt | 51 --- .../tests/formatter_get_locale_variant2.phpt | 1 - .../formatter_get_set_text_attribute.phpt | 121 ----- ...formatter_get_set_text_attribute_var2.phpt | 2 - ext/intl/tests/locale_filter_matches2.phpt | 367 --------------- ext/intl/tests/locale_get_display_name2.phpt | 343 -------------- ext/intl/tests/locale_get_display_name3.phpt | 343 -------------- ext/intl/tests/locale_get_display_name4.phpt | 344 -------------- ext/intl/tests/locale_get_display_name5.phpt | 1 - .../tests/locale_get_display_region2.phpt | 276 ------------ .../tests/locale_get_display_region3.phpt | 276 ------------ .../tests/locale_get_display_script3.phpt | 276 ------------ .../tests/locale_get_display_script4.phpt | 2 - ext/intl/tests/locale_lookup.phpt | 101 ----- .../tests/msgfmt_format_intlcalendar.phpt | 28 -- .../msgfmt_format_intlcalendar_variant2.phpt | 29 -- .../msgfmt_format_intlcalendar_variant3.phpt | 30 -- .../msgfmt_format_intlcalendar_variant4.phpt | 1 - .../resourcebundle_null_mandatory_args.phpt | 24 - ...cebundle_null_mandatory_args_variant2.phpt | 1 - ext/intl/tests/spoofchecker_001.phpt | 26 -- ext/intl/tests/spoofchecker_004.phpt | 31 -- ext/intl/tests/spoofchecker_005.phpt | 1 - ext/intl/tests/spoofchecker_006.phpt | 1 - .../tests/timezone_IDforWindowsID_basic.phpt | 1 - .../timezone_getCanonicalID_variant1.phpt | 22 - .../timezone_getCanonicalID_variant1_2.phpt | 2 - .../timezone_getDisplayName_variant2-49+.phpt | 34 -- .../timezone_getDisplayName_variant3-49+.phpt | 24 - .../timezone_getDisplayName_variant4.phpt | 2 - ext/intl/tests/timezone_windowsID_basic.phpt | 1 - ext/intl/timezone/timezone.stub.php | 3 +- ext/intl/timezone/timezone_arginfo.h | 12 +- ext/intl/timezone/timezone_methods.cpp | 2 - ext/intl/uchar/uchar.c | 2 - ext/intl/uchar/uchar.stub.php | 16 - ext/intl/uchar/uchar_arginfo.h | 158 +------ 120 files changed, 16 insertions(+), 7476 deletions(-) delete mode 100644 ext/intl/tests/breakiter_getLocale_basic.phpt delete mode 100644 ext/intl/tests/bug58756_MessageFormatter.phpt delete mode 100644 ext/intl/tests/bug62070.phpt delete mode 100644 ext/intl/tests/calendar_getDayOfWeekType_basic.phpt delete mode 100644 ext/intl/tests/collator_asort.phpt delete mode 100644 ext/intl/tests/collator_compare.phpt delete mode 100644 ext/intl/tests/collator_create2.phpt delete mode 100644 ext/intl/tests/collator_create3.phpt delete mode 100644 ext/intl/tests/collator_get_sort_key.phpt delete mode 100644 ext/intl/tests/collator_get_sort_key_variant2.phpt delete mode 100644 ext/intl/tests/collator_get_sort_key_variant3.phpt delete mode 100644 ext/intl/tests/collator_get_sort_key_variant4.phpt delete mode 100644 ext/intl/tests/collator_get_sort_key_variant5.phpt delete mode 100644 ext/intl/tests/collator_sort.phpt delete mode 100644 ext/intl/tests/collator_sort_with_sort_keys.phpt delete mode 100644 ext/intl/tests/dateformat_calendars.phpt delete mode 100644 ext/intl/tests/dateformat_calendars_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_create_cal_arg.phpt delete mode 100644 ext/intl/tests/dateformat_create_cal_arg_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_create_cal_arg_variant3.phpt delete mode 100644 ext/intl/tests/dateformat_format.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_calendar.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_calendar_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_calendar_variant3.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_calendar_variant4.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_datetime.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_datetime_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_datetime_variant3.phpt delete mode 100644 ext/intl/tests/dateformat_formatObject_datetime_variant4.phpt delete mode 100644 ext/intl/tests/dateformat_format_parse.phpt delete mode 100644 ext/intl/tests/dateformat_format_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_calendar.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_calendar_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_calendar_variant3.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_timezone.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_timezone_variant2.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_timezone_variant3.phpt delete mode 100644 ext/intl/tests/dateformat_get_set_timezone_variant4.phpt delete mode 100644 ext/intl/tests/dateformat_set_timezone_id2.phpt delete mode 100644 ext/intl/tests/dateformat_timezone_arg_variations.phpt delete mode 100644 ext/intl/tests/dateformat_timezone_arg_variations2.phpt delete mode 100644 ext/intl/tests/dateformat_timezone_arg_variations3.phpt delete mode 100644 ext/intl/tests/formatter_format2.phpt delete mode 100644 ext/intl/tests/formatter_format3.phpt delete mode 100644 ext/intl/tests/formatter_format4.phpt delete mode 100644 ext/intl/tests/formatter_format5.phpt delete mode 100644 ext/intl/tests/formatter_get_locale.phpt delete mode 100644 ext/intl/tests/formatter_get_set_text_attribute.phpt delete mode 100644 ext/intl/tests/locale_filter_matches2.phpt delete mode 100644 ext/intl/tests/locale_get_display_name2.phpt delete mode 100644 ext/intl/tests/locale_get_display_name3.phpt delete mode 100644 ext/intl/tests/locale_get_display_name4.phpt delete mode 100644 ext/intl/tests/locale_get_display_region2.phpt delete mode 100644 ext/intl/tests/locale_get_display_region3.phpt delete mode 100644 ext/intl/tests/locale_get_display_script3.phpt delete mode 100644 ext/intl/tests/locale_lookup.phpt delete mode 100644 ext/intl/tests/msgfmt_format_intlcalendar.phpt delete mode 100644 ext/intl/tests/msgfmt_format_intlcalendar_variant2.phpt delete mode 100644 ext/intl/tests/msgfmt_format_intlcalendar_variant3.phpt delete mode 100644 ext/intl/tests/resourcebundle_null_mandatory_args.phpt delete mode 100644 ext/intl/tests/spoofchecker_001.phpt delete mode 100644 ext/intl/tests/spoofchecker_004.phpt delete mode 100644 ext/intl/tests/timezone_getCanonicalID_variant1.phpt delete mode 100644 ext/intl/tests/timezone_getDisplayName_variant2-49+.phpt delete mode 100644 ext/intl/tests/timezone_getDisplayName_variant3-49+.phpt diff --git a/NEWS b/NEWS index 175c645e3661e..bce8cb9ea040b 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,9 @@ PHP NEWS . Added Dom\Element::$outerHTML. (nielsdos) . Added Dom\Element::insertAdjacentHTML(). (nielsdos) +- Intl: + . Bumped ICU requirement to ICU >= 57.1. (cmb) + - Output: . Fixed calculation of aligned buffer size. (cmb) diff --git a/UPGRADING b/UPGRADING index 7ae545929b45f..0a2eb2867489c 100644 --- a/UPGRADING +++ b/UPGRADING @@ -29,6 +29,9 @@ PHP 8.5 UPGRADE NOTES . It is no longer possible to use "array" and "callable" as class alias names in class_alias(). +- Intl: + . The extension now requires at least ICU 57.1. + - LDAP: . ldap_get_option() and ldap_set_option() now throw a ValueError when passing an invalid option. diff --git a/build/php.m4 b/build/php.m4 index e45b22b7665fc..53684cf011d9a 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -1779,7 +1779,7 @@ dnl dnl Common setup macro for ICU. dnl AC_DEFUN([PHP_SETUP_ICU],[ - PKG_CHECK_MODULES([ICU], [icu-uc >= 50.1 icu-io icu-i18n]) + PKG_CHECK_MODULES([ICU], [icu-uc >= 57.1 icu-io icu-i18n]) PHP_EVAL_INCLINE([$ICU_CFLAGS]) PHP_EVAL_LIBLINE([$ICU_LIBS], [$1]) diff --git a/ext/intl/formatter/formatter.stub.php b/ext/intl/formatter/formatter.stub.php index b6f38e35481b3..e335698688d64 100644 --- a/ext/intl/formatter/formatter.stub.php +++ b/ext/intl/formatter/formatter.stub.php @@ -27,10 +27,8 @@ class NumberFormatter public const int PATTERN_RULEBASED = UNKNOWN; /** @cvalue UNUM_IGNORE */ public const int IGNORE = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 53 /** @cvalue UNUM_CURRENCY_ACCOUNTING */ public const int CURRENCY_ACCOUNTING = UNKNOWN; -#endif /** @cvalue UNUM_DEFAULT */ public const int DEFAULT_STYLE = UNKNOWN; diff --git a/ext/intl/formatter/formatter_arginfo.h b/ext/intl/formatter/formatter_arginfo.h index ac7fed58ec908..0e3d8b797e721 100644 --- a/ext/intl/formatter/formatter_arginfo.h +++ b/ext/intl/formatter/formatter_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 79398fd5abd2d1f5176388b67423d937d0e25da4 */ + * Stub hash: caaa6ff408bfd88ec9bb998ffd753f4de971ccff */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_NumberFormatter___construct, 0, 0, 2) ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0) @@ -184,14 +184,12 @@ static zend_class_entry *register_class_NumberFormatter(void) zend_string *const_IGNORE_name = zend_string_init_interned("IGNORE", sizeof("IGNORE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_IGNORE_name, &const_IGNORE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_IGNORE_name); -#if U_ICU_VERSION_MAJOR_NUM >= 53 zval const_CURRENCY_ACCOUNTING_value; ZVAL_LONG(&const_CURRENCY_ACCOUNTING_value, UNUM_CURRENCY_ACCOUNTING); zend_string *const_CURRENCY_ACCOUNTING_name = zend_string_init_interned("CURRENCY_ACCOUNTING", sizeof("CURRENCY_ACCOUNTING") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CURRENCY_ACCOUNTING_name, &const_CURRENCY_ACCOUNTING_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CURRENCY_ACCOUNTING_name); -#endif zval const_DEFAULT_STYLE_value; ZVAL_LONG(&const_DEFAULT_STYLE_value, UNUM_DEFAULT); diff --git a/ext/intl/normalizer/normalizer.h b/ext/intl/normalizer/normalizer.h index 9e71f04aaed83..3c6aa0e6eafc7 100644 --- a/ext/intl/normalizer/normalizer.h +++ b/ext/intl/normalizer/normalizer.h @@ -17,19 +17,6 @@ #include #include -#if U_ICU_VERSION_MAJOR_NUM < 56 -#include - -#define NORMALIZER_FORM_D UNORM_NFD -#define NORMALIZER_NFD UNORM_NFD -#define NORMALIZER_FORM_KD UNORM_NFKD -#define NORMALIZER_NFKD UNORM_NFKD -#define NORMALIZER_FORM_C UNORM_NFC -#define NORMALIZER_NFC UNORM_NFC -#define NORMALIZER_FORM_KC UNORM_NFKC -#define NORMALIZER_NFKC UNORM_NFKC -#define NORMALIZER_DEFAULT UNORM_DEFAULT -#else #include #define NORMALIZER_FORM_D 0x4 @@ -43,6 +30,5 @@ #define NORMALIZER_FORM_KC_CF 0x30 #define NORMALIZER_NFKC_CF NORMALIZER_FORM_KC_CF #define NORMALIZER_DEFAULT NORMALIZER_FORM_C -#endif #endif // NORMALIZER_NORMALIZER_H diff --git a/ext/intl/normalizer/normalizer.stub.php b/ext/intl/normalizer/normalizer.stub.php index aabba3b63cd85..035f43f1bcea7 100644 --- a/ext/intl/normalizer/normalizer.stub.php +++ b/ext/intl/normalizer/normalizer.stub.php @@ -20,12 +20,10 @@ class Normalizer public const int FORM_KC = UNKNOWN; /** @cvalue NORMALIZER_NFKC */ public const int NFKC = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 56 /** @cvalue NORMALIZER_FORM_KC_CF */ public const int FORM_KC_CF = UNKNOWN; /** @cvalue NORMALIZER_NFKC_CF */ public const int NFKC_CF = UNKNOWN; -#endif /** * @tentative-return-type @@ -39,11 +37,9 @@ public static function normalize(string $string, int $form = Normalizer::FORM_C) */ public static function isNormalized(string $string, int $form = Normalizer::FORM_C): bool {} -#if U_ICU_VERSION_MAJOR_NUM >= 56 /** * @tentative-return-type * @alias normalizer_get_raw_decomposition */ public static function getRawDecomposition(string $string, int $form = Normalizer::FORM_C): ?string {} -#endif } diff --git a/ext/intl/normalizer/normalizer_arginfo.h b/ext/intl/normalizer/normalizer_arginfo.h index 5b8d80e3573f8..e5ef152c0423a 100644 --- a/ext/intl/normalizer/normalizer_arginfo.h +++ b/ext/intl/normalizer/normalizer_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: c198614563ff0b54d21c7572fe747ddc3191afa3 */ + * Stub hash: 908a9587edd132a41100be09c9908e088f3fa055 */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_Normalizer_normalize, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) @@ -11,25 +11,19 @@ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_Normalizer_isNor ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, form, IS_LONG, 0, "Normalizer::FORM_C") ZEND_END_ARG_INFO() -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_Normalizer_getRawDecomposition, 0, 1, IS_STRING, 1) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, form, IS_LONG, 0, "Normalizer::FORM_C") ZEND_END_ARG_INFO() -#endif ZEND_FUNCTION(normalizer_normalize); ZEND_FUNCTION(normalizer_is_normalized); -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_FUNCTION(normalizer_get_raw_decomposition); -#endif static const zend_function_entry class_Normalizer_methods[] = { ZEND_RAW_FENTRY("normalize", zif_normalizer_normalize, arginfo_class_Normalizer_normalize, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) ZEND_RAW_FENTRY("isNormalized", zif_normalizer_is_normalized, arginfo_class_Normalizer_isNormalized, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_RAW_FENTRY("getRawDecomposition", zif_normalizer_get_raw_decomposition, arginfo_class_Normalizer_getRawDecomposition, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) -#endif ZEND_FE_END }; @@ -87,22 +81,18 @@ static zend_class_entry *register_class_Normalizer(void) zend_string *const_NFKC_name = zend_string_init_interned("NFKC", sizeof("NFKC") - 1, 1); zend_declare_typed_class_constant(class_entry, const_NFKC_name, &const_NFKC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_NFKC_name); -#if U_ICU_VERSION_MAJOR_NUM >= 56 zval const_FORM_KC_CF_value; ZVAL_LONG(&const_FORM_KC_CF_value, NORMALIZER_FORM_KC_CF); zend_string *const_FORM_KC_CF_name = zend_string_init_interned("FORM_KC_CF", sizeof("FORM_KC_CF") - 1, 1); zend_declare_typed_class_constant(class_entry, const_FORM_KC_CF_name, &const_FORM_KC_CF_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_FORM_KC_CF_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 56 zval const_NFKC_CF_value; ZVAL_LONG(&const_NFKC_CF_value, NORMALIZER_NFKC_CF); zend_string *const_NFKC_CF_name = zend_string_init_interned("NFKC_CF", sizeof("NFKC_CF") - 1, 1); zend_declare_typed_class_constant(class_entry, const_NFKC_CF_name, &const_NFKC_CF_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_NFKC_CF_name); -#endif return class_entry; } diff --git a/ext/intl/normalizer/normalizer_normalize.c b/ext/intl/normalizer/normalizer_normalize.c index eb55eaea5b7fe..38f12134146a5 100644 --- a/ext/intl/normalizer/normalizer_normalize.c +++ b/ext/intl/normalizer/normalizer_normalize.c @@ -17,18 +17,13 @@ #endif #include "php_intl.h" -#if U_ICU_VERSION_MAJOR_NUM < 56 -#include "unicode/unorm.h" -#else #include -#endif #include "normalizer.h" #include "normalizer_class.h" #include "intl_convert.h" #include -#if U_ICU_VERSION_MAJOR_NUM >= 56 static const UNormalizer2 *intl_get_normalizer(zend_long form, UErrorCode *err) {/*{{{*/ switch (form) @@ -74,7 +69,6 @@ static UBool intl_is_normalized(zend_long form, const UChar *uinput, int32_t uin return unorm2_isNormalized(norm, uinput, uinput_len, err); }/*}}}*/ -#endif /* {{{ Normalize a string. */ PHP_FUNCTION( normalizer_normalize ) @@ -116,9 +110,7 @@ PHP_FUNCTION( normalizer_normalize ) break; case NORMALIZER_FORM_C: case NORMALIZER_FORM_KC: -#if U_ICU_VERSION_MAJOR_NUM >= 56 case NORMALIZER_FORM_KC_CF: -#endif break; default: zend_argument_value_error(2, "must be a a valid normalization form"); @@ -151,11 +143,7 @@ PHP_FUNCTION( normalizer_normalize ) uret_buf = eumalloc( uret_len + 1 ); /* normalize */ -#if U_ICU_VERSION_MAJOR_NUM < 56 - size_needed = unorm_normalize( uinput, uinput_len, form, (int32_t) 0 /* options */, uret_buf, uret_len, &status); -#else size_needed = intl_normalize(form, uinput, uinput_len, uret_buf, uret_len, &status); -#endif /* Bail out if an unexpected error occurred. * (U_BUFFER_OVERFLOW_ERROR means that *target buffer is not large enough). @@ -179,11 +167,7 @@ PHP_FUNCTION( normalizer_normalize ) status = U_ZERO_ERROR; /* try normalize again */ -#if U_ICU_VERSION_MAJOR_NUM < 56 - size_needed = unorm_normalize( uinput, uinput_len, form, (int32_t) 0 /* options */, uret_buf, uret_len, &status); -#else size_needed = intl_normalize(form, uinput, uinput_len, uret_buf, uret_len, &status); -#endif /* Bail out if an unexpected error occurred. */ if( U_FAILURE(status) ) { @@ -243,9 +227,7 @@ PHP_FUNCTION( normalizer_is_normalized ) case NORMALIZER_FORM_KD: case NORMALIZER_FORM_C: case NORMALIZER_FORM_KC: -#if U_ICU_VERSION_MAJOR_NUM >= 56 case NORMALIZER_FORM_KC_CF: -#endif break; default: zend_argument_value_error(2, "must be a a valid normalization form"); @@ -275,11 +257,7 @@ PHP_FUNCTION( normalizer_is_normalized ) /* test string */ -#if U_ICU_VERSION_MAJOR_NUM < 56 - uret = unorm_isNormalizedWithOptions( uinput, uinput_len, form, (int32_t) 0 /* options */, &status); -#else uret = intl_is_normalized(form, uinput, uinput_len, &status); -#endif efree( uinput ); @@ -298,7 +276,6 @@ PHP_FUNCTION( normalizer_is_normalized ) /* }}} */ /* {{{ Returns the Decomposition_Mapping property for the given UTF-8 encoded code point. */ -#if U_ICU_VERSION_MAJOR_NUM >= 56 PHP_FUNCTION( normalizer_get_raw_decomposition ) { char* input = NULL; @@ -344,5 +321,4 @@ PHP_FUNCTION( normalizer_get_raw_decomposition ) RETVAL_NEW_STR(intl_convert_utf16_to_utf8(decomposition, decomposition_length, &status)); } -#endif /* }}} */ diff --git a/ext/intl/php_intl.stub.php b/ext/intl/php_intl.stub.php index 8dd938e4ec3f2..f3a80dd511943 100644 --- a/ext/intl/php_intl.stub.php +++ b/ext/intl/php_intl.stub.php @@ -537,9 +537,7 @@ function normalizer_normalize(string $string, int $form = Normalizer::FORM_C): s function normalizer_is_normalized(string $string, int $form = Normalizer::FORM_C): bool {} -#if U_ICU_VERSION_MAJOR_NUM >= 56 function normalizer_get_raw_decomposition(string $string, int $form = Normalizer::FORM_C): ?string {} -#endif /* resourceboundle */ @@ -605,11 +603,9 @@ function intltz_get_tz_data_version(): string|false {} function intltz_get_unknown(): IntlTimeZone {} -#if U_ICU_VERSION_MAJOR_NUM >= 52 function intltz_get_windows_id(string $timezoneId): string|false {} function intltz_get_id_for_windows_id(string $timezoneId, ?string $region = null): string|false {} -#endif function intltz_has_same_rules(IntlTimeZone $timezone, IntlTimeZone $other): bool {} diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h index e094df17b9373..11c585d8df63b 100644 --- a/ext/intl/php_intl_arginfo.h +++ b/ext/intl/php_intl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 7a1b6eb454be08742ba45131de8ec57ec70a88c7 */ + * Stub hash: 168eabfdcbf29189f2327448f104ea98752d1c5a */ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1) ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timezone, "null") @@ -622,12 +622,10 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_is_normalized, 0, 1, ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, form, IS_LONG, 0, "Normalizer::FORM_C") ZEND_END_ARG_INFO() -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_get_raw_decomposition, 0, 1, IS_STRING, 1) ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, form, IS_LONG, 0, "Normalizer::FORM_C") ZEND_END_ARG_INFO() -#endif ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_resourcebundle_create, 0, 2, ResourceBundle, 1) ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1) @@ -732,16 +730,12 @@ ZEND_END_ARG_INFO() #define arginfo_intltz_get_unknown arginfo_intltz_create_default -#if U_ICU_VERSION_MAJOR_NUM >= 52 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0) -ZEND_END_ARG_INFO() +#define arginfo_intltz_get_windows_id arginfo_intltz_get_region ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_id_for_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, region, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -#endif ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_has_same_rules, 0, 2, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, timezone, IntlTimeZone, 0) @@ -938,9 +932,7 @@ ZEND_FUNCTION(msgfmt_get_error_code); ZEND_FUNCTION(msgfmt_get_error_message); ZEND_FUNCTION(normalizer_normalize); ZEND_FUNCTION(normalizer_is_normalized); -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_FUNCTION(normalizer_get_raw_decomposition); -#endif ZEND_FUNCTION(resourcebundle_create); ZEND_FUNCTION(resourcebundle_get); ZEND_FUNCTION(resourcebundle_count); @@ -966,10 +958,8 @@ ZEND_FUNCTION(intltz_get_raw_offset); ZEND_FUNCTION(intltz_get_region); ZEND_FUNCTION(intltz_get_tz_data_version); ZEND_FUNCTION(intltz_get_unknown); -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_FUNCTION(intltz_get_windows_id); ZEND_FUNCTION(intltz_get_id_for_windows_id); -#endif ZEND_FUNCTION(intltz_has_same_rules); ZEND_FUNCTION(intltz_to_date_time_zone); ZEND_FUNCTION(intltz_use_daylight_time); @@ -1129,9 +1119,7 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(msgfmt_get_error_message, arginfo_msgfmt_get_error_message) ZEND_FE(normalizer_normalize, arginfo_normalizer_normalize) ZEND_FE(normalizer_is_normalized, arginfo_normalizer_is_normalized) -#if U_ICU_VERSION_MAJOR_NUM >= 56 ZEND_FE(normalizer_get_raw_decomposition, arginfo_normalizer_get_raw_decomposition) -#endif ZEND_FE(resourcebundle_create, arginfo_resourcebundle_create) ZEND_FE(resourcebundle_get, arginfo_resourcebundle_get) ZEND_FE(resourcebundle_count, arginfo_resourcebundle_count) @@ -1157,10 +1145,8 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(intltz_get_region, arginfo_intltz_get_region) ZEND_FE(intltz_get_tz_data_version, arginfo_intltz_get_tz_data_version) ZEND_FE(intltz_get_unknown, arginfo_intltz_get_unknown) -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_FE(intltz_get_windows_id, arginfo_intltz_get_windows_id) ZEND_FE(intltz_get_id_for_windows_id, arginfo_intltz_get_id_for_windows_id) -#endif ZEND_FE(intltz_has_same_rules, arginfo_intltz_has_same_rules) ZEND_FE(intltz_to_date_time_zone, arginfo_intltz_to_date_time_zone) ZEND_FE(intltz_use_daylight_time, arginfo_intltz_use_daylight_time) diff --git a/ext/intl/tests/breakiter_getLocale_basic.phpt b/ext/intl/tests/breakiter_getLocale_basic.phpt deleted file mode 100644 index d99fe4a38ee07..0000000000000 --- a/ext/intl/tests/breakiter_getLocale_basic.phpt +++ /dev/null @@ -1,19 +0,0 @@ ---TEST-- -IntlBreakIterator::getLocale(): basic test ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- -getLocale(0)); -var_dump($bi->getLocale(1)); -?> ---EXPECT-- -string(4) "root" -string(4) "root" diff --git a/ext/intl/tests/breakiter_getLocale_basic2.phpt b/ext/intl/tests/breakiter_getLocale_basic2.phpt index f274fe09e97ad..ee92043187ae3 100644 --- a/ext/intl/tests/breakiter_getLocale_basic2.phpt +++ b/ext/intl/tests/breakiter_getLocale_basic2.phpt @@ -3,7 +3,6 @@ IntlBreakIterator::getLocale(): basic test --EXTENSIONS-- intl --SKIPIF-- -= 53.1'); ?> = 0) die('skip for ICU < 64.0'); ?> --FILE-- = 51.2'); ?> --FILE-- = 0) - die('skip for ICU < 51.2'); -?> ---FILE-- -format(array($time)) . "\n"; - -//NOT FIXED: -/*$msgf = new MessageFormatter('en_US', -'{1, select, date {{0,date,full}} other {{0,time,h:m:s a V}}}'); - -echo "msgf2: ", $msgf->format(array($time, 'date')), " ", - $msgf->format(array($time, 'time')), "\n"; -*/ - -?> ---EXPECT-- -date: Tuesday, July 7, 2009 8:41:13 PM EDT -msgf: Tuesday, July 7, 2009 8:41:13 PM EDT diff --git a/ext/intl/tests/bug58756_MessageFormatter_variant2.phpt b/ext/intl/tests/bug58756_MessageFormatter_variant2.phpt index 34cf5aa498f23..6bfbbd8a2f0aa 100644 --- a/ext/intl/tests/bug58756_MessageFormatter_variant2.phpt +++ b/ext/intl/tests/bug58756_MessageFormatter_variant2.phpt @@ -4,10 +4,6 @@ Bug #58756: w.r.t MessageFormatter intl --SKIPIF-- = 51.2'); -} if (str_contains(PHP_OS, 'FreeBSD')) { die('xfail Fails on FreeBSD for unknown reason'); } diff --git a/ext/intl/tests/bug62070.phpt b/ext/intl/tests/bug62070.phpt deleted file mode 100644 index c869b6c040875..0000000000000 --- a/ext/intl/tests/bug62070.phpt +++ /dev/null @@ -1,17 +0,0 @@ ---TEST-- -Bug #62070: Collator::getSortKey() returns garbage ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- - ---EXPECT-- -5%2F%3D%3DC%01%09%01%8F%08 diff --git a/ext/intl/tests/bug62070_2.phpt b/ext/intl/tests/bug62070_2.phpt index 79471b46711e5..4ea5519e05375 100644 --- a/ext/intl/tests/bug62070_2.phpt +++ b/ext/intl/tests/bug62070_2.phpt @@ -3,7 +3,6 @@ Bug #62070: Collator::getSortKey() returns garbage --EXTENSIONS-- intl --SKIPIF-- -= 53.1'); ?> = 0) die('skip for ICU < 62.1'); ?> --FILE-- = 50.1.2'); ?> --FILE-- = 50.1.2'); if (version_compare(INTL_ICU_VERSION, '74.1') >= 0) die('skip for ICU < 74.1'); ?> --FILE-- diff --git a/ext/intl/tests/bug74468.phpt b/ext/intl/tests/bug74468.phpt index 7e7513f4c36f3..a547f8585e0c1 100644 --- a/ext/intl/tests/bug74468.phpt +++ b/ext/intl/tests/bug74468.phpt @@ -2,8 +2,6 @@ Bug #74468 Wrong reflection on Collator::sortWithSortKeys --EXTENSIONS-- intl ---SKIPIF-- -= 0) die('skip for ICU < 51.2'); ?> --FILE-- = 53.0'); -?> --FILE-- = 0) - die('skip for ICU < 52.1'); -?> ---FILE-- -setTime(strtotime('2012-02-29 00:00:00 +0000') * 1000); -var_dump( - intlcal_get_day_of_week_type($intlcal, IntlCalendar::DOW_SUNDAY), - $intlcal->getDayOfWeekType(IntlCalendar::DOW_MONDAY), - $intlcal->getDayOfWeekType(IntlCalendar::DOW_TUESDAY), - $intlcal->getDayOfWeekType(IntlCalendar::DOW_FRIDAY), - $intlcal->getDayOfWeekType(IntlCalendar::DOW_SATURDAY) -); - -?> ---EXPECT-- -int(3) -int(0) -int(0) -int(0) -int(1) diff --git a/ext/intl/tests/calendar_getDayOfWeekType_basic2.phpt b/ext/intl/tests/calendar_getDayOfWeekType_basic2.phpt index 8add2b97b591c..1694d87c59b49 100644 --- a/ext/intl/tests/calendar_getDayOfWeekType_basic2.phpt +++ b/ext/intl/tests/calendar_getDayOfWeekType_basic2.phpt @@ -4,11 +4,6 @@ IntlCalendar::getDayOfWeekType() basic test date.timezone=Atlantic/Azores --EXTENSIONS-- intl ---SKIPIF-- -= 52.1'); -?> --FILE-- = 0) die('skip for ICU < 51.2'); ?> ---FILE-- - 'y' , - 'c' => 'i' , - 'a' => 'k' ), - - array( 'a' => 'a' , - 'b' => 'aaa', - 'c' => 'aa' ), - - array( 'a' => 'a' , - 'aaa'=> 'a' , - 'aa' => 'a' ), - - array( '1' => 'abc', - '5' => '!' , - '2' => null , - '7' => '' ), - - array( '1' => '100', - '2' => '25' , - '3' => '36' ), - - array( '1' => 5 , - '2' => '30' , - '3' => 2 ) - ); - - $res_str .= sort_arrays( 'en_US', $test_params ); - - // Sort an array in SORT_STRING mode using en_US locale. - $test_params = array( - array( '1' => '100', - '2' => '25' , - '3' => '36' ), - - array( '1' => 5 , - '2' => '30' , - '3' => 2 ), - - array( '1' => 'd' , - '2' => '' , - '3' => ' a' ), - - array( '1' => 'y' , - '2' => 'k' , - '3' => 'i' ) - ); - - $res_str .= sort_arrays( 'en_US', $test_params, Collator::SORT_STRING ); - - // Sort a non-ASCII array using ru_RU locale. - $test_params = array( - array( 'п' => 'у', - 'б' => 'в', - 'е' => 'а' ), - - array( '1' => 'п', - '4' => '', - '7' => 'd', - '2' => 'пп' ) - ); - - $res_str .= sort_arrays( 'ru_RU', $test_params ); - - - // Sort an array using Lithuanian locale. - $test_params = array( - array( 'd' => 'y', - 'c' => 'i', - 'a' => 'k' ) - ); - - $res_str .= sort_arrays( 'lt_LT', $test_params ); - - return $res_str . "\n"; -} - -include_once( 'ut_common.inc' ); -ut_run(); -?> ---EXPECT-- -Test 1.162b81ac12878b817fc39063097e45b5: -array ( - 'c' => 'i', - 'a' => 'k', - 'd' => 'y', -) - Result: true - -Test 2.93d96e22f692d8a281b0a389f01f8d1e: -array ( - 'a' => 'a', - 'c' => 'aa', - 'b' => 'aaa', -) - Result: true - -Test 3.d5a9747a8bd4c32cb2a705f7e6d8a56f: -array ( - 'a' => 'a', - 'aaa' => 'a', - 'aa' => 'a', -) - Result: true - -Test 4.dcc371022fa1eac76e73b0455d70790a: -array ( - 2 => NULL, - 7 => '', - 5 => '!', - 1 => 'abc', -) - Result: true - -Test 5.99dc71f405b286e03d489061b36e6900: -array ( - 2 => '25', - 3 => '36', - 1 => '100', -) - Result: true - -Test 6.bf5bba243307c9d12934e756ad4be190: -array ( - 3 => 2, - 1 => 5, - 2 => '30', -) - Result: true - -Test 7.e4ee7024c61476e9e7a6c28b5e47df6f: -array ( - 1 => '100', - 2 => '25', - 3 => '36', -) - Result: true - -Test 8.5fa7033dd43784be0db1474eb48b83c8: -array ( - 3 => 2, - 2 => '30', - 1 => 5, -) - Result: true - -Test 9.588cdf4692bc09aa92ffe7e48f9e4579: -array ( - 2 => '', - 3 => ' a', - 1 => 'd', -) - Result: true - -Test 10.be02641a47ebcccd23e4183ca3a415f7: -array ( - 3 => 'i', - 2 => 'k', - 1 => 'y', -) - Result: true - -Test 11.153d9b11d1e5936afc917a94a4e11f34: -array ( - 'е' => 'а', - 'б' => 'в', - 'п' => 'у', -) - Result: true - -Test 12.6eaea3fa21b3b7d006ca7dfa27d4e282: -array ( - 4 => '', - 7 => 'd', - 1 => 'п', - 2 => 'пп', -) - Result: true - -Test 13.8800d48abb960a59002eef77f1d73ae0: -array ( - 'c' => 'i', - 'd' => 'y', - 'a' => 'k', -) - Result: true diff --git a/ext/intl/tests/collator_asort_variant2.phpt b/ext/intl/tests/collator_asort_variant2.phpt index 53c0825abc72c..cfead9f1ff9cd 100644 --- a/ext/intl/tests/collator_asort_variant2.phpt +++ b/ext/intl/tests/collator_asort_variant2.phpt @@ -2,8 +2,6 @@ asort() --EXTENSIONS-- intl ---SKIPIF-- -= 51.2'); ?> --FILE-- = 0) die('skip for ICU < 51.2'); ?> ---FILE-- -'; - case -1: // UCOL_LESS - return '<'; - default: - return '?'; - } -} - -/* - * Compare string pairs in the given array - * using specified locale. - */ -function compare_pairs( $locale, $test_array ) -{ - $res_str = ''; - - $coll = ut_coll_create( $locale ); - - foreach( $test_array as $test_strings ) - { - list( $str1, $str2 ) = $test_strings; - - // Compare strings. - $res_val = cmp_to_char( ut_coll_compare( $coll, $str1, $str2 ) ); - - // Concatenate result strings. - $res_str .= dump( $str1 ) . - ' ' . $res_val . ' ' . - dump( $str2 ) . "\n"; - } - - return $res_str; - -} - -function ut_main() -{ - $res_str = ''; - - // Compare strings using en_US locale. - $test_params = array( - array( 'abc', 'abc' ), - array( 'Abc', 'abc' ), - array( 'a' , 'abc' ), - array( 'a' , '' ), - array( '' , '' ), - array( 'a' , 'b' ), - array( 'ab' , 'b' ), - array( 'ab' , 'a' ), - array( 123 , 'abc' ), - array( 'ac' , null ), - array( '.' , '.' ), - // Try to compare long strings. - array( 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcde', - 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdea'), - array( null , null ) - ); - - $res_str .= compare_pairs( 'en_US', $test_params ); - - - // Compare strings using ru_RU locale. - $test_params = array( - array( 'а', 'б' ), - array( 'а', 'аа' ), - array( 'аб', 'ба' ), - array( 'а', ',' ), - array( 'а', 'b' ), - array( 'а', 'bb' ), - array( 'а', 'ab' ), - array( 'а', null ) - ); - - $res_str .= compare_pairs( 'ru_RU', $test_params ); - - - // Compare strings using lt_LT locale. - $test_params = array( - array( 'y', 'k' ) - ); - - $res_str .= compare_pairs( 'lt_LT', $test_params ); - - return $res_str; -} - -include_once( 'ut_common.inc' ); -ut_run(); -?> ---EXPECT-- -'abc' = 'abc' -'Abc' > 'abc' -'a' < 'abc' -'a' > '' -'' = '' -'a' < 'b' -'ab' < 'b' -'ab' > 'a' -123 < 'abc' -'ac' > NULL -'.' = '.' -'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcde' < 'abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdea' -NULL = NULL -'а' < 'б' -'а' < 'аа' -'аб' < 'ба' -'а' > ',' -'а' > 'b' -'а' > 'bb' -'а' > 'ab' -'а' > NULL -'y' < 'k' diff --git a/ext/intl/tests/collator_compare_variant2.phpt b/ext/intl/tests/collator_compare_variant2.phpt index 6e18b9664ccde..b3188f012b2ee 100644 --- a/ext/intl/tests/collator_compare_variant2.phpt +++ b/ext/intl/tests/collator_compare_variant2.phpt @@ -2,8 +2,6 @@ compare() --EXTENSIONS-- intl ---SKIPIF-- -= 51.2'); ?> --FILE-- = 4.8 && icu < 53.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- - ---EXPECTF-- -Locale: 'EN-US-ODESSA' - ULOC_REQUESTED_LOCALE = 'EN-US-ODESSA' - ULOC_VALID_LOCALE = 'en_US' - ULOC_ACTUAL_LOCALE = 'root' -Locale: 'UK_UA_ODESSA' - ULOC_REQUESTED_LOCALE = 'UK_UA_ODESSA' - ULOC_VALID_LOCALE = 'uk_UA' - ULOC_ACTUAL_LOCALE = 'uk' -Locale: 'uk-ua_CALIFORNIA@currency=;currency=GRN' - ULOC_REQUESTED_LOCALE = 'uk-ua_CALIFORNIA@currency=;currency=GRN' - ULOC_VALID_LOCALE = 'uk_UA' - ULOC_ACTUAL_LOCALE = 'uk' -Locale: '' - ULOC_REQUESTED_LOCALE = '' - ULOC_VALID_LOCALE = '%s' - ULOC_ACTUAL_LOCALE = '%s' -Locale: 'root' - ULOC_REQUESTED_LOCALE = 'root' - ULOC_VALID_LOCALE = 'root' - ULOC_ACTUAL_LOCALE = 'root' -Locale: 'uk@currency=EURO' - ULOC_REQUESTED_LOCALE = 'uk@currency=EURO' - ULOC_VALID_LOCALE = 'uk' - ULOC_ACTUAL_LOCALE = 'uk' -Error creating collator with '12345678911131517192123252729313335373941434547495153575961636567697173757779818385878991939597991234567891113151719212325272931333537394143454749515357596163656769717375777981838587899193959799' locale: Locale string too long, should be no longer than %d characters: U_ILLEGAL_ARGUMENT_ERROR diff --git a/ext/intl/tests/collator_create3.phpt b/ext/intl/tests/collator_create3.phpt deleted file mode 100644 index f45eb7d0c55a5..0000000000000 --- a/ext/intl/tests/collator_create3.phpt +++ /dev/null @@ -1,84 +0,0 @@ ---TEST-- -create() icu >= 53.1 && icu < 54.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 53.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- - ---EXPECTF-- -Locale: 'EN-US-ODESSA' - ULOC_REQUESTED_LOCALE = 'EN-US-ODESSA' - ULOC_VALID_LOCALE = 'en_US' - ULOC_ACTUAL_LOCALE = 'root' -Locale: 'UK_UA_ODESSA' - ULOC_REQUESTED_LOCALE = 'UK_UA_ODESSA' - ULOC_VALID_LOCALE = 'uk' - ULOC_ACTUAL_LOCALE = 'uk' -Locale: 'uk-ua_CALIFORNIA@currency=;currency=GRN' - ULOC_REQUESTED_LOCALE = 'uk-ua_CALIFORNIA@currency=;currency=GRN' - ULOC_VALID_LOCALE = 'root' - ULOC_ACTUAL_LOCALE = 'root' -Locale: '' - ULOC_REQUESTED_LOCALE = '' - ULOC_VALID_LOCALE = '%s' - ULOC_ACTUAL_LOCALE = '%s' -Locale: 'root' - ULOC_REQUESTED_LOCALE = 'root' - ULOC_VALID_LOCALE = 'root' - ULOC_ACTUAL_LOCALE = 'root' -Locale: 'uk@currency=EURO' - ULOC_REQUESTED_LOCALE = 'uk@currency=EURO' - ULOC_VALID_LOCALE = 'uk' - ULOC_ACTUAL_LOCALE = 'uk' -Error creating collator with '12345678911131517192123252729313335373941434547495153575961636567697173757779818385878991939597991234567891113151719212325272931333537394143454749515357596163656769717375777981838587899193959799' locale: Locale string too long, should be no longer than %d characters: U_ILLEGAL_ARGUMENT_ERROR diff --git a/ext/intl/tests/collator_create4.phpt b/ext/intl/tests/collator_create4.phpt index 690b521ab3203..5747d366dcfa4 100644 --- a/ext/intl/tests/collator_create4.phpt +++ b/ext/intl/tests/collator_create4.phpt @@ -2,8 +2,6 @@ create() icu >= 53.1 --EXTENSIONS-- intl ---SKIPIF-- -= 54.1'); ?> --FILE-- = 4.8 and < 51.2 */ -if (version_compare(INTL_ICU_VERSION, '51.2') >= 0) die('skip for ICU < 51.2'); ?> ---FILE-- - ---EXPECT-- -source: abc -key: 27292b01070107 -source: abd -key: 27292d01070107 -source: aaa -key: 27272701070107 -source: аа -key: 5c0a0a01060106 -source: а -key: 5c0a01050105 -source: z -key: 5901050105 -source: -key: 0101 -source: -key: 0101 -source: 3 -key: 1801050105 -source: y -key: 5701050105 -source: i -key: 3701050105 -source: k -key: 3b01050105 -source: абг -key: 5c0a161a01070107 -source: абв -key: 5c0a161801070107 -source: жжж -key: 5c3a3a3a01070107 -source: эюя -key: 5d3b3f4501070107 -source: абг -key: 5c0a161a01070107 -source: абв -key: 5c0a161801070107 -source: жжж -key: 5c3a3a3a01070107 -source: эюя -key: 5d3b3f4501070107 diff --git a/ext/intl/tests/collator_get_sort_key_variant2.phpt b/ext/intl/tests/collator_get_sort_key_variant2.phpt deleted file mode 100644 index 7dcff2785afc8..0000000000000 --- a/ext/intl/tests/collator_get_sort_key_variant2.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -collator_get_sort_key() ---EXTENSIONS-- -intl ---SKIPIF-- -= 51.2'); ?> -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- - ---EXPECT-- -source: abc -key: 27292b01070107 -source: abd -key: 27292d01070107 -source: aaa -key: 27272701070107 -source: аа -key: 5c0a0a01060106 -source: а -key: 5c0a01050105 -source: z -key: 5901050105 -source: -key: 0101 -source: 3 -key: 1801050105 -source: y -key: 5701050105 -source: i -key: 3701050105 -source: k -key: 3b01050105 -source: абг -key: 260a161a01070107 -source: абв -key: 260a161801070107 -source: жжж -key: 263a3a3a01070107 -source: эюя -key: 273b3f4501070107 -source: абг -key: 5c0a161a01070107 -source: абв -key: 5c0a161801070107 -source: жжж -key: 5c3a3a3a01070107 -source: эюя -key: 5d3b3f4501070107 diff --git a/ext/intl/tests/collator_get_sort_key_variant3.phpt b/ext/intl/tests/collator_get_sort_key_variant3.phpt deleted file mode 100644 index 1281112c5ae08..0000000000000 --- a/ext/intl/tests/collator_get_sort_key_variant3.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -collator_get_sort_key() icu >= 53.1 && icu < 54.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 53.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- - ---EXPECT-- -source: abc -key: 292b2d01070107 -source: abd -key: 292b2f01070107 -source: aaa -key: 29292901070107 -source: аа -key: 5e090901060106 -source: а -key: 5e0901050105 -source: z -key: 5b01050105 -source: -key: 0101 -source: 3 -key: 1a01050105 -source: y -key: 5901050105 -source: i -key: 3901050105 -source: k -key: 3d01050105 -source: абг -key: 2809131701070107 -source: абв -key: 2809131501070107 -source: жжж -key: 2833333301070107 -source: эюя -key: 28cdd1d501070107 -source: абг -key: 5e09131701070107 -source: абв -key: 5e09131501070107 -source: жжж -key: 5e33333301070107 -source: эюя -key: 5ecdd1d501070107 diff --git a/ext/intl/tests/collator_get_sort_key_variant4.phpt b/ext/intl/tests/collator_get_sort_key_variant4.phpt deleted file mode 100644 index d2314eed70054..0000000000000 --- a/ext/intl/tests/collator_get_sort_key_variant4.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -collator_get_sort_key() icu >= 54.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 54.1'); ?> -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- - ---EXPECT-- -source: abc -key: 292b2d01070107 -source: abd -key: 292b2f01070107 -source: aaa -key: 29292901070107 -source: аа -key: 5e060601060106 -source: а -key: 5e0601050105 -source: z -key: 5b01050105 -source: -key: 0101 -source: 3 -key: 1a01050105 -source: y -key: 5901050105 -source: i -key: 3901050105 -source: k -key: 3d01050105 -source: абг -key: 2806101401070107 -source: абв -key: 2806101201070107 -source: жжж -key: 2830303001070107 -source: эюя -key: 28ccd0d401070107 -source: абг -key: 5e06101401070107 -source: абв -key: 5e06101201070107 -source: жжж -key: 5e30303001070107 -source: эюя -key: 5eccd0d401070107 diff --git a/ext/intl/tests/collator_get_sort_key_variant5.phpt b/ext/intl/tests/collator_get_sort_key_variant5.phpt deleted file mode 100644 index 98a0c758789a2..0000000000000 --- a/ext/intl/tests/collator_get_sort_key_variant5.phpt +++ /dev/null @@ -1,98 +0,0 @@ ---TEST-- -collator_get_sort_key() icu >= 55.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 55.1'); ?> -= 0) die('skip for ICU < 56.1'); ?> ---FILE-- - ---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: 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 diff --git a/ext/intl/tests/collator_get_sort_key_variant6.phpt b/ext/intl/tests/collator_get_sort_key_variant6.phpt index 75e7031379792..07cce1a0c36df 100644 --- a/ext/intl/tests/collator_get_sort_key_variant6.phpt +++ b/ext/intl/tests/collator_get_sort_key_variant6.phpt @@ -3,7 +3,6 @@ collator_get_sort_key() icu >= 56.1 --EXTENSIONS-- intl --SKIPIF-- -= 56.1'); ?> = 0) die('skip for ICU < 62.1'); ?> --FILE-- = 0) die('skip for ICU < 51.2'); ?> ---FILE-- - ---EXPECT-- -Test 1.e8f1cd28133d79ecd660002f1c660d0e: -array ( - 0 => 'aaa', - 1 => 'abc', - 2 => 'abd', -) - Result: true - -Test 2.c2ded12173dd2996927378cae37eb275: -array ( - 0 => '_', - 1 => '1', - 2 => 'm', -) - Result: true - -Test 3.54071c968d71cb98c5d379145f8d7d38: -array ( - 0 => 'a', - 1 => 'aa', - 2 => 'aaa', -) - Result: true - -Test 4.19abe63d6f6dfef65b0e3c9ab4826b07: -array ( - 0 => 'ab', - 1 => 'b', - 2 => 'ba', -) - Result: true - -Test 5.9a8dc0a9bc771368c2f1fc3d02754610: -array ( - 0 => 'a', - 1 => 'c', - 2 => 'e', -) - Result: true - -Test 6.ab530b060e5e54a65bfb8b9f8fc61870: -array ( - 0 => '25', - 1 => '36', - 2 => '100', -) - Result: true - -Test 7.0718dd838509017bded2ed307a6e785f: -array ( - 0 => 2, - 1 => 5, - 2 => '30', -) - Result: true - -Test 8.923d65739c5219c634616ffd100a50e4: -array ( - 0 => '', - 1 => ' a', - 2 => 'd', -) - Result: true - -Test 9.289bc2f28e87d3201ec9d7e8477ae1b0: -array ( - 0 => ' a', - 1 => 'd ', - 2 => 'f ', -) - Result: true - -Test 10.de0fd958484f2377a645835d7fbcf124: -array ( - 0 => NULL, - 1 => '3', - 2 => 'a', -) - Result: true - -Test 11.dd2b8f0adb37c45d528cad1a0cc0f361: -array ( - 0 => 'i', - 1 => 'k', - 2 => 'y', -) - Result: true - -Test 12.1e6b4d6f7df9d4580317634ea46d8208: -array ( - 0 => '100', - 1 => '25', - 2 => '36', -) - Result: true - -Test 13.cec115dc9850b98dfbdf102efa09e61b: -array ( - 0 => 2, - 1 => '30', - 2 => 5, -) - Result: true - -Test 14.923d65739c5219c634616ffd100a50e4: -array ( - 0 => '', - 1 => ' a', - 2 => 'd', -) - Result: true - -Test 15.dd2b8f0adb37c45d528cad1a0cc0f361: -array ( - 0 => 'i', - 1 => 'k', - 2 => 'y', -) - Result: true - -Test 16.ca0e38a2e3147dd97070f2128f140934: -array ( - 0 => 'abc', - 1 => 'ааа', - 2 => 'абв', - 3 => 'абг', -) - Result: true - -Test 17.91480b10473a0c96a4cd6d88c23c577a: -array ( - 0 => 'а', - 1 => 'аа', - 2 => 'ааа', -) - Result: true - -Test 18.fdd3fe3981476039164aa000bf9177f2: -array ( - 0 => 'i', - 1 => 'y', - 2 => 'k', -) - Result: true diff --git a/ext/intl/tests/collator_sort_variant2.phpt b/ext/intl/tests/collator_sort_variant2.phpt index 30fcc5a5ba30a..01c33bcc1f1a7 100644 --- a/ext/intl/tests/collator_sort_variant2.phpt +++ b/ext/intl/tests/collator_sort_variant2.phpt @@ -2,8 +2,6 @@ sort() --EXTENSIONS-- intl ---SKIPIF-- -= 51.2'); ?> --FILE-- = 0) die('skip for ICU < 51.2'); ?> ---FILE-- - ---EXPECT-- -Test 1.e8f1cd28133d79ecd660002f1c660d0e: -array ( - 0 => 'aaa', - 1 => 'abc', - 2 => 'abd', -) - Result: true - -Test 2.c2ded12173dd2996927378cae37eb275: -array ( - 0 => '_', - 1 => '1', - 2 => 'm', -) - Result: true - -Test 3.54071c968d71cb98c5d379145f8d7d38: -array ( - 0 => 'a', - 1 => 'aa', - 2 => 'aaa', -) - Result: true - -Test 4.19abe63d6f6dfef65b0e3c9ab4826b07: -array ( - 0 => 'ab', - 1 => 'b', - 2 => 'ba', -) - Result: true - -Test 5.9a8dc0a9bc771368c2f1fc3d02754610: -array ( - 0 => 'a', - 1 => 'c', - 2 => 'e', -) - Result: true - -Test 6.923d65739c5219c634616ffd100a50e4: -array ( - 0 => '', - 1 => ' a', - 2 => 'd', -) - Result: true - -Test 7.289bc2f28e87d3201ec9d7e8477ae1b0: -array ( - 0 => ' a', - 1 => 'd ', - 2 => 'f ', -) - Result: true - -Test 8.de0fd958484f2377a645835d7fbcf124: -array ( - 0 => NULL, - 1 => '3', - 2 => 'a', -) - Result: true - -Test 9.dd2b8f0adb37c45d528cad1a0cc0f361: -array ( - 0 => 'i', - 1 => 'k', - 2 => 'y', -) - Result: true - -Test 10.ca0e38a2e3147dd97070f2128f140934: -array ( - 0 => 'abc', - 1 => 'ааа', - 2 => 'абв', - 3 => 'абг', -) - Result: true - -Test 11.91480b10473a0c96a4cd6d88c23c577a: -array ( - 0 => 'а', - 1 => 'аа', - 2 => 'ааа', -) - Result: true - -Test 12.fdd3fe3981476039164aa000bf9177f2: -array ( - 0 => 'i', - 1 => 'y', - 2 => 'k', -) - Result: true diff --git a/ext/intl/tests/collator_sort_with_sort_keys_variant2.phpt b/ext/intl/tests/collator_sort_with_sort_keys_variant2.phpt index 72ea613cbe1f9..89bad4bf1b10c 100644 --- a/ext/intl/tests/collator_sort_with_sort_keys_variant2.phpt +++ b/ext/intl/tests/collator_sort_with_sort_keys_variant2.phpt @@ -2,8 +2,6 @@ sort_with_sort_keys() --EXTENSIONS-- intl ---SKIPIF-- -= 51.2'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format(strtotime('2012-01-01 00:00:00 +0000'))); -var_dump($fmt2->format(strtotime('2012-01-01 00:00:00 +0000'))); -var_dump($fmt3->format(strtotime('2012-01-01 00:00:00 +0000'))); - -new IntlDateFormatter('en_US@calendar=hebrew', - IntlDateFormatter::FULL, - IntlDateFormatter::FULL, - 'GMT+05:12', - -1); -?> -==DONE== ---EXPECTF-- -string(44) "Sunday, January 1, 2012 5:12:00 AM GMT+05:12" -string(44) "Sunday, January 1, 2012 5:12:00 AM GMT+05:12" -string(42) "Sunday, Tevet 6, 5772 5:12:00 AM GMT+05:12" - -Fatal error: Uncaught IntlException: IntlDateFormatter::__construct(): datefmt_create: Invalid value for calendar type; it must be one of IntlDateFormatter::TRADITIONAL (locale's default calendar) or IntlDateFormatter::GREGORIAN. Alternatively, it can be an IntlCalendar object in %sdateformat_calendars.php:%d -Stack trace: -#0 %sdateformat_calendars.php(%d): IntlDateFormatter->__construct('en_US@calendar=...', 0, 0, 'GMT+05:12', -1) -#1 {main} - thrown in %sdateformat_calendars.php on line %d diff --git a/ext/intl/tests/dateformat_calendars_variant2.phpt b/ext/intl/tests/dateformat_calendars_variant2.phpt deleted file mode 100644 index 410d40f07f786..0000000000000 --- a/ext/intl/tests/dateformat_calendars_variant2.phpt +++ /dev/null @@ -1,49 +0,0 @@ ---TEST-- -IntlDateFormatter, calendars and time zone ---INI-- -date.timezone=Atlantic/Azores ---EXTENSIONS-- -intl ---SKIPIF-- -= 51.2'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format(strtotime('2012-01-01 00:00:00 +0000'))); -var_dump($fmt2->format(strtotime('2012-01-01 00:00:00 +0000'))); -var_dump($fmt3->format(strtotime('2012-01-01 00:00:00 +0000'))); - -new IntlDateFormatter('en_US@calendar=hebrew', - IntlDateFormatter::FULL, - IntlDateFormatter::FULL, - 'GMT+05:12', - -1); -?> -==DONE== ---EXPECTF-- -string(47) "Sunday, January 1, 2012 at 5:12:00 AM GMT+05:12" -string(47) "Sunday, January 1, 2012 at 5:12:00 AM GMT+05:12" -string(48) "Sunday, Tevet 6, 5772 AM at 5:12:00 AM GMT+05:12" - -Fatal error: Uncaught IntlException: IntlDateFormatter::__construct(): datefmt_create: Invalid value for calendar type; it must be one of IntlDateFormatter::TRADITIONAL (locale's default calendar) or IntlDateFormatter::GREGORIAN. Alternatively, it can be an IntlCalendar object in %sdateformat_calendars_variant2.php:27 -Stack trace: -#0 %sdateformat_calendars_variant2.php(27): IntlDateFormatter->__construct('en_US@calendar=...', 0, 0, 'GMT+05:12', -1) -#1 {main} - thrown in %sdateformat_calendars_variant2.php on line 27 diff --git a/ext/intl/tests/dateformat_calendars_variant3.phpt b/ext/intl/tests/dateformat_calendars_variant3.phpt index 1ad970d07d0e6..037d8066a0815 100644 --- a/ext/intl/tests/dateformat_calendars_variant3.phpt +++ b/ext/intl/tests/dateformat_calendars_variant3.phpt @@ -5,7 +5,6 @@ date.timezone=Atlantic/Azores --EXTENSIONS-- intl --SKIPIF-- -= 54.1'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format($ts), "\n"; - -$cal = IntlCalendar::createInstance('UTC', 'en@calendar=islamic'); -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, $cal); -echo $df->format($ts), "\n"; - -//override calendar's timezone -$cal = new IntlGregorianCalendar('UTC', NULL); -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Madrid', $cal); -echo $df->format($ts), "\n"; - -//default calendar is gregorian -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0); -echo $df->format($ts), "\n"; - -//try now with traditional -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, NULL, IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -//the timezone can be overridden when not specifying a calendar -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, 'UTC', IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'UTC', 0); -echo $df->format($ts), "\n"; - -?> ---EXPECTF-- -domingo%S 1 de enero de 2012 00:00:00 GMT -domingo%S 8 de Safar de 1433 00:00:00 GMT -domingo%S 1 de enero de 2012 01:00:00 Hora estándar de Europa Central -sábado%S 31 de diciembre de 2011 d.C. 23:00:00 Hora %Sde las Azores -sábado%S 7 de Safar de 1433 AH 23:00:00 Hora %Sde las Azores -domingo%S 8 de Safar de 1433 AH 00:00:00 GMT -domingo%S 1 de enero de 2012 00:00:00 GMT diff --git a/ext/intl/tests/dateformat_create_cal_arg_variant2.phpt b/ext/intl/tests/dateformat_create_cal_arg_variant2.phpt deleted file mode 100644 index 08de3f60eda7b..0000000000000 --- a/ext/intl/tests/dateformat_create_cal_arg_variant2.phpt +++ /dev/null @@ -1,51 +0,0 @@ ---TEST-- -IntlDateFormatter: several forms of the calendar arg ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -format($ts), "\n"; - -$cal = IntlCalendar::createInstance('UTC', 'en@calendar=islamic'); -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, $cal); -echo $df->format($ts), "\n"; - -//override calendar's timezone -$cal = new IntlGregorianCalendar('UTC', NULL); -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Madrid', $cal); -echo $df->format($ts), "\n"; - -//default calendar is gregorian -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0); -echo $df->format($ts), "\n"; - -//try now with traditional -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, NULL, IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -//the timezone can be overridden when not specifying a calendar -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, 'UTC', IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'UTC', 0); -echo $df->format($ts), "\n"; - -?> ---EXPECTF-- -domingo%S 1 de enero de 2012 00:00:00 GMT -domingo%S 8 de Safar de 1433 00:00:00 GMT -domingo%S 1 de enero de 2012 01:00:00 Hora estándar de Europa central -sábado%S 31 de diciembre de 2011 d.C. 23:00:00 Hora %Sde las Azores -sábado%S 7 de Safar de 1433 AH 23:00:00 Hora %Sde las Azores -domingo%S 8 de Safar de 1433 AH 00:00:00 GMT -domingo%S 1 de enero de 2012 00:00:00 GMT diff --git a/ext/intl/tests/dateformat_create_cal_arg_variant3.phpt b/ext/intl/tests/dateformat_create_cal_arg_variant3.phpt deleted file mode 100644 index 6c4814ee4391c..0000000000000 --- a/ext/intl/tests/dateformat_create_cal_arg_variant3.phpt +++ /dev/null @@ -1,52 +0,0 @@ ---TEST-- -IntlDateFormatter: several forms of the calendar arg ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format($ts), "\n"; - -$cal = IntlCalendar::createInstance('UTC', 'en@calendar=islamic'); -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, $cal); -echo $df->format($ts), "\n"; - -//override calendar's timezone -$cal = new IntlGregorianCalendar('UTC', NULL); -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Madrid', $cal); -echo $df->format($ts), "\n"; - -//default calendar is gregorian -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0); -echo $df->format($ts), "\n"; - -//try now with traditional -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, NULL, IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -//the timezone can be overridden when not specifying a calendar -$df = new IntlDateFormatter('es_ES@calendar=islamic', 0, 0, 'UTC', IntlDateFormatter::TRADITIONAL); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'UTC', 0); -echo $df->format($ts), "\n"; - -?> ---EXPECTF-- -domingo%S 1 de enero de 2012, 0:00:00 (GMT) -domingo%S 8 de Safar de 1433, 0:00:00 (GMT) -domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) -sábado%S 31 de diciembre de 2011 d. C., 23:00:00 (Hora estándar %Sde las Azores) -sábado%S 7 de Safar de 1433 AH, 23:00:00 (Hora estándar %Sde las Azores) -domingo%S 8 de Safar de 1433 AH, 0:00:00 (GMT) -domingo%S 1 de enero de 2012, 0:00:00 (GMT) diff --git a/ext/intl/tests/dateformat_create_cal_arg_variant4.phpt b/ext/intl/tests/dateformat_create_cal_arg_variant4.phpt index 2c0a33d4a5153..1571e08740edd 100644 --- a/ext/intl/tests/dateformat_create_cal_arg_variant4.phpt +++ b/ext/intl/tests/dateformat_create_cal_arg_variant4.phpt @@ -3,7 +3,6 @@ IntlDateFormatter: several forms of the calendar arg --EXTENSIONS-- intl --SKIPIF-- -= 54.1'); ?> = 0) die('skip for ICU < 58.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - 24 , - 'tm_min' => 3, - 'tm_hour' => 19, - 'tm_mday' => 3, - 'tm_mon' => 3, - 'tm_year' => 105, - ); - $localtime_arr2 = array ( - 'tm_sec' => 21, - 'tm_min' => 5, - 'tm_hour' => 7, - 'tm_mday' => 13, - 'tm_mon' => 4, - 'tm_year' => 205, - ); - $localtime_arr3 = array ( - 'tm_sec' => 11, - 'tm_min' => 13, - 'tm_hour' => 0, - 'tm_mday' => 17, - 'tm_mon' => 11, - 'tm_year' => -5 - ); - - $localtime_arr = array ( - $localtime_arr1, - $localtime_arr2, - $localtime_arr3 - ); - - $d1 = new DateTime("2010-01-01 01:02:03", new DateTimeZone("UTC")); - $d2 = new DateTime("2000-12-31 03:04:05", new DateTimeZone("UTC")); - $d2->setTimezone(new DateTimeZone("PDT")); - $dates = array( - $d1, - $d2, - new StdClass(), - ); - - //Test format with input as a timestamp : integer - foreach( $time_arr as $timestamp_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput timestamp is : $timestamp_entry"; - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) - { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN); - $formatted = ut_datefmt_format( $fmt , $timestamp_entry); - $res_str .= "\nFormatted timestamp is : $formatted"; - } - } - } - - //Test format with input as a localtime :array - foreach( $localtime_arr as $localtime_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput localtime is : "; - foreach( $localtime_entry as $key => $value){ - $res_str .= "$key : '$value' , "; - } - - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) - { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN ); - $formatted1 = ut_datefmt_format( $fmt , $localtime_entry); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nFormatted localtime_array is : $formatted1"; - }else{ - $res_str .= "\nError while formatting as: '".intl_get_error_message()."'"; - } - } - } - } - - foreach($dates as $date_entry) { - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) { - $res_str .= "\n------------"; - $res_str .= "\nDate is: ".var_export($date_entry, true); - $res_str .= "\n------------"; - - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN ); - $formatted1 = ut_datefmt_format( $fmt , $date_entry); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nFormatted DateTime is : $formatted1"; - }else{ - $res_str .= "\nError while formatting as: '".intl_get_error_message()."'"; - } - } - } - } - - return $res_str; - -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); -?> ---EXPECT-- ------------- - -Input timestamp is : 0 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 2:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 2:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969 2:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69 2:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 02:00 PM ------------- - -Input timestamp is : -1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 17, 1969 4:40:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 17, 1969 4:40:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 17, 1969 4:40:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/17/69 4:40 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691217 04:40 PM ------------- - -Input timestamp is : 1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, January 14, 1970 11:20:00 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 14, 1970 11:20:00 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 14, 1970 11:20:00 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 1/14/70 11:20 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19700114 11:20 AM ------------- - -Input timestamp is : 2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Sunday, September 18, 2039 1:06:40 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : September 18, 2039 1:06:40 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Sep 18, 2039 1:06:40 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 9/18/39 1:06 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 20390918 01:06 PM ------------- - -Input timestamp is : -2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Saturday, April 14, 1900 2:53:20 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : April 14, 1900 2:53:20 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Apr 14, 1900 2:53:20 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 4/14/00 2:53 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19000414 02:53 PM ------------- - -Input timestamp is : 90099999 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, November 8, 1972 9:46:39 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : November 8, 1972 9:46:39 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Nov 8, 1972 9:46:39 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 11/8/72 9:46 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19721108 09:46 AM ------------- - -Input timestamp is : 3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 3:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 3:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969 3:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69 3:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 03:00 PM ------------- - -Input timestamp is : -3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 1:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 1:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969 1:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69 1:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 01:00 PM ------------- - -Input localtime is : tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_mday : '3' , tm_mon : '3' , tm_year : '105' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Sunday, April 3, 2005 7:03:24 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : April 3, 2005 7:03:24 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Apr 3, 2005 7:03:24 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 4/3/05 7:03 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 20050403 07:03 PM ------------- - -Input localtime is : tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_mday : '13' , tm_mon : '4' , tm_year : '205' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Wednesday, May 13, 2105 7:05:21 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : May 13, 2105 7:05:21 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : May 13, 2105 7:05:21 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 5/13/05 7:05 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 21050513 07:05 AM ------------- - -Input localtime is : tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_mday : '17' , tm_mon : '11' , tm_year : '-5' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Tuesday, December 17, 1895 12:13:11 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : December 17, 1895 12:13:11 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Dec 17, 1895 12:13:11 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 12/17/95 12:13 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 18951217 12:13 AM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : Thursday, December 31, 2009 3:02:03 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : December 31, 2009 3:02:03 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : Dec 31, 2009 3:02:03 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : 12/31/09 3:02 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : 20091231 03:02 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 2, - 'timezone' => 'PDT', -)) ------------- -Formatted DateTime is : Saturday, December 30, 2000 5:04:05 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 2, - 'timezone' => 'PDT', -)) ------------- -Formatted DateTime is : December 30, 2000 5:04:05 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 2, - 'timezone' => 'PDT', -)) ------------- -Formatted DateTime is : Dec 30, 2000 5:04:05 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 2, - 'timezone' => 'PDT', -)) ------------- -Formatted DateTime is : 12/30/00 5:04 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 2, - 'timezone' => 'PDT', -)) ------------- -Formatted DateTime is : 20001230 05:04 PM ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' diff --git a/ext/intl/tests/dateformat_formatObject_calendar.phpt b/ext/intl/tests/dateformat_formatObject_calendar.phpt deleted file mode 100644 index 4c85bcfaa74db..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_calendar.phpt +++ /dev/null @@ -1,37 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): IntlCalendar tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -setTime(strtotime('2012-01-01 00:00:00')*1000.); -echo IntlDateFormatter::formatObject($cal), "\n"; -echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL, "en-US"), "\n"; - -?> ---EXPECTF-- -01/01/2012 00:00:00 -Domingo, 1 de Janeiro de 2012 0:00:00 Hora %Sda Europa Ocidental -Jan 1, 2012 12:00:00 AM -1/1/12 12:00:00 AM Western European %STime -Sun 2012-01-1 00,00,00.000 Portugal Time (Lisbon) -Domingo, 1 de Janeiro de 2012 5:00:00 GMT+03:00 -06/02/1433 00:00:00 -Sunday, Safar 6, 1433 12:00:00 AM Western European %STime diff --git a/ext/intl/tests/dateformat_formatObject_calendar_variant2.phpt b/ext/intl/tests/dateformat_formatObject_calendar_variant2.phpt deleted file mode 100644 index c6123f27347f0..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_calendar_variant2.phpt +++ /dev/null @@ -1,37 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): IntlCalendar tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -setTime(strtotime('2012-01-01 00:00:00')*1000.); -echo IntlDateFormatter::formatObject($cal), "\n"; -echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL, "en-US"), "\n"; - -?> ---EXPECTF-- -01/01/2012, 00:00:00 -Domingo, 1 de Janeiro de 2012 às 00:00:00 Hora %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -Domingo, 1 de Janeiro de 2012 às 05:00:00 GMT+03:00 -06/02/1433, 00:00:00 -Sunday, Safar 6, 1433 at 12:00:00 AM Western European Standard Time diff --git a/ext/intl/tests/dateformat_formatObject_calendar_variant3.phpt b/ext/intl/tests/dateformat_formatObject_calendar_variant3.phpt deleted file mode 100644 index 343074ccb9387..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_calendar_variant3.phpt +++ /dev/null @@ -1,38 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): IntlCalendar tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -setTime(strtotime('2012-01-01 00:00:00')*1000.); -echo IntlDateFormatter::formatObject($cal), "\n"; -echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL, "en-US"), "\n"; - -?> ---EXPECTF-- -01/01/2012, 00:00:00 -domingo, 1 de Janeiro de 2012 às 00:00:00 Hora Padrão %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -domingo, 1 de Janeiro de 2012 às 05:00:00 GMT+03:00 -06/02/1433, 00:00:00 -Sunday, Safar 6, 1433 at 12:00:00 AM Western European Standard Time diff --git a/ext/intl/tests/dateformat_formatObject_calendar_variant4.phpt b/ext/intl/tests/dateformat_formatObject_calendar_variant4.phpt deleted file mode 100644 index 828585c6e3543..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_calendar_variant4.phpt +++ /dev/null @@ -1,38 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): IntlCalendar tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 54.1'); ?> -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- -setTime(strtotime('2012-01-01 00:00:00')*1000.); -echo IntlDateFormatter::formatObject($cal), "\n"; -echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL, "en-US"), "\n"; - -?> ---EXPECTF-- -01/01/2012, 00:00:00 -domingo, 1 de janeiro de 2012 às 00:00:00 Hora Padrão %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -domingo, 1 de janeiro de 2012 às 05:00:00 GMT+03:00 -06/02/1433, 00:00:00 -Sunday, Safar 6, 1433 at 12:00:00 AM Western European Standard Time diff --git a/ext/intl/tests/dateformat_formatObject_calendar_variant5.phpt b/ext/intl/tests/dateformat_formatObject_calendar_variant5.phpt index 9eb9f39a917a7..096d04bbb514d 100644 --- a/ext/intl/tests/dateformat_formatObject_calendar_variant5.phpt +++ b/ext/intl/tests/dateformat_formatObject_calendar_variant5.phpt @@ -3,7 +3,6 @@ IntlDateFormatter::formatObject(): IntlCalendar tests --EXTENSIONS-- intl --SKIPIF-- -= 55.1'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECTF-- -01/01/2012 00:00:00 -Domingo, 1 de Janeiro de 2012 0:00:00 Hora %Sda Europa Ocidental -Jan 1, 2012 12:00:00 AM -1/1/12 12:00:00 AM Western European %STime -Sun 2012-01-1 00,00,00.000 Portugal Time (Lisbon) -Domingo, 1 de Janeiro de 2012 5:00:00 GMT+03:00 diff --git a/ext/intl/tests/dateformat_formatObject_datetime_variant2.phpt b/ext/intl/tests/dateformat_formatObject_datetime_variant2.phpt deleted file mode 100644 index ada1f0a22e449..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_datetime_variant2.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): DateTime tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- - ---EXPECTF-- -01/01/2012, 00:00:00 -Domingo, 1 de Janeiro de 2012 às 00:00:00 Hora %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -Domingo, 1 de Janeiro de 2012 às 05:00:00 GMT+03:00 diff --git a/ext/intl/tests/dateformat_formatObject_datetime_variant3.phpt b/ext/intl/tests/dateformat_formatObject_datetime_variant3.phpt deleted file mode 100644 index 9abbea5469e9d..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_datetime_variant3.phpt +++ /dev/null @@ -1,31 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): DateTime tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- - ---EXPECTF-- -01/01/2012, 00:00:00 -domingo, 1 de Janeiro de 2012 às 00:00:00 Hora Padrão %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -domingo, 1 de Janeiro de 2012 às 05:00:00 GMT+03:00 diff --git a/ext/intl/tests/dateformat_formatObject_datetime_variant4.phpt b/ext/intl/tests/dateformat_formatObject_datetime_variant4.phpt deleted file mode 100644 index 4ff1bff5bcfb8..0000000000000 --- a/ext/intl/tests/dateformat_formatObject_datetime_variant4.phpt +++ /dev/null @@ -1,31 +0,0 @@ ---TEST-- -IntlDateFormatter::formatObject(): DateTime tests ---EXTENSIONS-- -intl ---SKIPIF-- -= 54.1'); ?> -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- - ---EXPECTF-- -01/01/2012, 00:00:00 -domingo, 1 de janeiro de 2012 às 00:00:00 Hora Padrão %Sda Europa Ocidental -Jan 1, 2012, 12:00:00 AM -1/1/12, 12:00:00 AM Western European Standard %STime -Sun 2012-01-1 00,00,00.000 Portugal Time -domingo, 1 de janeiro de 2012 às 05:00:00 GMT+03:00 diff --git a/ext/intl/tests/dateformat_formatObject_datetime_variant5.phpt b/ext/intl/tests/dateformat_formatObject_datetime_variant5.phpt index b3c2ecc8e7932..9279fb0af9103 100644 --- a/ext/intl/tests/dateformat_formatObject_datetime_variant5.phpt +++ b/ext/intl/tests/dateformat_formatObject_datetime_variant5.phpt @@ -3,7 +3,6 @@ IntlDateFormatter::formatObject(): DateTime tests --EXTENSIONS-- intl --SKIPIF-- -= 55.1'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - 24 , - 'tm_min' => 3, - 'tm_hour' => 19, - 'tm_mday' => 3, - 'tm_mon' => 3, - 'tm_year' => 105, - ); - $localtime_arr2 = array ( - 'tm_sec' => 21, - 'tm_min' => 5, - 'tm_hour' => 7, - 'tm_mday' => 13, - 'tm_mon' => 7, - 'tm_year' => 205, - ); - $localtime_arr3 = array ( - 'tm_sec' => 11, - 'tm_min' => 13, - 'tm_hour' => 0, - 'tm_mday' => 17, - 'tm_mon' => 11, - 'tm_year' => -5 - ); - - $localtime_arr = array ( - $localtime_arr1, - $localtime_arr2, - $localtime_arr3 - ); - - //Test format and parse with a timestamp : long - foreach( $time_arr as $timestamp_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput timestamp is : $timestamp_entry"; - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry,$timezone); - $formatted = ut_datefmt_format( $fmt , $timestamp_entry); - $res_str .= "\nFormatted timestamp is : $formatted"; - $parsed = ut_datefmt_parse( $fmt , $formatted); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nParsed timestamp is : $parsed"; - }else{ - $res_str .= "\nError while parsing as: '".intl_get_error_message()."'"; - } - } - } - } - - //Test format and parse with a localtime :array - foreach( $localtime_arr as $localtime_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput localtime is : "; - foreach( $localtime_entry as $key => $value){ - $res_str .= "$key : '$value' , "; - } - - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry,$timezone); - $formatted1 = ut_datefmt_format( $fmt , $localtime_entry); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nFormatted localtime_array is : $formatted1"; - }else{ - $res_str .= "\nError while formatting as: '".intl_get_error_message()."'"; - } - //Parsing - $parsed_arr = ut_datefmt_localtime( $fmt, $formatted1 ); - - if( $parsed_arr){ - $res_str .= "\nParsed array is: "; - foreach( $parsed_arr as $key => $value){ - $res_str .= "$key : '$value' , "; - } - } -/* - else{ - //$res_str .= "No values found from LocaleTime parsing."; - $res_str .= "\tError : '".intl_get_error_message()."'"; - } -*/ - } - } - } - - return $res_str; - -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); -?> ---EXPECT-- ------------- - -Input timestamp is : 0 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, January 1, 1970 5:00:00 AM GMT+05:00 -Parsed timestamp is : 0 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 1, 1970 5:00:00 AM GMT+05:00 -Parsed timestamp is : 0 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 1, 1970 5:00:00 AM -Parsed timestamp is : 0 ------------- - -Input timestamp is : -1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, December 18, 1969 7:40:00 AM GMT+05:00 -Parsed timestamp is : -1200000 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 18, 1969 7:40:00 AM GMT+05:00 -Parsed timestamp is : -1200000 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 18, 1969 7:40:00 AM -Parsed timestamp is : -1200000 ------------- - -Input timestamp is : 1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, January 15, 1970 2:20:00 AM GMT+05:00 -Parsed timestamp is : 1200000 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 15, 1970 2:20:00 AM GMT+05:00 -Parsed timestamp is : 1200000 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 15, 1970 2:20:00 AM -Parsed timestamp is : 1200000 ------------- - -Input timestamp is : 2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Monday, September 19, 2039 4:06:40 AM GMT+05:00 -Parsed timestamp is : 2200000000 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : September 19, 2039 4:06:40 AM GMT+05:00 -Parsed timestamp is : 2200000000 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Sep 19, 2039 4:06:40 AM -Parsed timestamp is : 2200000000 ------------- - -Input timestamp is : -2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Sunday, April 15, 1900 5:53:20 AM GMT+05:00 -Parsed timestamp is : -2200000000 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : April 15, 1900 5:53:20 AM GMT+05:00 -Parsed timestamp is : -2200000000 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Apr 15, 1900 5:53:20 AM -Parsed timestamp is : -2200000000 ------------- - -Input timestamp is : 90099999 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, November 9, 1972 12:46:39 AM GMT+05:00 -Parsed timestamp is : 90099999 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : November 9, 1972 12:46:39 AM GMT+05:00 -Parsed timestamp is : 90099999 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Nov 9, 1972 12:46:39 AM -Parsed timestamp is : 90099999 ------------- - -Input timestamp is : 3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, January 1, 1970 6:00:00 AM GMT+05:00 -Parsed timestamp is : 3600 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 1, 1970 6:00:00 AM GMT+05:00 -Parsed timestamp is : 3600 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 1, 1970 6:00:00 AM -Parsed timestamp is : 3600 ------------- - -Input timestamp is : -3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Thursday, January 1, 1970 4:00:00 AM GMT+05:00 -Parsed timestamp is : -3600 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 1, 1970 4:00:00 AM GMT+05:00 -Parsed timestamp is : -3600 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 1, 1970 4:00:00 AM -Parsed timestamp is : -3600 ------------- - -Input localtime is : tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_mday : '3' , tm_mon : '3' , tm_year : '105' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Sunday, April 3, 2005 7:03:24 PM GMT+05:00 -Parsed array is: tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_year : '105' , tm_mday : '3' , tm_wday : '0' , tm_yday : '93' , tm_mon : '3' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : April 3, 2005 7:03:24 PM GMT+05:00 -Parsed array is: tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_year : '105' , tm_mday : '3' , tm_wday : '0' , tm_yday : '93' , tm_mon : '3' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Apr 3, 2005 7:03:24 PM -Parsed array is: tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_year : '105' , tm_mday : '3' , tm_wday : '0' , tm_yday : '93' , tm_mon : '3' , tm_isdst : '0' , ------------- - -Input localtime is : tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_mday : '13' , tm_mon : '7' , tm_year : '205' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Thursday, August 13, 2105 7:05:21 AM GMT+05:00 -Parsed array is: tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_year : '205' , tm_mday : '13' , tm_wday : '4' , tm_yday : '225' , tm_mon : '7' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : August 13, 2105 7:05:21 AM GMT+05:00 -Parsed array is: tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_year : '205' , tm_mday : '13' , tm_wday : '4' , tm_yday : '225' , tm_mon : '7' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Aug 13, 2105 7:05:21 AM -Parsed array is: tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_year : '205' , tm_mday : '13' , tm_wday : '4' , tm_yday : '225' , tm_mon : '7' , tm_isdst : '0' , ------------- - -Input localtime is : tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_mday : '17' , tm_mon : '11' , tm_year : '-5' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Tuesday, December 17, 1895 12:13:11 AM GMT+05:00 -Parsed array is: tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_year : '-5' , tm_mday : '17' , tm_wday : '2' , tm_yday : '351' , tm_mon : '11' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : December 17, 1895 12:13:11 AM GMT+05:00 -Parsed array is: tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_year : '-5' , tm_mday : '17' , tm_wday : '2' , tm_yday : '351' , tm_mon : '11' , tm_isdst : '0' , -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Dec 17, 1895 12:13:11 AM -Parsed array is: tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_year : '-5' , tm_mday : '17' , tm_wday : '2' , tm_yday : '351' , tm_mon : '11' , tm_isdst : '0' , diff --git a/ext/intl/tests/dateformat_format_parse_version2.phpt b/ext/intl/tests/dateformat_format_parse_version2.phpt index 1293d29c383bf..1955a092cf5cf 100644 --- a/ext/intl/tests/dateformat_format_parse_version2.phpt +++ b/ext/intl/tests/dateformat_format_parse_version2.phpt @@ -3,7 +3,6 @@ datefmt_format_code() and datefmt_parse_code() --EXTENSIONS-- intl --SKIPIF-- -= 51.2'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- = 0) die('skip for ICU >= 51.2 && ICU < 52.1'); ?> ---FILE-- - 24 , - 'tm_min' => 3, - 'tm_hour' => 19, - 'tm_mday' => 3, - 'tm_mon' => 3, - 'tm_year' => 105, - ); - $localtime_arr2 = array ( - 'tm_sec' => 21, - 'tm_min' => 5, - 'tm_hour' => 7, - 'tm_mday' => 13, - 'tm_mon' => 4, - 'tm_year' => 205, - ); - $localtime_arr3 = array ( - 'tm_sec' => 11, - 'tm_min' => 13, - 'tm_hour' => 0, - 'tm_mday' => 17, - 'tm_mon' => 11, - 'tm_year' => -5 - ); - - $localtime_arr = array ( - $localtime_arr1, - $localtime_arr2, - $localtime_arr3 - ); - - $d1 = new DateTime("2010-01-01 01:02:03", new DateTimeZone("UTC")); - $d2 = new DateTime("2000-12-31 03:04:05", new DateTimeZone("UTC")); - $d2->setTimezone(new DateTimeZone("PDT")); - $dates = array( - $d1, - $d2, - new StdClass(), - ); - - //Test format with input as a timestamp : integer - foreach( $time_arr as $timestamp_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput timestamp is : $timestamp_entry"; - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) - { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN); - $formatted = ut_datefmt_format( $fmt , $timestamp_entry); - $res_str .= "\nFormatted timestamp is : $formatted"; - } - } - } - - //Test format with input as a localtime :array - foreach( $localtime_arr as $localtime_entry){ - $res_str .= "\n------------\n"; - $res_str .= "\nInput localtime is : "; - foreach( $localtime_entry as $key => $value){ - $res_str .= "$key : '$value' , "; - } - - $res_str .= "\n------------\n"; - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) - { - $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry "; - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN ); - $formatted1 = ut_datefmt_format( $fmt , $localtime_entry); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nFormatted localtime_array is : $formatted1"; - }else{ - $res_str .= "\nError while formatting as: '".intl_get_error_message()."'"; - } - } - } - } - - foreach($dates as $date_entry) { - foreach( $locale_arr as $locale_entry ){ - foreach( $datetype_arr as $datetype_entry ) { - $res_str .= "\n------------"; - $res_str .= "\nDate is: ".var_export($date_entry, true); - $res_str .= "\n------------"; - - $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN ); - $formatted1 = ut_datefmt_format( $fmt , $date_entry); - if( intl_get_error_code() == U_ZERO_ERROR){ - $res_str .= "\nFormatted DateTime is : $formatted1"; - }else{ - $res_str .= "\nError while formatting as: '".intl_get_error_message()."'"; - } - } - } - } - - return $res_str; - -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); -?> ---EXPECT-- ------------- - -Input timestamp is : 0 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 at 2:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 at 2:00:00 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969, 2:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69, 2:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 02:00 PM ------------- - -Input timestamp is : -1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 17, 1969 at 4:40:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 17, 1969 at 4:40:00 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 17, 1969, 4:40:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/17/69, 4:40 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691217 04:40 PM ------------- - -Input timestamp is : 1200000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, January 14, 1970 at 11:20:00 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : January 14, 1970 at 11:20:00 AM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Jan 14, 1970, 11:20:00 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 1/14/70, 11:20 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19700114 11:20 AM ------------- - -Input timestamp is : 2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Sunday, September 18, 2039 at 1:06:40 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : September 18, 2039 at 1:06:40 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Sep 18, 2039, 1:06:40 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 9/18/39, 1:06 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 20390918 01:06 PM ------------- - -Input timestamp is : -2200000000 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Saturday, April 14, 1900 at 2:53:20 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : April 14, 1900 at 2:53:20 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Apr 14, 1900, 2:53:20 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 4/14/00, 2:53 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19000414 02:53 PM ------------- - -Input timestamp is : 90099999 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, November 8, 1972 at 9:46:39 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : November 8, 1972 at 9:46:39 AM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Nov 8, 1972, 9:46:39 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 11/8/72, 9:46 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19721108 09:46 AM ------------- - -Input timestamp is : 3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 at 3:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 at 3:00:00 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969, 3:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69, 3:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 03:00 PM ------------- - -Input timestamp is : -3600 ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted timestamp is : Wednesday, December 31, 1969 at 1:00:00 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted timestamp is : December 31, 1969 at 1:00:00 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted timestamp is : Dec 31, 1969, 1:00:00 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted timestamp is : 12/31/69, 1:00 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted timestamp is : 19691231 01:00 PM ------------- - -Input localtime is : tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_mday : '3' , tm_mon : '3' , tm_year : '105' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Sunday, April 3, 2005 at 7:03:24 PM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : April 3, 2005 at 7:03:24 PM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Apr 3, 2005, 7:03:24 PM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 4/3/05, 7:03 PM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 20050403 07:03 PM ------------- - -Input localtime is : tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_mday : '13' , tm_mon : '4' , tm_year : '205' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Wednesday, May 13, 2105 at 7:05:21 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : May 13, 2105 at 7:05:21 AM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : May 13, 2105, 7:05:21 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 5/13/05, 7:05 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 21050513 07:05 AM ------------- - -Input localtime is : tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_mday : '17' , tm_mon : '11' , tm_year : '-5' , ------------- - -IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 -Formatted localtime_array is : Tuesday, December 17, 1895 at 12:13:11 AM GMT-10:00 -IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 -Formatted localtime_array is : December 17, 1895 at 12:13:11 AM GMT-10 -IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 -Formatted localtime_array is : Dec 17, 1895, 12:13:11 AM -IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 -Formatted localtime_array is : 12/17/95, 12:13 AM -IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 -Formatted localtime_array is : 18951217 12:13 AM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : Thursday, December 31, 2009 at 3:02:03 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : December 31, 2009 at 3:02:03 PM GMT-10 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : Dec 31, 2009, 3:02:03 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : 12/31/09, 3:02 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2010-01-01 01:02:03.000000', - 'timezone_type' => 3, - 'timezone' => 'UTC', -)) ------------- -Formatted DateTime is : 20091231 03:02 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 3, - 'timezone' => 'America/Los_Angeles', -)) ------------- -Formatted DateTime is : Saturday, December 30, 2000 at 5:04:05 PM GMT-10:00 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 3, - 'timezone' => 'America/Los_Angeles', -)) ------------- -Formatted DateTime is : December 30, 2000 at 5:04:05 PM GMT-10 ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 3, - 'timezone' => 'America/Los_Angeles', -)) ------------- -Formatted DateTime is : Dec 30, 2000, 5:04:05 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 3, - 'timezone' => 'America/Los_Angeles', -)) ------------- -Formatted DateTime is : 12/30/00, 5:04 PM ------------- -Date is: \DateTime::__set_state(array( - 'date' => '2000-12-30 19:04:05.000000', - 'timezone_type' => 3, - 'timezone' => 'America/Los_Angeles', -)) ------------- -Formatted DateTime is : 20001230 05:04 PM ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' ------------- -Date is: (object) array( -) ------------- -Error while formatting as: 'datefmt_format: invalid object type for date/time (only IntlCalendar and DateTimeInterface permitted): U_ILLEGAL_ARGUMENT_ERROR' diff --git a/ext/intl/tests/dateformat_format_variant3.phpt b/ext/intl/tests/dateformat_format_variant3.phpt index 86582d39229ba..e2d0a02637489 100644 --- a/ext/intl/tests/dateformat_format_variant3.phpt +++ b/ext/intl/tests/dateformat_format_variant3.phpt @@ -4,8 +4,6 @@ datefmt_format_code() intl --XFAIL-- This test assumes wrong data wrt PDT. It is also too big and needs splitting up. ---SKIPIF-- -= 52.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format($ts), "\n"; -var_dump($df->getCalendar(), -$df->getCalendarObject()->getType(), -$df->getCalendarObject()->getTimeZone()->getId()); -echo "\n"; -} - -$df = new IntlDateFormatter('fr@calendar=islamic', 0, 0, 'Europe/Minsk'); -d($df); - - -//changing the calendar with a cal type should not change tz -$df->setCalendar(IntlDateFormatter::TRADITIONAL); -d($df); - -//but changing with an actual calendar should -$cal = IntlCalendar::createInstance("UTC"); -$df->setCalendar($cal); -d($df); - -?> ---EXPECT-- -dimanche 1 janvier 2012 ap. J.-C. 03:00:00 UTC+03:00 -int(1) -string(9) "gregorian" -string(12) "Europe/Minsk" - -dimanche 8 Safar 1433 AH 03:00:00 UTC+03:00 -int(0) -string(7) "islamic" -string(12) "Europe/Minsk" - -dimanche 1 janvier 2012 ap. J.-C. 00:00:00 UTC -bool(false) -string(9) "gregorian" -string(3) "UTC" - diff --git a/ext/intl/tests/dateformat_get_set_calendar_variant2.phpt b/ext/intl/tests/dateformat_get_set_calendar_variant2.phpt deleted file mode 100644 index 8e58b50f71015..0000000000000 --- a/ext/intl/tests/dateformat_get_set_calendar_variant2.phpt +++ /dev/null @@ -1,53 +0,0 @@ ---TEST-- -IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject() ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -format($ts), "\n"; -var_dump($df->getCalendar(), -$df->getCalendarObject()->getType(), -$df->getCalendarObject()->getTimeZone()->getId()); -echo "\n"; -} - -$df = new IntlDateFormatter('fr@calendar=islamic', 0, 0, 'Europe/Minsk'); -d($df); - - -//changing the calendar with a cal type should not change tz -$df->setCalendar(IntlDateFormatter::TRADITIONAL); -d($df); - -//but changing with an actual calendar should -$cal = IntlCalendar::createInstance("UTC"); -$df->setCalendar($cal); -d($df); - -?> ---EXPECT-- -dimanche 1 janvier 2012 ap. J.-C. 03:00:00 UTC+03:00 -int(1) -string(9) "gregorian" -string(12) "Europe/Minsk" - -dimanche 8 safar 1433 AH 03:00:00 UTC+03:00 -int(0) -string(7) "islamic" -string(12) "Europe/Minsk" - -dimanche 1 janvier 2012 ap. J.-C. 00:00:00 UTC -bool(false) -string(9) "gregorian" -string(3) "UTC" - diff --git a/ext/intl/tests/dateformat_get_set_calendar_variant3.phpt b/ext/intl/tests/dateformat_get_set_calendar_variant3.phpt deleted file mode 100644 index f0446e28c5dca..0000000000000 --- a/ext/intl/tests/dateformat_get_set_calendar_variant3.phpt +++ /dev/null @@ -1,54 +0,0 @@ ---TEST-- -IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject() ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format($ts), "\n"; -var_dump($df->getCalendar(), -$df->getCalendarObject()->getType(), -$df->getCalendarObject()->getTimeZone()->getId()); -echo "\n"; -} - -$df = new IntlDateFormatter('fr@calendar=islamic', 0, 0, 'Europe/Minsk'); -d($df); - - -//changing the calendar with a cal type should not change tz -$df->setCalendar(IntlDateFormatter::TRADITIONAL); -d($df); - -//but changing with an actual calendar should -$cal = IntlCalendar::createInstance("UTC"); -$df->setCalendar($cal); -d($df); - -?> ---EXPECT-- -dimanche 1 janvier 2012 ap. J.-C. à 03:00:00 UTC+03:00 -int(1) -string(9) "gregorian" -string(12) "Europe/Minsk" - -dimanche 8 safar 1433 AH à 03:00:00 UTC+03:00 -int(0) -string(7) "islamic" -string(12) "Europe/Minsk" - -dimanche 1 janvier 2012 ap. J.-C. à 00:00:00 UTC -bool(false) -string(9) "gregorian" -string(3) "UTC" - diff --git a/ext/intl/tests/dateformat_get_set_calendar_variant4.phpt b/ext/intl/tests/dateformat_get_set_calendar_variant4.phpt index 586533524037d..6842cdf1c4084 100644 --- a/ext/intl/tests/dateformat_get_set_calendar_variant4.phpt +++ b/ext/intl/tests/dateformat_get_set_calendar_variant4.phpt @@ -3,7 +3,6 @@ IntlDateFormatter: setCalendar()/getCalendar()/getCalendarObject() --EXTENSIONS-- intl --SKIPIF-- -= 54.1'); ?> = 0) die('skip for ICU < 58.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format($ts), "\n"; -var_dump( -$df->getTimeZoneID(), -$df->getTimeZone()->getID()); -echo "\n"; -} - -$df = new IntlDateFormatter('pt_PT', 0, 0, 'Europe/Minsk'); -d($df); - -$df->setTimeZone(NULL); -d($df); - -$df->setTimeZone('Europe/Madrid'); -d($df); - -$df->setTimeZone(IntlTimeZone::createTimeZone('Europe/Paris')); -d($df); - -$df->setTimeZone(new DateTimeZone('Europe/Amsterdam')); -d($df); - -?> ---EXPECTF-- -Domingo, 1 de Janeiro de 2012 3:00:00 GMT+03:00 -string(12) "Europe/Minsk" -string(12) "Europe/Minsk" - -Sábado, 31 de Dezembro de 2011 23:00:00 Hor%s %Sdos Açores -string(15) "Atlantic/Azores" -string(15) "Atlantic/Azores" - -Domingo, 1 de Janeiro de 2012 1:00:00 Hor%s %Sda Europa Central -string(13) "Europe/Madrid" -string(13) "Europe/Madrid" - -Domingo, 1 de Janeiro de 2012 1:00:00 Hor%s %Sda Europa Central -string(12) "Europe/Paris" -string(12) "Europe/Paris" - -Domingo, 1 de Janeiro de 2012 1:00:00 Hor%s %Sda Europa Central -string(16) "Europe/Amsterdam" -string(16) "Europe/Amsterdam" - diff --git a/ext/intl/tests/dateformat_get_set_timezone_variant2.phpt b/ext/intl/tests/dateformat_get_set_timezone_variant2.phpt deleted file mode 100644 index eea0c7d8f9b27..0000000000000 --- a/ext/intl/tests/dateformat_get_set_timezone_variant2.phpt +++ /dev/null @@ -1,60 +0,0 @@ ---TEST-- -IntlDateFormatter: get/setTimeZone() ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -format($ts), "\n"; -var_dump( -$df->getTimeZoneID(), -$df->getTimeZone()->getID()); -echo "\n"; -} - -$df = new IntlDateFormatter('pt_PT', 0, 0, 'Europe/Minsk'); -d($df); - -$df->setTimeZone(NULL); -d($df); - -$df->setTimeZone('Europe/Madrid'); -d($df); - -$df->setTimeZone(IntlTimeZone::createTimeZone('Europe/Paris')); -d($df); - -$df->setTimeZone(new DateTimeZone('Europe/Amsterdam')); -d($df); - -?> ---EXPECTF-- -Domingo, 1 de Janeiro de 2012 às 03:00:00 GMT+03:00 -string(12) "Europe/Minsk" -string(12) "Europe/Minsk" - -Sábado, 31 de Dezembro de 2011 às 23:00:00 Hor%s %Sdos Açores -string(15) "Atlantic/Azores" -string(15) "Atlantic/Azores" - -Domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s %Sda Europa Central -string(13) "Europe/Madrid" -string(13) "Europe/Madrid" - -Domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s %Sda Europa Central -string(12) "Europe/Paris" -string(12) "Europe/Paris" - -Domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s %Sda Europa Central -string(16) "Europe/Amsterdam" -string(16) "Europe/Amsterdam" - diff --git a/ext/intl/tests/dateformat_get_set_timezone_variant3.phpt b/ext/intl/tests/dateformat_get_set_timezone_variant3.phpt deleted file mode 100644 index 9f4a295aa8ff0..0000000000000 --- a/ext/intl/tests/dateformat_get_set_timezone_variant3.phpt +++ /dev/null @@ -1,61 +0,0 @@ ---TEST-- -IntlDateFormatter: get/setTimeZone() ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format($ts), "\n"; -var_dump( -$df->getTimeZoneID(), -$df->getTimeZone()->getID()); -echo "\n"; -} - -$df = new IntlDateFormatter('pt_PT', 0, 0, 'Europe/Minsk'); -d($df); - -$df->setTimeZone(NULL); -d($df); - -$df->setTimeZone('Europe/Madrid'); -d($df); - -$df->setTimeZone(IntlTimeZone::createTimeZone('Europe/Paris')); -d($df); - -$df->setTimeZone(new DateTimeZone('Europe/Amsterdam')); -d($df); - -?> ---EXPECTF-- -domingo, 1 de Janeiro de 2012 às 03:00:00 GMT+03:00 -string(12) "Europe/Minsk" -string(12) "Europe/Minsk" - -sábado, 31 de Dezembro de 2011 às 23:00:00 Hor%s Padrão %Sdos Açores -string(15) "Atlantic/Azores" -string(15) "Atlantic/Azores" - -domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(13) "Europe/Madrid" -string(13) "Europe/Madrid" - -domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(12) "Europe/Paris" -string(12) "Europe/Paris" - -domingo, 1 de Janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(16) "Europe/Amsterdam" -string(16) "Europe/Amsterdam" - diff --git a/ext/intl/tests/dateformat_get_set_timezone_variant4.phpt b/ext/intl/tests/dateformat_get_set_timezone_variant4.phpt deleted file mode 100644 index c8e5c5a19659e..0000000000000 --- a/ext/intl/tests/dateformat_get_set_timezone_variant4.phpt +++ /dev/null @@ -1,61 +0,0 @@ ---TEST-- -IntlDateFormatter: get/setTimeZone() ---EXTENSIONS-- -intl ---SKIPIF-- -= 54.1'); ?> -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- -format($ts), "\n"; -var_dump( -$df->getTimeZoneID(), -$df->getTimeZone()->getID()); -echo "\n"; -} - -$df = new IntlDateFormatter('pt_PT', 0, 0, 'Europe/Minsk'); -d($df); - -$df->setTimeZone(NULL); -d($df); - -$df->setTimeZone('Europe/Madrid'); -d($df); - -$df->setTimeZone(IntlTimeZone::createTimeZone('Europe/Paris')); -d($df); - -$df->setTimeZone(new DateTimeZone('Europe/Amsterdam')); -d($df); - -?> ---EXPECTF-- -domingo, 1 de janeiro de 2012 às 03:00:00 Hor%s do Extremo Leste da Europa -string(12) "Europe/Minsk" -string(12) "Europe/Minsk" - -sábado, 31 de dezembro de 2011 às 23:00:00 Hor%s Padrão %Sdos Açores -string(15) "Atlantic/Azores" -string(15) "Atlantic/Azores" - -domingo, 1 de janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(13) "Europe/Madrid" -string(13) "Europe/Madrid" - -domingo, 1 de janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(12) "Europe/Paris" -string(12) "Europe/Paris" - -domingo, 1 de janeiro de 2012 às 01:00:00 Hor%s Padrão %Sda Europa Central -string(16) "Europe/Amsterdam" -string(16) "Europe/Amsterdam" - diff --git a/ext/intl/tests/dateformat_get_set_timezone_variant5.phpt b/ext/intl/tests/dateformat_get_set_timezone_variant5.phpt index 3cce942e74161..8d2142b17da3d 100644 --- a/ext/intl/tests/dateformat_get_set_timezone_variant5.phpt +++ b/ext/intl/tests/dateformat_get_set_timezone_variant5.phpt @@ -2,8 +2,6 @@ IntlDateFormatter: get/setTimeZone() --EXTENSIONS-- intl ---SKIPIF-- -= 55.1'); ?> --FILE-- = 4.8 ---INI-- -date.timezone=Atlantic/Azores ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECTF-- -Warning: IntlDateFormatter::setTimeZone(): datefmt_set_timezone: No such time zone: 'CN' in %s on line %d - -Warning: datefmt_set_timezone(): datefmt_set_timezone: No such time zone: 'CN' in %s on line %d - -After creation of the dateformatter : timezone_id= US/Pacific ------------ -Trying to set timezone_id= America/New_York -After call to set_timezone_id : timezone_id= America/New_York -Formatting timestamp=0 resulted in Wednesday, December 31, 1969 7:00:00 PM Eastern Standard Time -Formatting timestamp=3600 resulted in Wednesday, December 31, 1969 8:00:00 PM Eastern Standard Time ------------ -Trying to set timezone_id= America/Los_Angeles -After call to set_timezone_id : timezone_id= America/Los_Angeles -Formatting timestamp=0 resulted in Wednesday, December 31, 1969 4:00:00 PM Pacific Standard Time -Formatting timestamp=3600 resulted in Wednesday, December 31, 1969 5:00:00 PM Pacific Standard Time ------------ -Trying to set timezone_id= America/Chicago -After call to set_timezone_id : timezone_id= America/Chicago -Formatting timestamp=0 resulted in Wednesday, December 31, 1969 6:00:00 PM Central Standard Time -Formatting timestamp=3600 resulted in Wednesday, December 31, 1969 7:00:00 PM Central Standard Time ------------ -Trying to set timezone_id= CN -After call to set_timezone_id : timezone_id= America/Chicago -Formatting timestamp=0 resulted in Wednesday, December 31, 1969 6:00:00 PM Central Standard Time -Formatting timestamp=3600 resulted in Wednesday, December 31, 1969 7:00:00 PM Central Standard Time diff --git a/ext/intl/tests/dateformat_set_timezone_id3.phpt b/ext/intl/tests/dateformat_set_timezone_id3.phpt index ec14db3e60623..a964bb620bc1f 100644 --- a/ext/intl/tests/dateformat_set_timezone_id3.phpt +++ b/ext/intl/tests/dateformat_set_timezone_id3.phpt @@ -5,7 +5,6 @@ date.timezone=Atlantic/Azores --EXTENSIONS-- intl --SKIPIF-- -= 51.2'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- = 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam'); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, new DateTimeZone('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, IntlTimeZone::createTimeZone('America/New_York')); -echo $df->format($ts), "\n"; - -//time zone has priority -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -//calendar has priority -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', 0); -echo $df->format($ts), "\n"; -?> ---EXPECTF-- -sábado%S 31 de diciembre de 2011 23:00:00 Hora%S de las Azores -domingo%S 1 de enero de 2012 01:00:00 Hora estándar de Europa Central -domingo%S 1 de enero de 2012 00:00:00 Hora%S de Europa Occidental -sábado%S 31 de diciembre de 2011 19:00:00 Hora estándar oriental -domingo%S 1 de enero de 2012 01:00:00 Hora estándar de Europa Central -domingo%S 1 de enero de 2012 00:00:00 Hora%S de Europa Occidental -domingo%S 1 de enero de 2012 01:00:00 Hora estándar de Europa Central diff --git a/ext/intl/tests/dateformat_timezone_arg_variations2.phpt b/ext/intl/tests/dateformat_timezone_arg_variations2.phpt deleted file mode 100644 index 43785f8878fe9..0000000000000 --- a/ext/intl/tests/dateformat_timezone_arg_variations2.phpt +++ /dev/null @@ -1,45 +0,0 @@ ---TEST-- -IntlDateFormatter: several forms of the timezone arg ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam'); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, new DateTimeZone('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, IntlTimeZone::createTimeZone('America/New_York')); -echo $df->format($ts), "\n"; - -//time zone has priority -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -//calendar has priority -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', 0); -echo $df->format($ts), "\n"; -?> ---EXPECTF-- -sábado%S, 31 de diciembre de 2011 23:00:00 Hora estándar de las Azores -domingo%S, 1 de enero de 2012 01:00:00 Hora estándar de Europa central -domingo%S, 1 de enero de 2012 00:00:00 Hora%S de Europa occidental -sábado%S, 31 de diciembre de 2011 19:00:00 Hora estándar oriental -domingo%S, 1 de enero de 2012 01:00:00 Hora estándar de Europa central -domingo%S, 1 de enero de 2012 00:00:00 Hora%S de Europa occidental -domingo%S, 1 de enero de 2012 01:00:00 Hora estándar de Europa central diff --git a/ext/intl/tests/dateformat_timezone_arg_variations3.phpt b/ext/intl/tests/dateformat_timezone_arg_variations3.phpt deleted file mode 100644 index 766f67b990c7e..0000000000000 --- a/ext/intl/tests/dateformat_timezone_arg_variations3.phpt +++ /dev/null @@ -1,46 +0,0 @@ ---TEST-- -IntlDateFormatter: several forms of the timezone arg ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam'); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, new DateTimeZone('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, IntlTimeZone::createTimeZone('America/New_York')); -echo $df->format($ts), "\n"; - -//time zone has priority -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -//calendar has priority -$df = new IntlDateFormatter('es_ES', 0, 0, NULL, new IntlGregorianCalendar('Europe/Lisbon')); -echo $df->format($ts), "\n"; - -$df = new IntlDateFormatter('es_ES', 0, 0, 'Europe/Amsterdam', 0); -echo $df->format($ts), "\n"; -?> ---EXPECTF-- -sábado%S 31 de diciembre de 2011, 23:00:00 (Hora estándar de las Azores) -domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) -domingo%S 1 de enero de 2012, 0:00:00 (Hora%S estándar de Europa occidental) -sábado%S 31 de diciembre de 2011, 19:00:00 (Hora estándar oriental) -domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) -domingo%S 1 de enero de 2012, 0:00:00 (Hora%S estándar de Europa occidental) -domingo%S 1 de enero de 2012, 1:00:00 (Hora estándar de Europa central) diff --git a/ext/intl/tests/dateformat_timezone_arg_variations4.phpt b/ext/intl/tests/dateformat_timezone_arg_variations4.phpt index 74320cfee828c..0c2ea02a56d48 100644 --- a/ext/intl/tests/dateformat_timezone_arg_variations4.phpt +++ b/ext/intl/tests/dateformat_timezone_arg_variations4.phpt @@ -2,8 +2,6 @@ IntlDateFormatter: several forms of the timezone arg --EXTENSIONS-- intl ---SKIPIF-- -= 54.1'); ?> --FILE-- = 4.8 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 52.1'); ?> ---FILE-- - '##.#####################', - NumberFormatter::DECIMAL => '', - NumberFormatter::CURRENCY => '', - NumberFormatter::PERCENT => '', - NumberFormatter::SCIENTIFIC => '', - NumberFormatter::SPELLOUT => '@@@@@@@', - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - NumberFormatter::PATTERN_RULEBASED => '#####.###', - 1234999, // bad one - ); - - $integer = array( - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - ); - $locales = array( - 'en_US', - 'ru_UA', - 'de', - 'fr', - 'en_UK' - ); - - $str_res = ''; - $number = 1234567.891234567890000; - - foreach( $locales as $locale ) - { - $str_res .= "\nLocale is: $locale\n"; - foreach( $styles as $style => $pattern ) - { - $fmt = ut_nfmt_create( $locale, $style, $pattern ); - - if(!$fmt) { - $str_res .= "Bad formatter!\n"; - continue; - } - $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n"; - } - } - return $str_res; -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); - -?> ---EXPECTREGEX-- -Locale is: en_US -'1234567.89123457' -'1,234,567.891' -'\$1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -Bad formatter! - -Locale is: ru_UA -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ?(грн\.|₴)' -'123 456 789 ?%' -'1,23456789123457E6' -'один миллион двести тридцать четыре тысяч пятьсот шестьдесят семь запятая восемь девять один два три четыре пять семь' -'1 234 567.?' -'1 234 567' -'#####.###' -Bad formatter! - -Locale is: de -'1234567,89123457' -'1.234.567,891' -'(¤ )?1.234.567,89( ¤)?' -'123\.456\.789 %' -'1,23456789123457E6' -'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf sieben' -'1.234.567.?' -'1.234.567' -'#####.###' -Bad formatter! - -Locale is: fr -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ¤' -'123 456 789 ?%' -'1,23456789123457E6' -'un million deux-cent-trente-quatre-mille-cinq-cent-soixante-sept virgule huit neuf un deux trois quatre cinq sept' -'1 234 567e' -'1 234 567' -'#####.###' -Bad formatter! - -Locale is: en_UK -'1234567.89123457' -'1,234,567.891' -'¤1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -Bad formatter! diff --git a/ext/intl/tests/formatter_format3.phpt b/ext/intl/tests/formatter_format3.phpt deleted file mode 100644 index 773fa522e5a1f..0000000000000 --- a/ext/intl/tests/formatter_format3.phpt +++ /dev/null @@ -1,132 +0,0 @@ ---TEST-- -numfmt_format() icu >= 52.1 && icu < 53.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'; ?> -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- - '##.#####################', - NumberFormatter::DECIMAL => '', - NumberFormatter::CURRENCY => '', - NumberFormatter::PERCENT => '', - NumberFormatter::SCIENTIFIC => '', - NumberFormatter::SPELLOUT => '@@@@@@@', - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - NumberFormatter::PATTERN_RULEBASED => '#####.###', - 1234999, // bad one - ); - - $integer = array( - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - ); - $locales = array( - 'en_US', - 'ru_UA', - 'de', - 'fr', - 'en_UK' - ); - - $str_res = ''; - $number = 1234567.891234567890000; - - foreach( $locales as $locale ) - { - $str_res .= "\nLocale is: $locale\n"; - foreach( $styles as $style => $pattern ) - { - $fmt = ut_nfmt_create( $locale, $style, $pattern ); - - if(!$fmt) { - $str_res .= "Bad formatter!\n"; - continue; - } - $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n"; - } - } - return $str_res; -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); - -?> ---EXPECTREGEX-- -Locale is: en_US -'1234567.89123457' -'1,234,567.891' -'\$1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -Bad formatter! - -Locale is: ru_UA -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ?(грн\.|₴)' -'123 456 789 ?%' -'1,23456789123457E6' -'один миллион двести тридцать четыре тысяч пятьсот шестьдесят семь запятая восемь девять один два три четыре пять семь' -'1 234 567.?' -'1 234 567' -'#####.###' -Bad formatter! - -Locale is: de -'1234567,89123457' -'1.234.567,891' -'(¤ )?1.234.567,89( ¤)?' -'123\.456\.789 %' -'1,23456789123457E6' -'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf sieben' -'1.234.567.?' -'1.234.567' -'#####.###' -Bad formatter! - -Locale is: fr -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ¤' -'123 456 789 ?%' -'1,23456789123457E6' -'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq sept' -'1 234 567e' -'1 234 567' -'#####.###' -Bad formatter! - -Locale is: en_UK -'1234567.89123457' -'1,234,567.891' -'¤1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -Bad formatter! diff --git a/ext/intl/tests/formatter_format4.phpt b/ext/intl/tests/formatter_format4.phpt deleted file mode 100644 index 5517eebdee292..0000000000000 --- a/ext/intl/tests/formatter_format4.phpt +++ /dev/null @@ -1,132 +0,0 @@ ---TEST-- -numfmt_format() icu >= 53.1 && icu < 54.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 53.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- - '##.#####################', - NumberFormatter::DECIMAL => '', - NumberFormatter::CURRENCY => '', - NumberFormatter::PERCENT => '', - NumberFormatter::SCIENTIFIC => '', - NumberFormatter::SPELLOUT => '@@@@@@@', - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - NumberFormatter::PATTERN_RULEBASED => '#####.###', - 1234999, // bad one - ); - - $integer = array( - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - ); - $locales = array( - 'en_US', - 'ru_UA', - 'de', - 'fr', - 'en_UK' - ); - - $str_res = ''; - $number = 1234567.891234567890000; - - foreach( $locales as $locale ) - { - $str_res .= "\nLocale is: $locale\n"; - foreach( $styles as $style => $pattern ) - { - $fmt = ut_nfmt_create( $locale, $style, $pattern ); - - if(!$fmt) { - $str_res .= "Bad formatter!\n"; - continue; - } - $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n"; - } - } - return $str_res; -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); - -?> ---EXPECTREGEX-- -Locale is: en_US -'1234567.89123457' -'1,234,567.891' -'\$1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -'USD1,234,567.89' - -Locale is: ru_UA -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ?(грн\.|₴)' -'123 456 789 ?%' -'1,23456789123457E6' -'один миллион двести тридцать четыре тысяч пятьсот шестьдесят семь запятая восемь девять один два три четыре пять семь' -'1 234 567.?' -'1 234 567' -'#####.###' -'1 234 567,89 UAH' - -Locale is: de -'1234567,89123457' -'1.234.567,891' -'(¤ )?1.234.567,89( ¤)?' -'123\.456\.789 %' -'1,23456789123457E6' -'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf sieben' -'1.234.567.?' -'1.234.567' -'#####.###' -'1.234.567,89 ¤¤' - -Locale is: fr -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ¤' -'123 456 789 ?%' -'1,23456789123457E6' -'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq sept' -'1 234 567e' -'1 234 567' -'#####.###' -'1 234 567,89 ¤¤' - -Locale is: en_UK -'1234567.89123457' -'1,234,567.891' -'¤1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -'¤¤1,234,567.89' diff --git a/ext/intl/tests/formatter_format5.phpt b/ext/intl/tests/formatter_format5.phpt deleted file mode 100644 index 9287bd28ed629..0000000000000 --- a/ext/intl/tests/formatter_format5.phpt +++ /dev/null @@ -1,132 +0,0 @@ ---TEST-- -numfmt_format() icu >= 54.1 && icu < 56.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 54.1'); ?> -= 0) die('skip for ICU < 56.1'); ?> ---FILE-- - '##.#####################', - NumberFormatter::DECIMAL => '', - NumberFormatter::CURRENCY => '', - NumberFormatter::PERCENT => '', - NumberFormatter::SCIENTIFIC => '', - NumberFormatter::SPELLOUT => '@@@@@@@', - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - NumberFormatter::PATTERN_RULEBASED => '#####.###', - 1234999, // bad one - ); - - $integer = array( - NumberFormatter::ORDINAL => '', - NumberFormatter::DURATION => '', - ); - $locales = array( - 'en_US', - 'ru_UA', - 'de', - 'fr', - 'en_UK' - ); - - $str_res = ''; - $number = 1234567.891234567890000; - - foreach( $locales as $locale ) - { - $str_res .= "\nLocale is: $locale\n"; - foreach( $styles as $style => $pattern ) - { - $fmt = ut_nfmt_create( $locale, $style, $pattern ); - - if(!$fmt) { - $str_res .= "Bad formatter!\n"; - continue; - } - $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n"; - } - } - return $str_res; -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); - -?> ---EXPECTREGEX-- -Locale is: en_US -'1234567.89123457' -'1,234,567.891' -'\$1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -'USD1,234,567.89' - -Locale is: ru_UA -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ?(грн\.|₴)' -'123 456 789 ?%' -'1,23456789123457E6' -'один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь запятая восемь девять один два три четыре пять семь' -'1 234 567.?' -'1 234 567' -'#####.###' -'1 234 567,89 UAH' - -Locale is: de -'1234567,89123457' -'1.234.567,891' -'(¤ )?1.234.567,89( ¤)?' -'123\.456\.789 %' -'1,23456789123457E6' -'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf sieben' -'1.234.567.?' -'1.234.567' -'#####.###' -'1.234.567,89 ¤¤' - -Locale is: fr -'1234567,89123457' -'1 234 567,891' -'1 234 567,89 ¤' -'123 456 789 ?%' -'1,23456789123457E6' -'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq sept' -'1 234 567e' -'1 234 567' -'#####.###' -'1 234 567,89 ¤¤' - -Locale is: en_UK -'1234567.89123457' -'1,234,567.891' -'¤1,234,567.89' -'123,456,789%' -'1.23456789123457E6' -'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven' -'1,234,567(th|ᵗʰ)' -'342:56:07' -'#####.###' -'¤¤1,234,567.89' diff --git a/ext/intl/tests/formatter_format6.phpt b/ext/intl/tests/formatter_format6.phpt index 38e6de49f539f..b4c047a98e6cc 100644 --- a/ext/intl/tests/formatter_format6.phpt +++ b/ext/intl/tests/formatter_format6.phpt @@ -3,7 +3,6 @@ numfmt_format() icu >= 56.1 && icu < 61.1 --EXTENSIONS-- intl --SKIPIF-- -= 56.1'); ?> = 0) die('skip for ICU < 61.1'); ?> --FILE-- = 4.8 && icu < 50.1.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - 'actual', - Locale::VALID_LOCALE => 'valid', - ); - - $res_str = ''; - - foreach( $locales as $locale ) - { - $fmt = ut_nfmt_create( $locale, NumberFormatter::DECIMAL ); - $res_str .= "$locale: "; - foreach( $loc_types as $loc_type => $loc_type_name ) - $res_str .= sprintf( " %s=%s", - $loc_type_name, - dump( ut_nfmt_get_locale( $fmt, $loc_type ) ) ); - $res_str .= "\n"; - } - - return $res_str; -} - -include_once( 'ut_common.inc' ); - -// Run the test -ut_run(); -?> ---EXPECT-- -en_UK: actual='en' valid='en' -en_US@California: actual='en' valid='en' -fr_CA: actual='fr_CA' valid='fr_CA' diff --git a/ext/intl/tests/formatter_get_locale_variant2.phpt b/ext/intl/tests/formatter_get_locale_variant2.phpt index a841b1afff115..53f8f06aafa41 100644 --- a/ext/intl/tests/formatter_get_locale_variant2.phpt +++ b/ext/intl/tests/formatter_get_locale_variant2.phpt @@ -3,7 +3,6 @@ numfmt_get_locale() --EXTENSIONS-- intl --SKIPIF-- -= 51.2'); ?> = 0) die('skip for ICU < 58.1'); ?> --FILE-- = 0) die('skip for ICU < 56.1'); ?> ---FILE-- - array( NumberFormatter::POSITIVE_PREFIX, '_+_', 12345.1234 ), - 'POSITIVE_SUFFIX' => array( NumberFormatter::POSITIVE_SUFFIX, '_+_', 12345.1234 ), - 'NEGATIVE_PREFIX' => array( NumberFormatter::NEGATIVE_PREFIX, '_-_', -12345.1234 ), - 'NEGATIVE_SUFFIX' => array( NumberFormatter::NEGATIVE_SUFFIX, '_-_', -12345.1234 ), - 'PADDING_CHARACTER' => array( NumberFormatter::PADDING_CHARACTER, '^', 12345.1234 ), - 'POSITIVE_PREFIX-2' => array( NumberFormatter::POSITIVE_PREFIX, $long_str, 12345.1234 ), -// 'CURRENCY_CODE' => array( NumberFormatter::CURRENCY_CODE, '_C_', 12345.1234 ) -// 'DEFAULT_RULESET' => array( NumberFormatter::DEFAULT_RULESET, '_DR_', 12345.1234 ), -// 'PUBLIC_RULESETS' => array( NumberFormatter::PUBLIC_RULESETS, '_PR_', 12345.1234 ) - ); - - $res_str = ''; - - $fmt = ut_nfmt_create( "en_US", NumberFormatter::DECIMAL ); - - foreach( $attributes as $attr_name => $data ) - { - list( $attr, $new_val, $test_number ) = $data; - $res_str .= "\nAttribute $attr_name\n"; - - if( $attr == NumberFormatter::PADDING_CHARACTER ) - ut_nfmt_set_attribute( $fmt, NumberFormatter::FORMAT_WIDTH, 21 ); - - // Get default attribute's value - $def_val = ut_nfmt_get_text_attribute( $fmt, $attr ); - if( $def_val === false ) - $res_str .= "get_text_attribute() error: " . ut_nfmt_get_error_message( $fmt ) . "\n"; - - $res_str .= "Default value: [$def_val]\n"; - $res_str .= "Formatting number with default value: " . ut_nfmt_format( $fmt, $test_number ) . "\n"; - - // Set new attribute's value and see if it works out. - $res_val = ut_nfmt_set_text_attribute( $fmt, $attr, $new_val ); - if( !$res_val ) - $res_str .= "set_text_attribute() error: " . ut_nfmt_get_error_message( $fmt ) . "\n"; - - // Get attribute value back. - $new_val_check = ut_nfmt_get_text_attribute( $fmt, $attr ); - $res_str .= "New value: [$new_val_check]\n"; - $res_str .= "Formatting number with new value: " . ut_nfmt_format( $fmt, $test_number ) . "\n"; - - // Check if the new value has been set. - if( $new_val !== $new_val_check ) - $res_str .= "ERROR: New $attr_name symbol value has not been set correctly.\n"; - - // Restore attribute's value to default - ut_nfmt_set_text_attribute( $fmt, $attr, $def_val ); - - if( $attr == NumberFormatter::PADDING_CHARACTER ) - ut_nfmt_set_attribute( $fmt, NumberFormatter::FORMAT_WIDTH, 0 ); - } - - // - $fmt = ut_nfmt_create( "uk_UA", NumberFormatter::CURRENCY ); - $res_str .= sprintf( "\nCurrency ISO-code for locale 'uk_UA' is: %s\n", - ut_nfmt_get_text_attribute( $fmt, NumberFormatter::CURRENCY_CODE ) ); - - return $res_str; -} - -include_once( 'ut_common.inc' ); -ut_run(); - -?> ---EXPECT-- -Attribute POSITIVE_PREFIX -Default value: [] -Formatting number with default value: 12,345.123 -New value: [_+_] -Formatting number with new value: _+_12,345.123 - -Attribute POSITIVE_SUFFIX -Default value: [] -Formatting number with default value: 12,345.123 -New value: [_+_] -Formatting number with new value: 12,345.123_+_ - -Attribute NEGATIVE_PREFIX -Default value: [-] -Formatting number with default value: -12,345.123 -New value: [_-_] -Formatting number with new value: _-_12,345.123 - -Attribute NEGATIVE_SUFFIX -Default value: [] -Formatting number with default value: -12,345.123 -New value: [_-_] -Formatting number with new value: -12,345.123_-_ - -Attribute PADDING_CHARACTER -Default value: [*] -Formatting number with default value: ***********12,345.123 -New value: [^] -Formatting number with new value: ^^^^^^^^^^^12,345.123 - -Attribute POSITIVE_PREFIX-2 -Default value: [] -Formatting number with default value: 12,345.123 -New value: [blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah] -Formatting number with new value: blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah12,345.123 - -Currency ISO-code for locale 'uk_UA' is: UAH diff --git a/ext/intl/tests/formatter_get_set_text_attribute_var2.phpt b/ext/intl/tests/formatter_get_set_text_attribute_var2.phpt index d21213d9ee847..7988a1d62d14e 100644 --- a/ext/intl/tests/formatter_get_set_text_attribute_var2.phpt +++ b/ext/intl/tests/formatter_get_set_text_attribute_var2.phpt @@ -2,8 +2,6 @@ numfmt_get/set_text_attribute() ICU >= 56.1 --EXTENSIONS-- intl ---SKIPIF-- -= 56.1'); ?> --FILE-- = 4.8 && icu < 50.1.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECT-- --------------- -loc_range:de-de matches lang_tag de-DEVA ? NO -loc_range:de_DE canonically matches lang_tag de_Deva ? NO --------------- -loc_range:de-de matches lang_tag de-DE-1996 ? YES -loc_range:de_DE canonically matches lang_tag de_DE_1996 ? YES --------------- -loc_range:de-de matches lang_tag de-DE ? YES -loc_range:de_DE canonically matches lang_tag de_DE ? YES --------------- -loc_range:de-de matches lang_tag zh_Hans ? NO -loc_range:de_DE canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:de-de matches lang_tag de-CH-1996 ? NO -loc_range:de_DE canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:de-de matches lang_tag sl_IT ? NO -loc_range:de_DE canonically matches lang_tag sl_IT ? NO --------------- -loc_range:de-de matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? NO -loc_range:de_DE canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? NO --------------- -loc_range:de-de matches lang_tag sl_IT_rozaj ? NO -loc_range:de_DE canonically matches lang_tag sl_IT_ROZAJ ? NO --------------- -loc_range:de-de matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO -loc_range:de_DE canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO --------------- -loc_range:de-de matches lang_tag i-enochian ? NO -loc_range:de_DE canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:de-de matches lang_tag sgn-CH-de ? NO -loc_range:de_DE canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:de-de matches lang_tag art-lojban ? NO -loc_range:de_DE canonically matches lang_tag jbo ? NO --------------- -loc_range:de-de matches lang_tag i-lux ? NO -loc_range:de_DE canonically matches lang_tag lb ? NO --------------- -loc_range:de-de matches lang_tag art-lojban ? NO -loc_range:de_DE canonically matches lang_tag jbo ? NO --------------- -loc_range:de-de matches lang_tag jbo ? NO -loc_range:de_DE canonically matches lang_tag jbo ? NO --------------- -loc_range:de-de matches lang_tag en_sl_IT ? NO -loc_range:de_DE canonically matches lang_tag en_SL_IT ? NO --------------- -loc_range:sl_IT matches lang_tag de-DEVA ? NO -loc_range:sl_IT canonically matches lang_tag de_Deva ? NO --------------- -loc_range:sl_IT matches lang_tag de-DE-1996 ? NO -loc_range:sl_IT canonically matches lang_tag de_DE_1996 ? NO --------------- -loc_range:sl_IT matches lang_tag de-DE ? NO -loc_range:sl_IT canonically matches lang_tag de_DE ? NO --------------- -loc_range:sl_IT matches lang_tag zh_Hans ? NO -loc_range:sl_IT canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:sl_IT matches lang_tag de-CH-1996 ? NO -loc_range:sl_IT canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:sl_IT matches lang_tag sl_IT ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_rozaj ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_ROZAJ ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES --------------- -loc_range:sl_IT matches lang_tag i-enochian ? NO -loc_range:sl_IT canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:sl_IT matches lang_tag sgn-CH-de ? NO -loc_range:sl_IT canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:sl_IT matches lang_tag art-lojban ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag i-lux ? NO -loc_range:sl_IT canonically matches lang_tag lb ? NO --------------- -loc_range:sl_IT matches lang_tag art-lojban ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag jbo ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag en_sl_IT ? NO -loc_range:sl_IT canonically matches lang_tag en_SL_IT ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag de-DEVA ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag de_Deva ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag de-DE-1996 ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag de_DE_1996 ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag de-DE ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag de_DE ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag zh_Hans ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag de-CH-1996 ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag sl_IT ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag sl_IT ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? YES -loc_range:sl_IT_NEDIS canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? YES --------------- -loc_range:sl_IT_Nedis matches lang_tag sl_IT_rozaj ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag sl_IT_ROZAJ ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES -loc_range:sl_IT_NEDIS canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES --------------- -loc_range:sl_IT_Nedis matches lang_tag i-enochian ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag sgn-CH-de ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag art-lojban ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag i-lux ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag lb ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag art-lojban ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag jbo ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT_Nedis matches lang_tag en_sl_IT ? NO -loc_range:sl_IT_NEDIS canonically matches lang_tag en_SL_IT ? NO --------------- -loc_range:jbo matches lang_tag de-DEVA ? NO -loc_range:jbo canonically matches lang_tag de_Deva ? NO --------------- -loc_range:jbo matches lang_tag de-DE-1996 ? NO -loc_range:jbo canonically matches lang_tag de_DE_1996 ? NO --------------- -loc_range:jbo matches lang_tag de-DE ? NO -loc_range:jbo canonically matches lang_tag de_DE ? NO --------------- -loc_range:jbo matches lang_tag zh_Hans ? NO -loc_range:jbo canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:jbo matches lang_tag de-CH-1996 ? NO -loc_range:jbo canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:jbo matches lang_tag sl_IT ? NO -loc_range:jbo canonically matches lang_tag sl_IT ? NO --------------- -loc_range:jbo matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? NO -loc_range:jbo canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? NO --------------- -loc_range:jbo matches lang_tag sl_IT_rozaj ? NO -loc_range:jbo canonically matches lang_tag sl_IT_ROZAJ ? NO --------------- -loc_range:jbo matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO -loc_range:jbo canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO --------------- -loc_range:jbo matches lang_tag i-enochian ? NO -loc_range:jbo canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:jbo matches lang_tag sgn-CH-de ? NO -loc_range:jbo canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:jbo matches lang_tag art-lojban ? NO -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:jbo matches lang_tag i-lux ? NO -loc_range:jbo canonically matches lang_tag lb ? NO --------------- -loc_range:jbo matches lang_tag art-lojban ? NO -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:jbo matches lang_tag jbo ? YES -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:jbo matches lang_tag en_sl_IT ? NO -loc_range:jbo canonically matches lang_tag en_SL_IT ? NO --------------- -loc_range:art-lojban matches lang_tag de-DEVA ? NO -loc_range:jbo canonically matches lang_tag de_Deva ? NO --------------- -loc_range:art-lojban matches lang_tag de-DE-1996 ? NO -loc_range:jbo canonically matches lang_tag de_DE_1996 ? NO --------------- -loc_range:art-lojban matches lang_tag de-DE ? NO -loc_range:jbo canonically matches lang_tag de_DE ? NO --------------- -loc_range:art-lojban matches lang_tag zh_Hans ? NO -loc_range:jbo canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:art-lojban matches lang_tag de-CH-1996 ? NO -loc_range:jbo canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:art-lojban matches lang_tag sl_IT ? NO -loc_range:jbo canonically matches lang_tag sl_IT ? NO --------------- -loc_range:art-lojban matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? NO -loc_range:jbo canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? NO --------------- -loc_range:art-lojban matches lang_tag sl_IT_rozaj ? NO -loc_range:jbo canonically matches lang_tag sl_IT_ROZAJ ? NO --------------- -loc_range:art-lojban matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO -loc_range:jbo canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? NO --------------- -loc_range:art-lojban matches lang_tag i-enochian ? NO -loc_range:jbo canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:art-lojban matches lang_tag sgn-CH-de ? NO -loc_range:jbo canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:art-lojban matches lang_tag art-lojban ? YES -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:art-lojban matches lang_tag i-lux ? NO -loc_range:jbo canonically matches lang_tag lb ? NO --------------- -loc_range:art-lojban matches lang_tag art-lojban ? YES -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:art-lojban matches lang_tag jbo ? NO -loc_range:jbo canonically matches lang_tag jbo ? YES --------------- -loc_range:art-lojban matches lang_tag en_sl_IT ? NO -loc_range:jbo canonically matches lang_tag en_SL_IT ? NO --------------- -loc_range:sl_IT matches lang_tag de-DEVA ? NO -loc_range:sl_IT canonically matches lang_tag de_Deva ? NO --------------- -loc_range:sl_IT matches lang_tag de-DE-1996 ? NO -loc_range:sl_IT canonically matches lang_tag de_DE_1996 ? NO --------------- -loc_range:sl_IT matches lang_tag de-DE ? NO -loc_range:sl_IT canonically matches lang_tag de_DE ? NO --------------- -loc_range:sl_IT matches lang_tag zh_Hans ? NO -loc_range:sl_IT canonically matches lang_tag zh_Hans ? NO --------------- -loc_range:sl_IT matches lang_tag de-CH-1996 ? NO -loc_range:sl_IT canonically matches lang_tag de_CH_1996 ? NO --------------- -loc_range:sl_IT matches lang_tag sl_IT ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_nedis-a-kirti-x-xyz ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_NEDIS_A_KIRTI_X_XYZ ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_rozaj ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_ROZAJ ? YES --------------- -loc_range:sl_IT matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES -loc_range:sl_IT canonically matches lang_tag sl_IT_NEDIS_ROJAZ_1901 ? YES --------------- -loc_range:sl_IT matches lang_tag i-enochian ? NO -loc_range:sl_IT canonically matches lang_tag @x=i-enochian ? NO --------------- -loc_range:sl_IT matches lang_tag sgn-CH-de ? NO -loc_range:sl_IT canonically matches lang_tag sgn_CH_DE ? NO --------------- -loc_range:sl_IT matches lang_tag art-lojban ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag i-lux ? NO -loc_range:sl_IT canonically matches lang_tag lb ? NO --------------- -loc_range:sl_IT matches lang_tag art-lojban ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag jbo ? NO -loc_range:sl_IT canonically matches lang_tag jbo ? NO --------------- -loc_range:sl_IT matches lang_tag en_sl_IT ? NO -loc_range:sl_IT canonically matches lang_tag en_SL_IT ? NO diff --git a/ext/intl/tests/locale_get_display_name2.phpt b/ext/intl/tests/locale_get_display_name2.phpt deleted file mode 100644 index 1010f168ae1f0..0000000000000 --- a/ext/intl/tests/locale_get_display_name2.phpt +++ /dev/null @@ -1,343 +0,0 @@ ---TEST-- -locale_get_display_name() icu >= 4.8 && icu < 50.1.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECTREGEX-- -locale='sl_IT_nedis_KIRTI' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_KIRTI# -disp_locale=fr : display_name=slovène #Italie, NEDIS_KIRTI# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_KIRTI# ------------------ -locale='sl_IT_nedis-a-kirti-x-xyz' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_A_KIRTI_X_XYZ# -disp_locale=fr : display_name=slovène #Italie, NEDIS_A_KIRTI_X_XYZ# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_A_KIRTI_X_XYZ# ------------------ -locale='sl_IT_rozaj' -disp_locale=en : display_name=Slovenian #Italy, Resian# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch)# ------------------ -locale='sl_IT_NEDIS_ROJAZ_1901' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_ROJAZ_1901# -disp_locale=fr : display_name=slovène #Italie, NEDIS_ROJAZ_1901# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_ROJAZ_1901# ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-hakka' -disp_locale=en : display_name=Chinese( #HAKKA#)? -disp_locale=fr : display_name=chinois( #HAKKA#)? -disp_locale=de : display_name=Chinesisch( #HAKKA#)? ------------------ -locale='zh-wuu' -disp_locale=en : display_name=Chinese #WUU# -disp_locale=fr : display_name=chinois #WUU# -disp_locale=de : display_name=Chinesisch #WUU# ------------------ -locale='i-tay' -disp_locale=en : display_name=i-tay -disp_locale=fr : display_name=i-tay -disp_locale=de : display_name=i-tay ------------------ -locale='sgn-BE-nl' -disp_locale=en : display_name=Sign Languages? #Belgium, NL# -disp_locale=fr : display_name=langues? des signes #Belgique, NL# -disp_locale=de : display_name=Gebärdensprache #Belgien, NL# ------------------ -locale='sgn-CH-de' -disp_locale=en : display_name=Sign Languages? #Switzerland, DE# -disp_locale=fr : display_name=langues? des signes #Suisse, DE# -disp_locale=de : display_name=Gebärdensprache #Schweiz, DE# ------------------ -locale='sl_IT_rozaj@currency=EUR' -disp_locale=en : display_name=Slovenian #Italy, Resian, [Cc]urrency=Euro# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia, Devise=euro# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch), Währung=Euro# ------------------ -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_name=Ukrainian #Ukraine, CALIFORNIA, [Cc]urrency# -disp_locale=fr : display_name=ukrainien #Ukraine, CALIFORNIA, Devise# -disp_locale=de : display_name=Ukrainisch #Ukraine, CALIFORNIA, Währung# ------------------ -locale='root' -disp_locale=en : display_name=Root -disp_locale=fr : display_name=racine -disp_locale=de : display_name=[Rr]oot ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_name=Ukrainian #[Cc]urrency=EURO# -disp_locale=fr : display_name=ukrainien #Devise=EURO# -disp_locale=de : display_name=Ukrainisch #Währung=EURO# ------------------ -locale='Hindi' -disp_locale=en : display_name=hindi -disp_locale=fr : display_name=hindi -disp_locale=de : display_name=hindi ------------------ -locale='de' -disp_locale=en : display_name=German -disp_locale=fr : display_name=allemand -disp_locale=de : display_name=Deutsch ------------------ -locale='fr' -disp_locale=en : display_name=French -disp_locale=fr : display_name=français -disp_locale=de : display_name=Französisch ------------------ -locale='ja' -disp_locale=en : display_name=Japanese -disp_locale=fr : display_name=japonais -disp_locale=de : display_name=Japanisch ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-Hant' -disp_locale=en : display_name=Chinese #Traditional# -disp_locale=fr : display_name=chinois #idéogrammes han (#variante traditionnelle#|traditionnels)# -disp_locale=de : display_name=Chinesisch #Traditionell# ------------------ -locale='zh-Hans' -disp_locale=en : display_name=Chinese #Simplified# -disp_locale=fr : display_name=chinois #idéogrammes han (#variante simplifiée#|simplifiés)# -disp_locale=de : display_name=Chinesisch #Vereinfacht# ------------------ -locale='sr-Cyrl' -disp_locale=en : display_name=Serbian #Cyrillic# -disp_locale=fr : display_name=serbe #cyrillique# -disp_locale=de : display_name=Serbisch #Kyrillisch# ------------------ -locale='sr-Latn' -disp_locale=en : display_name=Serbian #Latin# -disp_locale=fr : display_name=serbe #latin# -disp_locale=de : display_name=Serbisch #Lateinisch# ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_name=Chinese #Simplified, China# -disp_locale=fr : display_name=chinois #idéogrammes han (#variante simplifiée#|simplifiés), Chine# -disp_locale=de : display_name=Chinesisch #Vereinfacht, China# ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_name=Serbian #Latin, Serbia [aA]nd Montenegro# -disp_locale=fr : display_name=serbe #latin, Serbie-et-Monténégro# -disp_locale=de : display_name=Serbisch #Lateinisch, Serbien und Montenegro# ------------------ -locale='sl-rozaj' -disp_locale=en : display_name=Slovenian #Resian# -disp_locale=fr : display_name=slovène #dialecte de Resia# -disp_locale=de : display_name=Slowenisch( #(ROZAJ|Resianisch)#)? ------------------ -locale='sl-nedis' -disp_locale=en : display_name=Slovenian #Natisone dialect# -disp_locale=fr : display_name=slovène #dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Natisone-Dialekt# ------------------ -locale='de-CH-1901' -disp_locale=en : display_name=German #Switzerland, Traditional German orthography# -disp_locale=fr : display_name=allemand #Suisse, orthographe allemande traditionnelle# -disp_locale=de : display_name=Deutsch #Schweiz, (1901|[aA]lte deutsche Rechtschreibung)# ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_name=Slovenian #Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_name=Slovenian #Latin, Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #latin, Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Lateinisch, Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='de-DE' -disp_locale=en : display_name=German #Germany# -disp_locale=fr : display_name=allemand #Allemagne# -disp_locale=de : display_name=Deutsch #Deutschland# ------------------ -locale='en-US' -disp_locale=en : display_name=English #United States# -disp_locale=fr : display_name=anglais #États-Unis# -disp_locale=de : display_name=Englisch #Vereinigte Staaten# ------------------ -locale='es-419' -disp_locale=en : display_name=Spanish #Latin America# -disp_locale=fr : display_name=espagnol #Amérique latine# -disp_locale=de : display_name=Spanisch #Lateinamerika# ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_name=German #Switzerland, Private-Use=phonebk# -disp_locale=fr : display_name=allemand #Suisse, Usage privé=phonebk# -disp_locale=de : display_name=Deutsch #Schweiz, Privatnutzung=phonebk# ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_name=Azerbaijani #Arabic, Private-Use=aze-derbend# -disp_locale=fr : display_name=azéri #arabe, Usage privé=aze-derbend# -disp_locale=de : display_name=Aserbaidschanisch #Arabisch, Privatnutzung=aze-derbend# ------------------ -locale='zh-min' -disp_locale=en : display_name=Chinese #MIN# -disp_locale=fr : display_name=chinois #MIN# -disp_locale=de : display_name=Chinesisch #MIN# ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_name=Chinese #MIN, NAN_HANT_CN# -disp_locale=fr : display_name=chinois #MIN, NAN_HANT_CN# -disp_locale=de : display_name=Chinesisch #MIN, NAN_HANT_CN# ------------------ -locale='x-whatever' -disp_locale=en : display_name=x-whatever #Private-Use=whatever# -disp_locale=fr : display_name=x-whatever #Usage privé=whatever# -disp_locale=de : display_name=x-whatever #Privatnutzung=whatever# ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_name=qaa #Qaaa, QM, Private-Use=southern# -disp_locale=fr : display_name=qaa #Qaaa, QM, Usage privé=southern# -disp_locale=de : display_name=qaa #Qaaa, QM, Privatnutzung=southern# ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_name=Serbian #Latin, QM# -disp_locale=fr : display_name=serbe #latin, QM# -disp_locale=de : display_name=Serbisch #Lateinisch, QM# ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_name=Serbian #Qaaa, Serbia [aA]nd Montenegro# -disp_locale=fr : display_name=serbe #Qaaa, Serbie-et-Monténégro# -disp_locale=de : display_name=Serbisch #Qaaa, Serbien und Montenegro# ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_name=English #United States, attribute=islamcal# -disp_locale=fr : display_name=anglais #États-Unis, attribute=islamcal# -disp_locale=de : display_name=Englisch #Vereinigte Staaten, attribute=islamcal# ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_name=Chinese #China, a=myext, Private-Use=private# -disp_locale=fr : display_name=chinois #Chine, a=myext, Usage privé=private# -disp_locale=de : display_name=Chinesisch #China, a=myext, Privatnutzung=private# ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_name=English #a=myext, b=another# -disp_locale=fr : display_name=anglais #a=myext, b=another# -disp_locale=de : display_name=Englisch #a=myext, b=another# ------------------ -locale='de-419-DE' -disp_locale=en : display_name=German #Latin America, DE# -disp_locale=fr : display_name=allemand #Amérique latine, DE# -disp_locale=de : display_name=Deutsch #Lateinamerika, DE# ------------------ -locale='a-DE' -disp_locale=en : display_name=a #Germany# -disp_locale=fr : display_name=a #Allemagne# -disp_locale=de : display_name=a #Deutschland# ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_name=Arabic #a=aaa, b=bbb# -disp_locale=fr : display_name=arabe #a=aaa, b=bbb# -disp_locale=de : display_name=Arabisch #a=aaa, b=bbb# ------------------ diff --git a/ext/intl/tests/locale_get_display_name3.phpt b/ext/intl/tests/locale_get_display_name3.phpt deleted file mode 100644 index b0c45e6f21d48..0000000000000 --- a/ext/intl/tests/locale_get_display_name3.phpt +++ /dev/null @@ -1,343 +0,0 @@ ---TEST-- -locale_get_display_name() icu >= 51.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- - ---EXPECTREGEX-- -locale='sl_IT_nedis_KIRTI' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_KIRTI# -disp_locale=fr : display_name=slovène #Italie, NEDIS_KIRTI# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_KIRTI# ------------------ -locale='sl_IT_nedis-a-kirti-x-xyz' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_A_KIRTI_X_XYZ# -disp_locale=fr : display_name=slovène #Italie, NEDIS_A_KIRTI_X_XYZ# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_A_KIRTI_X_XYZ# ------------------ -locale='sl_IT_rozaj' -disp_locale=en : display_name=Slovenian #Italy, Resian# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch)# ------------------ -locale='sl_IT_NEDIS_ROJAZ_1901' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_ROJAZ_1901# -disp_locale=fr : display_name=slovène #Italie, NEDIS_ROJAZ_1901# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_ROJAZ_1901# ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-hakka' -disp_locale=en : display_name=Chinese( #HAKKA#)? -disp_locale=fr : display_name=chinois( #HAKKA#)? -disp_locale=de : display_name=Chinesisch( #HAKKA#)? ------------------ -locale='zh-wuu' -disp_locale=en : display_name=Chinese #WUU# -disp_locale=fr : display_name=chinois #WUU# -disp_locale=de : display_name=Chinesisch #WUU# ------------------ -locale='i-tay' -disp_locale=en : display_name=i-tay -disp_locale=fr : display_name=i-tay -disp_locale=de : display_name=i-tay ------------------ -locale='sgn-BE-nl' -disp_locale=en : display_name=Sign Languages? #Belgium, NL# -disp_locale=fr : display_name=langues? des signes #Belgique, NL# -disp_locale=de : display_name=Gebärdensprache #Belgien, NL# ------------------ -locale='sgn-CH-de' -disp_locale=en : display_name=Sign Languages? #Switzerland, DE# -disp_locale=fr : display_name=langues? des signes #Suisse, DE# -disp_locale=de : display_name=Gebärdensprache #Schweiz, DE# ------------------ -locale='sl_IT_rozaj@currency=EUR' -disp_locale=en : display_name=Slovenian #Italy, Resian, [Cc]urrency=Euro# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia, [Dd]evise=euro# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch), Währung=Euro# ------------------ -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_name=Ukrainian #Ukraine, CALIFORNIA, [Cc]urrency# -disp_locale=fr : display_name=ukrainien #Ukraine, CALIFORNIA, [Dd]evise# -disp_locale=de : display_name=Ukrainisch #Ukraine, CALIFORNIA, Währung# ------------------ -locale='root' -disp_locale=en : display_name=Root -disp_locale=fr : display_name=racine -disp_locale=de : display_name=[Rr]oot ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_name=Ukrainian #[Cc]urrency=EURO# -disp_locale=fr : display_name=ukrainien #[Dd]evise=EURO# -disp_locale=de : display_name=Ukrainisch #Währung=EURO# ------------------ -locale='Hindi' -disp_locale=en : display_name=hindi -disp_locale=fr : display_name=hindi -disp_locale=de : display_name=hindi ------------------ -locale='de' -disp_locale=en : display_name=German -disp_locale=fr : display_name=allemand -disp_locale=de : display_name=Deutsch ------------------ -locale='fr' -disp_locale=en : display_name=French -disp_locale=fr : display_name=français -disp_locale=de : display_name=Französisch ------------------ -locale='ja' -disp_locale=en : display_name=Japanese -disp_locale=fr : display_name=japonais -disp_locale=de : display_name=Japanisch ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-Hant' -disp_locale=en : display_name=Chinese #Traditional# -disp_locale=fr : display_name=chinois #traditionnel# -disp_locale=de : display_name=Chinesisch #Traditionell# ------------------ -locale='zh-Hans' -disp_locale=en : display_name=Chinese #Simplified# -disp_locale=fr : display_name=chinois #simplifié# -disp_locale=de : display_name=Chinesisch #Vereinfacht# ------------------ -locale='sr-Cyrl' -disp_locale=en : display_name=Serbian #Cyrillic# -disp_locale=fr : display_name=serbe #cyrillique# -disp_locale=de : display_name=Serbisch #Kyrillisch# ------------------ -locale='sr-Latn' -disp_locale=en : display_name=Serbian #Latin# -disp_locale=fr : display_name=serbe #latin# -disp_locale=de : display_name=Serbisch #Lateinisch# ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_name=Chinese #Simplified, China# -disp_locale=fr : display_name=chinois #simplifié, Chine# -disp_locale=de : display_name=Chinesisch #Vereinfacht, China# ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_name=Serbian #Latin, Serbia# -disp_locale=fr : display_name=serbe #latin, Serbie# -disp_locale=de : display_name=Serbisch #Lateinisch, Serbien# ------------------ -locale='sl-rozaj' -disp_locale=en : display_name=Slovenian #Resian# -disp_locale=fr : display_name=slovène #dialecte de Resia# -disp_locale=de : display_name=Slowenisch( #(ROZAJ|Resianisch)#)? ------------------ -locale='sl-nedis' -disp_locale=en : display_name=Slovenian #Natisone dialect# -disp_locale=fr : display_name=slovène #dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Natisone-Dialekt# ------------------ -locale='de-CH-1901' -disp_locale=en : display_name=German #Switzerland, Traditional German orthography# -disp_locale=fr : display_name=allemand #Suisse, orthographe allemande traditionnelle# -disp_locale=de : display_name=Deutsch #Schweiz, (1901|[aA]lte deutsche Rechtschreibung)# ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_name=Slovenian #Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_name=Slovenian #Latin, Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #latin, Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Lateinisch, Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='de-DE' -disp_locale=en : display_name=German #Germany# -disp_locale=fr : display_name=allemand #Allemagne# -disp_locale=de : display_name=Deutsch #Deutschland# ------------------ -locale='en-US' -disp_locale=en : display_name=English #United States# -disp_locale=fr : display_name=anglais #États-Unis# -disp_locale=de : display_name=Englisch #Vereinigte Staaten# ------------------ -locale='es-419' -disp_locale=en : display_name=Spanish #Latin America# -disp_locale=fr : display_name=espagnol #Amérique latine# -disp_locale=de : display_name=Spanisch #Lateinamerika# ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_name=German #Switzerland, Private-Use=phonebk# -disp_locale=fr : display_name=allemand #Suisse, Usage privé=phonebk# -disp_locale=de : display_name=Deutsch #Schweiz, Privatnutzung=phonebk# ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_name=Azerbaijani #Arabic, Private-Use=aze-derbend# -disp_locale=fr : display_name=azéri #arabe, Usage privé=aze-derbend# -disp_locale=de : display_name=Aserbaidschanisch #Arabisch, Privatnutzung=aze-derbend# ------------------ -locale='zh-min' -disp_locale=en : display_name=Chinese #MIN# -disp_locale=fr : display_name=chinois #MIN# -disp_locale=de : display_name=Chinesisch #MIN# ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_name=Chinese #MIN, NAN_HANT_CN# -disp_locale=fr : display_name=chinois #MIN, NAN_HANT_CN# -disp_locale=de : display_name=Chinesisch #MIN, NAN_HANT_CN# ------------------ -locale='x-whatever' -disp_locale=en : display_name=x-whatever #Private-Use=whatever# -disp_locale=fr : display_name=x-whatever #Usage privé=whatever# -disp_locale=de : display_name=x-whatever #Privatnutzung=whatever# ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_name=qaa #Qaaa, QM, Private-Use=southern# -disp_locale=fr : display_name=qaa #Qaaa, QM, Usage privé=southern# -disp_locale=de : display_name=qaa #Qaaa, QM, Privatnutzung=southern# ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_name=Serbian #Latin, QM# -disp_locale=fr : display_name=serbe #latin, QM# -disp_locale=de : display_name=Serbisch #Lateinisch, QM# ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_name=Serbian #Qaaa, Serbia# -disp_locale=fr : display_name=serbe #Qaaa, Serbie# -disp_locale=de : display_name=Serbisch #Qaaa, Serbien# ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_name=English #United States, attribute=islamcal# -disp_locale=fr : display_name=anglais #États-Unis, attribute=islamcal# -disp_locale=de : display_name=Englisch #Vereinigte Staaten, attribute=islamcal# ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_name=Chinese #China, a=myext, Private-Use=private# -disp_locale=fr : display_name=chinois #Chine, a=myext, Usage privé=private# -disp_locale=de : display_name=Chinesisch #China, a=myext, Privatnutzung=private# ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_name=English #a=myext, b=another# -disp_locale=fr : display_name=anglais #a=myext, b=another# -disp_locale=de : display_name=Englisch #a=myext, b=another# ------------------ -locale='de-419-DE' -disp_locale=en : display_name=German #Latin America, DE# -disp_locale=fr : display_name=allemand #Amérique latine, DE# -disp_locale=de : display_name=Deutsch #Lateinamerika, DE# ------------------ -locale='a-DE' -disp_locale=en : display_name=a #Germany# -disp_locale=fr : display_name=a #Allemagne# -disp_locale=de : display_name=a #Deutschland# ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_name=Arabic #a=aaa, b=bbb# -disp_locale=fr : display_name=arabe #a=aaa, b=bbb# -disp_locale=de : display_name=Arabisch #a=aaa, b=bbb# ------------------ diff --git a/ext/intl/tests/locale_get_display_name4.phpt b/ext/intl/tests/locale_get_display_name4.phpt deleted file mode 100644 index e2773a2cf039e..0000000000000 --- a/ext/intl/tests/locale_get_display_name4.phpt +++ /dev/null @@ -1,344 +0,0 @@ ---TEST-- -locale_get_display_name() icu >= 52.1 && icu < 53.1 ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 53.1'); ?> ---FILE-- - ---EXPECTREGEX-- -locale='sl_IT_nedis_KIRTI' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_KIRTI# -disp_locale=fr : display_name=slovène #Italie, NEDIS_KIRTI# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_KIRTI# ------------------ -locale='sl_IT_nedis-a-kirti-x-xyz' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_A_KIRTI_X_XYZ# -disp_locale=fr : display_name=slovène #Italie, NEDIS_A_KIRTI_X_XYZ# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_A_KIRTI_X_XYZ# ------------------ -locale='sl_IT_rozaj' -disp_locale=en : display_name=Slovenian #Italy, Resian# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch)# ------------------ -locale='sl_IT_NEDIS_ROJAZ_1901' -disp_locale=en : display_name=Slovenian #Italy, NEDIS_ROJAZ_1901# -disp_locale=fr : display_name=slovène #Italie, NEDIS_ROJAZ_1901# -disp_locale=de : display_name=Slowenisch #Italien, NEDIS_ROJAZ_1901# ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-hakka' -disp_locale=en : display_name=Chinese( #HAKKA#)? -disp_locale=fr : display_name=chinois( #HAKKA#)? -disp_locale=de : display_name=Chinesisch( #HAKKA#)? ------------------ -locale='zh-wuu' -disp_locale=en : display_name=Chinese #WUU# -disp_locale=fr : display_name=chinois #WUU# -disp_locale=de : display_name=Chinesisch #WUU# ------------------ -locale='i-tay' -disp_locale=en : display_name=i-tay -disp_locale=fr : display_name=i-tay -disp_locale=de : display_name=i-tay ------------------ -locale='sgn-BE-nl' -disp_locale=en : display_name=Sign Languages? #Belgium, NL# -disp_locale=fr : display_name=langues? des signes #Belgique, NL# -disp_locale=de : display_name=Gebärdensprache #Belgien, NL# ------------------ -locale='sgn-CH-de' -disp_locale=en : display_name=Sign Languages? #Switzerland, DE# -disp_locale=fr : display_name=langues? des signes #Suisse, DE# -disp_locale=de : display_name=Gebärdensprache #Schweiz, DE# ------------------ -locale='sl_IT_rozaj@currency=EUR' -disp_locale=en : display_name=Slovenian #Italy, Resian, [Cc]urrency=Euro# -disp_locale=fr : display_name=slovène #Italie, dialecte de Resia, [Dd]evise=euro# -disp_locale=de : display_name=Slowenisch #Italien, (ROZAJ|Resianisch), Währung=Euro# ------------------ -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_name= -disp_locale=fr : display_name= -disp_locale=de : display_name= ------------------ -locale='root' -disp_locale=en : display_name=Root -disp_locale=fr : display_name=racine -disp_locale=de : display_name=[Rr]oot ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_name=Ukrainian #[Cc]urrency=EURO# -disp_locale=fr : display_name=ukrainien #[Dd]evise=EURO# -disp_locale=de : display_name=Ukrainisch #Währung=EURO# ------------------ -locale='Hindi' -disp_locale=en : display_name=hindi -disp_locale=fr : display_name=hindi -disp_locale=de : display_name=hindi ------------------ -locale='de' -disp_locale=en : display_name=German -disp_locale=fr : display_name=allemand -disp_locale=de : display_name=Deutsch ------------------ -locale='fr' -disp_locale=en : display_name=French -disp_locale=fr : display_name=français -disp_locale=de : display_name=Französisch ------------------ -locale='ja' -disp_locale=en : display_name=Japanese -disp_locale=fr : display_name=japonais -disp_locale=de : display_name=Japanisch ------------------ -locale='i-enochian' -disp_locale=en : display_name=i-enochian #Private-Use=i-enochian# -disp_locale=fr : display_name=i-enochian #Usage privé=i-enochian# -disp_locale=de : display_name=i-enochian #Privatnutzung=i-enochian# ------------------ -locale='zh-Hant' -disp_locale=en : display_name=Chinese #Traditional# -disp_locale=fr : display_name=chinois #traditionnel# -disp_locale=de : display_name=Chinesisch #Traditionell# ------------------ -locale='zh-Hans' -disp_locale=en : display_name=Chinese #Simplified# -disp_locale=fr : display_name=chinois #simplifié# -disp_locale=de : display_name=Chinesisch #Vereinfacht# ------------------ -locale='sr-Cyrl' -disp_locale=en : display_name=Serbian #Cyrillic# -disp_locale=fr : display_name=serbe #cyrillique# -disp_locale=de : display_name=Serbisch #Kyrillisch# ------------------ -locale='sr-Latn' -disp_locale=en : display_name=Serbian #Latin# -disp_locale=fr : display_name=serbe #latin# -disp_locale=de : display_name=Serbisch #Lateinisch# ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_name=Chinese #Simplified, China# -disp_locale=fr : display_name=chinois #simplifié, Chine# -disp_locale=de : display_name=Chinesisch #Vereinfacht, China# ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_name=Serbian #Latin, Serbia# -disp_locale=fr : display_name=serbe #latin, Serbie# -disp_locale=de : display_name=Serbisch #Lateinisch, Serbien# ------------------ -locale='sl-rozaj' -disp_locale=en : display_name=Slovenian #Resian# -disp_locale=fr : display_name=slovène #dialecte de Resia# -disp_locale=de : display_name=Slowenisch( #(ROZAJ|Resianisch)#)? ------------------ -locale='sl-nedis' -disp_locale=en : display_name=Slovenian #Natisone dialect# -disp_locale=fr : display_name=slovène #dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Natisone-Dialekt# ------------------ -locale='de-CH-1901' -disp_locale=en : display_name=German #Switzerland, Traditional German orthography# -disp_locale=fr : display_name=allemand #Suisse, orthographe allemande traditionnelle# -disp_locale=de : display_name=Deutsch #Schweiz, (1901|[aA]lte deutsche Rechtschreibung)# ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_name=Slovenian #Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_name=Slovenian #Latin, Italy, Natisone dialect# -disp_locale=fr : display_name=slovène #latin, Italie, dialecte de Natisone# -disp_locale=de : display_name=Slowenisch #Lateinisch, Italien, (NEDIS|Natisone-Dialekt)# ------------------ -locale='de-DE' -disp_locale=en : display_name=German #Germany# -disp_locale=fr : display_name=allemand #Allemagne# -disp_locale=de : display_name=Deutsch #Deutschland# ------------------ -locale='en-US' -disp_locale=en : display_name=English #United States# -disp_locale=fr : display_name=anglais #États-Unis# -disp_locale=de : display_name=Englisch #Vereinigte Staaten# ------------------ -locale='es-419' -disp_locale=en : display_name=Spanish #Latin America# -disp_locale=fr : display_name=espagnol #Amérique latine# -disp_locale=de : display_name=Spanisch #Lateinamerika# ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_name=German #Switzerland, Private-Use=phonebk# -disp_locale=fr : display_name=allemand #Suisse, Usage privé=phonebk# -disp_locale=de : display_name=Deutsch #Schweiz, Privatnutzung=phonebk# ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_name=Azerbaijani #Arabic, Private-Use=aze-derbend# -disp_locale=fr : display_name=azéri #arabe, Usage privé=aze-derbend# -disp_locale=de : display_name=Aserbaidschanisch #Arabisch, Privatnutzung=aze-derbend# ------------------ -locale='zh-min' -disp_locale=en : display_name=Chinese #MIN# -disp_locale=fr : display_name=chinois #MIN# -disp_locale=de : display_name=Chinesisch #MIN# ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_name=Chinese #MIN, NAN_HANT_CN# -disp_locale=fr : display_name=chinois #MIN, NAN_HANT_CN# -disp_locale=de : display_name=Chinesisch #MIN, NAN_HANT_CN# ------------------ -locale='x-whatever' -disp_locale=en : display_name=x-whatever #Private-Use=whatever# -disp_locale=fr : display_name=x-whatever #Usage privé=whatever# -disp_locale=de : display_name=x-whatever #Privatnutzung=whatever# ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_name=qaa #Qaaa, QM, Private-Use=southern# -disp_locale=fr : display_name=qaa #Qaaa, QM, Usage privé=southern# -disp_locale=de : display_name=qaa #Qaaa, QM, Privatnutzung=southern# ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_name=Serbian #Latin, QM# -disp_locale=fr : display_name=serbe #latin, QM# -disp_locale=de : display_name=Serbisch #Lateinisch, QM# ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_name=Serbian #Qaaa, Serbia# -disp_locale=fr : display_name=serbe #Qaaa, Serbie# -disp_locale=de : display_name=Serbisch #Qaaa, Serbien# ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_name=English #United States, attribute=islamcal# -disp_locale=fr : display_name=anglais #États-Unis, attribute=islamcal# -disp_locale=de : display_name=Englisch #Vereinigte Staaten, attribute=islamcal# ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_name=Chinese #China, a=myext, Private-Use=private# -disp_locale=fr : display_name=chinois #Chine, a=myext, Usage privé=private# -disp_locale=de : display_name=Chinesisch #China, a=myext, Privatnutzung=private# ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_name=English #a=myext, b=another# -disp_locale=fr : display_name=anglais #a=myext, b=another# -disp_locale=de : display_name=Englisch #a=myext, b=another# ------------------ -locale='de-419-DE' -disp_locale=en : display_name=German #Latin America, DE# -disp_locale=fr : display_name=allemand #Amérique latine, DE# -disp_locale=de : display_name=Deutsch #Lateinamerika, DE# ------------------ -locale='a-DE' -disp_locale=en : display_name=a #Germany# -disp_locale=fr : display_name=a #Allemagne# -disp_locale=de : display_name=a #Deutschland# ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_name=Arabic #a=aaa, b=bbb# -disp_locale=fr : display_name=arabe #a=aaa, b=bbb# -disp_locale=de : display_name=Arabisch #a=aaa, b=bbb# ------------------ diff --git a/ext/intl/tests/locale_get_display_name5.phpt b/ext/intl/tests/locale_get_display_name5.phpt index 62e46099da27f..27f86f98f2a3e 100644 --- a/ext/intl/tests/locale_get_display_name5.phpt +++ b/ext/intl/tests/locale_get_display_name5.phpt @@ -3,7 +3,6 @@ locale_get_display_name() icu >= 53.1 --EXTENSIONS-- intl --SKIPIF-- -= 53.1'); ?> = 0) die('skip for ICU < 64.0'); ?> --FILE-- = 4.8 && icu < 51.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECTREGEX-- -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_region=Ukraine -disp_locale=fr : display_region=Ukraine -disp_locale=de : display_region=Ukraine ------------------ -locale='root' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='Hindi' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='de' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='fr' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='ja' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='i-enochian' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hant' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hans' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='sr-Cyrl' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='sr-Latn' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_region=China -disp_locale=fr : display_region=Chine -disp_locale=de : display_region=China ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_region=Serbia [Aa]nd Montenegro -disp_locale=fr : display_region=Serbie-et-Monténégro -disp_locale=de : display_region=Serbien und Montenegro ------------------ -locale='sl-rozaj' -disp_locale=en : display_region=(ROZAJ)? -disp_locale=fr : display_region=(ROZAJ)? -disp_locale=de : display_region=(ROZAJ)? ------------------ -locale='sl-nedis' -disp_locale=en : display_region=(NEDIS)? -disp_locale=fr : display_region=(NEDIS)? -disp_locale=de : display_region=(NEDIS)? ------------------ -locale='de-CH-1901' -disp_locale=en : display_region=Switzerland -disp_locale=fr : display_region=Suisse -disp_locale=de : display_region=Schweiz ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_region=Italy -disp_locale=fr : display_region=Italie -disp_locale=de : display_region=Italien ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_region=Italy -disp_locale=fr : display_region=Italie -disp_locale=de : display_region=Italien ------------------ -locale='de-DE' -disp_locale=en : display_region=Germany -disp_locale=fr : display_region=Allemagne -disp_locale=de : display_region=Deutschland ------------------ -locale='en-US' -disp_locale=en : display_region=United States -disp_locale=fr : display_region=États-Unis -disp_locale=de : display_region=Vereinigte Staaten ------------------ -locale='es-419' -disp_locale=en : display_region=Latin America -disp_locale=fr : display_region=Amérique latine -disp_locale=de : display_region=Lateinamerika ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_region=Switzerland -disp_locale=fr : display_region=Suisse -disp_locale=de : display_region=Schweiz ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_region=X? -disp_locale=fr : display_region=X? -disp_locale=de : display_region=X? ------------------ -locale='zh-min' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_region=MIN -disp_locale=fr : display_region=MIN -disp_locale=de : display_region=MIN ------------------ -locale='x-whatever' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_region=QM -disp_locale=fr : display_region=QM -disp_locale=de : display_region=QM ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_region=QM -disp_locale=fr : display_region=QM -disp_locale=de : display_region=QM ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_region=Serbia [Aa]nd Montenegro -disp_locale=fr : display_region=Serbie-et-Monténégro -disp_locale=de : display_region=Serbien und Montenegro ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_region=United States -disp_locale=fr : display_region=États-Unis -disp_locale=de : display_region=Vereinigte Staaten ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_region=China -disp_locale=fr : display_region=Chine -disp_locale=de : display_region=China ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_region=A? -disp_locale=fr : display_region=A? -disp_locale=de : display_region=A? ------------------ -locale='de-419-DE' -disp_locale=en : display_region=Latin America -disp_locale=fr : display_region=Amérique latine -disp_locale=de : display_region=Lateinamerika ------------------ -locale='a-DE' -disp_locale=en : display_region=Germany -disp_locale=fr : display_region=Allemagne -disp_locale=de : display_region=Deutschland ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_region=A? -disp_locale=fr : display_region=A? -disp_locale=de : display_region=A? ------------------ diff --git a/ext/intl/tests/locale_get_display_region3.phpt b/ext/intl/tests/locale_get_display_region3.phpt deleted file mode 100644 index 56f19e0aafd84..0000000000000 --- a/ext/intl/tests/locale_get_display_region3.phpt +++ /dev/null @@ -1,276 +0,0 @@ ---TEST-- -locale_get_display_region() icu >= 51.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 51.2'); ?> ---FILE-- - ---EXPECTREGEX-- -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_region=Ukraine -disp_locale=fr : display_region=Ukraine -disp_locale=de : display_region=Ukraine ------------------ -locale='root' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='Hindi' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='de' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='fr' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='ja' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='i-enochian' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hant' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hans' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='sr-Cyrl' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='sr-Latn' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_region=China -disp_locale=fr : display_region=Chine -disp_locale=de : display_region=China ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_region=Serbia -disp_locale=fr : display_region=Serbie -disp_locale=de : display_region=Serbien ------------------ -locale='sl-rozaj' -disp_locale=en : display_region=(ROZAJ)? -disp_locale=fr : display_region=(ROZAJ)? -disp_locale=de : display_region=(ROZAJ)? ------------------ -locale='sl-nedis' -disp_locale=en : display_region=(NEDIS)? -disp_locale=fr : display_region=(NEDIS)? -disp_locale=de : display_region=(NEDIS)? ------------------ -locale='de-CH-1901' -disp_locale=en : display_region=Switzerland -disp_locale=fr : display_region=Suisse -disp_locale=de : display_region=Schweiz ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_region=Italy -disp_locale=fr : display_region=Italie -disp_locale=de : display_region=Italien ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_region=Italy -disp_locale=fr : display_region=Italie -disp_locale=de : display_region=Italien ------------------ -locale='de-DE' -disp_locale=en : display_region=Germany -disp_locale=fr : display_region=Allemagne -disp_locale=de : display_region=Deutschland ------------------ -locale='en-US' -disp_locale=en : display_region=United States -disp_locale=fr : display_region=États-Unis -disp_locale=de : display_region=Vereinigte Staaten ------------------ -locale='es-419' -disp_locale=en : display_region=Latin America -disp_locale=fr : display_region=Amérique latine -disp_locale=de : display_region=Lateinamerika ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_region=Switzerland -disp_locale=fr : display_region=Suisse -disp_locale=de : display_region=Schweiz ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_region=X? -disp_locale=fr : display_region=X? -disp_locale=de : display_region=X? ------------------ -locale='zh-min' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_region=MIN -disp_locale=fr : display_region=MIN -disp_locale=de : display_region=MIN ------------------ -locale='x-whatever' -disp_locale=en : display_region= -disp_locale=fr : display_region= -disp_locale=de : display_region= ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_region=QM -disp_locale=fr : display_region=QM -disp_locale=de : display_region=QM ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_region=QM -disp_locale=fr : display_region=QM -disp_locale=de : display_region=QM ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_region=Serbia -disp_locale=fr : display_region=Serbie -disp_locale=de : display_region=Serbien ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_region=United States -disp_locale=fr : display_region=États-Unis -disp_locale=de : display_region=Vereinigte Staaten ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_region=China -disp_locale=fr : display_region=Chine -disp_locale=de : display_region=China ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_region=A? -disp_locale=fr : display_region=A? -disp_locale=de : display_region=A? ------------------ -locale='de-419-DE' -disp_locale=en : display_region=Latin America -disp_locale=fr : display_region=Amérique latine -disp_locale=de : display_region=Lateinamerika ------------------ -locale='a-DE' -disp_locale=en : display_region=Germany -disp_locale=fr : display_region=Allemagne -disp_locale=de : display_region=Deutschland ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_region=A? -disp_locale=fr : display_region=A? -disp_locale=de : display_region=A? ------------------ diff --git a/ext/intl/tests/locale_get_display_script3.phpt b/ext/intl/tests/locale_get_display_script3.phpt deleted file mode 100644 index 1016a171569ad..0000000000000 --- a/ext/intl/tests/locale_get_display_script3.phpt +++ /dev/null @@ -1,276 +0,0 @@ ---TEST-- -locale_get_display_script() icu >= 49 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 52.1'); ?> ---FILE-- - ---EXPECT-- -locale='uk-ua_CALIFORNIA@currency=;currency=GRN' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='root' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='uk@currency=EURO' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='Hindi' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='de' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='fr' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='ja' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='i-enochian' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='zh-Hant' -disp_locale=en : display_script=Traditional Han -disp_locale=fr : display_script=chinois traditionnel -disp_locale=de : display_script=Traditionelles Chinesisch ------------------ -locale='zh-Hans' -disp_locale=en : display_script=Simplified Han -disp_locale=fr : display_script=chinois simplifié -disp_locale=de : display_script=Vereinfachtes Chinesisch ------------------ -locale='sr-Cyrl' -disp_locale=en : display_script=Cyrillic -disp_locale=fr : display_script=cyrillique -disp_locale=de : display_script=Kyrillisch ------------------ -locale='sr-Latn' -disp_locale=en : display_script=Latin -disp_locale=fr : display_script=latin -disp_locale=de : display_script=Lateinisch ------------------ -locale='zh-Hans-CN' -disp_locale=en : display_script=Simplified Han -disp_locale=fr : display_script=chinois simplifié -disp_locale=de : display_script=Vereinfachtes Chinesisch ------------------ -locale='sr-Latn-CS' -disp_locale=en : display_script=Latin -disp_locale=fr : display_script=latin -disp_locale=de : display_script=Lateinisch ------------------ -locale='sl-rozaj' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='sl-nedis' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='de-CH-1901' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='sl-IT-nedis' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='sl-Latn-IT-nedis' -disp_locale=en : display_script=Latin -disp_locale=fr : display_script=latin -disp_locale=de : display_script=Lateinisch ------------------ -locale='de-DE' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='en-US' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='es-419' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='de-CH-x-phonebk' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='az-Arab-x-AZE-derbend' -disp_locale=en : display_script=Arabic -disp_locale=fr : display_script=arabe -disp_locale=de : display_script=Arabisch ------------------ -locale='zh-min' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='zh-min-nan-Hant-CN' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='x-whatever' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='qaa-Qaaa-QM-x-southern' -disp_locale=en : display_script=Qaaa -disp_locale=fr : display_script=Qaaa -disp_locale=de : display_script=Qaaa ------------------ -locale='sr-Latn-QM' -disp_locale=en : display_script=Latin -disp_locale=fr : display_script=latin -disp_locale=de : display_script=Lateinisch ------------------ -locale='sr-Qaaa-CS' -disp_locale=en : display_script=Qaaa -disp_locale=fr : display_script=Qaaa -disp_locale=de : display_script=Qaaa ------------------ -locale='en-US-u-islamCal' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='zh-CN-a-myExt-x-private' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='en-a-myExt-b-another' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='de-419-DE' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='a-DE' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ -locale='ar-a-aaa-b-bbb-a-ccc' -disp_locale=en : display_script= -disp_locale=fr : display_script= -disp_locale=de : display_script= ------------------ diff --git a/ext/intl/tests/locale_get_display_script4.phpt b/ext/intl/tests/locale_get_display_script4.phpt index cf1e5b0cd5c67..77c630393c88a 100644 --- a/ext/intl/tests/locale_get_display_script4.phpt +++ b/ext/intl/tests/locale_get_display_script4.phpt @@ -2,8 +2,6 @@ locale_get_display_script() icu >= 52.1 --EXTENSIONS-- intl ---SKIPIF-- -= 52.1'; ?> --FILE-- = 4.8 && icu < 50.1.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- - ---EXPECT-- --------------- -loc_range:de-de -lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2 - -lookup result:de-DE -Canonical lookup result:de_de --------------- -loc_range:sl_IT -lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2 - -lookup result:sl_IT -Canonical lookup result:sl_it --------------- -loc_range:sl_IT_Nedis -lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2 - -lookup result:sl_IT -Canonical lookup result:sl_it --------------- -loc_range:jbo -lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2 - -lookup result:jbo -Canonical lookup result:jbo --------------- -loc_range:art-lojban -lang_tags: de-DEVA,de-DE-1996,de-DE,zh_Hans,de-CH-1996,sl_IT,sl_IT_nedis-a-kirti-x-xyz,sl_IT_rozaj,sl_IT_NEDIS_ROJAZ_1901,i-enochian,sgn-CH-de,art-lojban,i-lux,art-lojban,jbo,en_sl_IT,zh-Hant-CN-x-prv1-prv2 - -lookup result:art-lojban -Canonical lookup result:jbo diff --git a/ext/intl/tests/msgfmt_format_intlcalendar.phpt b/ext/intl/tests/msgfmt_format_intlcalendar.phpt deleted file mode 100644 index 26ae9925fe33e..0000000000000 --- a/ext/intl/tests/msgfmt_format_intlcalendar.phpt +++ /dev/null @@ -1,28 +0,0 @@ ---TEST-- -MessageFormat accepts IntlCalendar args icu >= 4.8 && icu < 50.1.2 ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -format(array($cal)), "\n"; - -//NOT FIXED: -/*$msgf = new MessageFormatter('en_US', -'{1, select, date {{0,date,full}} other {{0,time,h:m:s a V}}}'); - -echo "msgf2: ", $msgf->format(array($time, 'date')), " ", - $msgf->format(array($time, 'time')), "\n"; -*/ - -?> ---EXPECT-- -Quinta-feira, 17 de Maio de 2012 5:35:36 p.m. WEST diff --git a/ext/intl/tests/msgfmt_format_intlcalendar_variant2.phpt b/ext/intl/tests/msgfmt_format_intlcalendar_variant2.phpt deleted file mode 100644 index 3747ab6913184..0000000000000 --- a/ext/intl/tests/msgfmt_format_intlcalendar_variant2.phpt +++ /dev/null @@ -1,29 +0,0 @@ ---TEST-- -MessageFormat accepts IntlCalendar args ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU >= 51.2 and < 52.1'); ?> ---FILE-- -format(array($cal)), "\n"; - -//NOT FIXED: -/*$msgf = new MessageFormatter('en_US', -'{1, select, date {{0,date,full}} other {{0,time,h:m:s a V}}}'); - -echo "msgf2: ", $msgf->format(array($time, 'date')), " ", - $msgf->format(array($time, 'time')), "\n"; -*/ - -?> ---EXPECTF-- -Deprecated: Calling IntlGregorianCalendar::__construct() with more than 2 arguments is deprecated, use either IntlGregorianCalendar::createFromDate() or IntlGregorianCalendar::createFromDateTime() instead in %s on line %d -Quinta-feira, 17 de Maio de 2012 5:35:36 PM ptlis diff --git a/ext/intl/tests/msgfmt_format_intlcalendar_variant3.phpt b/ext/intl/tests/msgfmt_format_intlcalendar_variant3.phpt deleted file mode 100644 index fcb841b113691..0000000000000 --- a/ext/intl/tests/msgfmt_format_intlcalendar_variant3.phpt +++ /dev/null @@ -1,30 +0,0 @@ ---TEST-- -MessageFormat accepts IntlCalendar args ---EXTENSIONS-- -intl ---SKIPIF-- -= 52.1'); ?> -= 0) die('skip for ICU < 54.1'); ?> ---FILE-- -format(array($cal)), "\n"; - -//NOT FIXED: -/*$msgf = new MessageFormatter('en_US', -'{1, select, date {{0,date,full}} other {{0,time,h:m:s a V}}}'); - -echo "msgf2: ", $msgf->format(array($time, 'date')), " ", - $msgf->format(array($time, 'time')), "\n"; -*/ - -?> ---EXPECTF-- -Deprecated: Calling IntlGregorianCalendar::__construct() with more than 2 arguments is deprecated, use either IntlGregorianCalendar::createFromDate() or IntlGregorianCalendar::createFromDateTime() instead in %s on line %d -quinta-feira, 17 de Maio de 2012 5:35:36 da tarde ptlis diff --git a/ext/intl/tests/msgfmt_format_intlcalendar_variant4.phpt b/ext/intl/tests/msgfmt_format_intlcalendar_variant4.phpt index e14d30337b775..0b8e607ad2db1 100644 --- a/ext/intl/tests/msgfmt_format_intlcalendar_variant4.phpt +++ b/ext/intl/tests/msgfmt_format_intlcalendar_variant4.phpt @@ -4,7 +4,6 @@ MessageFormat accepts IntlCalendar args intl --SKIPIF-- = 54.1'); if (str_contains(PHP_OS, 'FreeBSD')) { die('xfail Fails on FreeBSD for unknown reason'); } diff --git a/ext/intl/tests/resourcebundle_null_mandatory_args.phpt b/ext/intl/tests/resourcebundle_null_mandatory_args.phpt deleted file mode 100644 index f0751d6d2aab7..0000000000000 --- a/ext/intl/tests/resourcebundle_null_mandatory_args.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -ResourceBundle constructor bundle accepts NULL for first two arguments ---INI-- -date.timezone=Atlantic/Azores ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -get('calendar')->get('gregorian')->get('DateTimePatterns')->get(0); -var_dump($c); - -ini_set('intl.default_locale', 'pt_PT'); -$r = new ResourceBundle(NULL, NULL); -$c = $r->get('calendar')->get('gregorian')->get('DateTimePatterns')->get(0); -var_dump($c); -?> ---EXPECT-- -string(14) "h:mm:ss a zzzz" -string(12) "H:mm:ss zzzz" diff --git a/ext/intl/tests/resourcebundle_null_mandatory_args_variant2.phpt b/ext/intl/tests/resourcebundle_null_mandatory_args_variant2.phpt index 5aefcf268dff5..9d13be94aed55 100644 --- a/ext/intl/tests/resourcebundle_null_mandatory_args_variant2.phpt +++ b/ext/intl/tests/resourcebundle_null_mandatory_args_variant2.phpt @@ -5,7 +5,6 @@ date.timezone=Atlantic/Azores --EXTENSIONS-- intl --SKIPIF-- -= 51.2'); ?> = 0) die('skip for ICU < 72.1'); ?> --FILE-- -= 0)die('skip for ICU < 57.1'); ?> ---FILE-- -isSuspicious($url)); - -echo "certain all-uppercase Latin sequences can be spoof of Greek\n"; -var_dump($x->isSuspicious("NAPKIN PEZ")); -var_dump($x->isSuspicious("napkin pez")); -?> ---EXPECT-- -paypal with Cyrillic spoof characters -bool(true) -certain all-uppercase Latin sequences can be spoof of Greek -bool(true) -bool(false) diff --git a/ext/intl/tests/spoofchecker_004.phpt b/ext/intl/tests/spoofchecker_004.phpt deleted file mode 100644 index ab23722cf28f6..0000000000000 --- a/ext/intl/tests/spoofchecker_004.phpt +++ /dev/null @@ -1,31 +0,0 @@ ---TEST-- -spoofchecker with settings changed ---EXTENSIONS-- -intl ---SKIPIF-- - -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- -areConfusable("HELLO", "H\xD0\x95LLO")); -var_dump($x->areConfusable("hello", "h\xD0\xB5llo")); - -echo "Change confusable settings\n"; -$x->setChecks(Spoofchecker::MIXED_SCRIPT_CONFUSABLE | - Spoofchecker::WHOLE_SCRIPT_CONFUSABLE | - Spoofchecker::SINGLE_SCRIPT_CONFUSABLE); -var_dump($x->areConfusable("HELLO", "H\xD0\x95LLO")); -var_dump($x->areConfusable("hello", "h\xD0\xB5llo")); -?> ---EXPECT-- -Check with default settings -bool(true) -bool(true) -Change confusable settings -bool(false) -bool(true) diff --git a/ext/intl/tests/spoofchecker_005.phpt b/ext/intl/tests/spoofchecker_005.phpt index a94770c89ccb0..9fc6628e6ae41 100644 --- a/ext/intl/tests/spoofchecker_005.phpt +++ b/ext/intl/tests/spoofchecker_005.phpt @@ -4,7 +4,6 @@ spoofchecker with settings changed intl --SKIPIF-- -= 55.1'); ?> --FILE-- -= 57.1'); ?> --FILE-- = 52'); ?> = 0) die('skip for ICU < 58.1'); ?> --FILE-- = 0) die('skip for ICU < 53.1'); ?> ---FILE-- - ---EXPECT-- -string(13) "Europe/Lisbon" -bool(true) -string(0) "" -bool(false) diff --git a/ext/intl/tests/timezone_getCanonicalID_variant1_2.phpt b/ext/intl/tests/timezone_getCanonicalID_variant1_2.phpt index fe3464b276a16..3fedf4377197a 100644 --- a/ext/intl/tests/timezone_getCanonicalID_variant1_2.phpt +++ b/ext/intl/tests/timezone_getCanonicalID_variant1_2.phpt @@ -2,8 +2,6 @@ IntlTimeZone::getCanonicalID(): second argument --EXTENSIONS-- intl ---SKIPIF-- -= 53.1'); ?> --FILE-- = 49 && ICU < 50.1.2) ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 50.1.2'); ?> ---FILE-- -getDisplayName(false, IntlTimeZone::DISPLAY_SHORT)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_SHORT_GENERIC)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG_GENERIC)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_SHORT_GMT)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG_GMT)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_SHORT_COMMONLY_USED)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_GENERIC_LOCATION)); - -?> ---EXPECT-- -string(3) "GMT" -string(30) "Western European Standard Time" -string(22) "Portugal Time (Lisbon)" -string(21) "Western European Time" -string(5) "+0000" -string(3) "GMT" -string(3) "GMT" -string(22) "Portugal Time (Lisbon)" diff --git a/ext/intl/tests/timezone_getDisplayName_variant3-49+.phpt b/ext/intl/tests/timezone_getDisplayName_variant3-49+.phpt deleted file mode 100644 index ed0a5c743c477..0000000000000 --- a/ext/intl/tests/timezone_getDisplayName_variant3-49+.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -IntlTimeZone::getDisplayName(): locale parameter ---EXTENSIONS-- -intl ---SKIPIF-- -= 0) die('skip for ICU < 55.1'); ?> ---FILE-- -getDisplayName(false, IntlTimeZone::DISPLAY_LONG)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG, NULL)); -var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG, 'pt_PT')); - -?> ---EXPECTF-- -string(30) "Western European Standard Time" -string(30) "Western European Standard Time" -string(32) "Hora %cadrão da Europa Ocidental" diff --git a/ext/intl/tests/timezone_getDisplayName_variant4.phpt b/ext/intl/tests/timezone_getDisplayName_variant4.phpt index 4bab07c744fa9..eccf6c78d2ca4 100644 --- a/ext/intl/tests/timezone_getDisplayName_variant4.phpt +++ b/ext/intl/tests/timezone_getDisplayName_variant4.phpt @@ -2,8 +2,6 @@ IntlTimeZone::getDisplayName(): type parameter (ICU >= 51.2) --EXTENSIONS-- intl ---SKIPIF-- -= 51.2'); ?> --FILE-- = 52'); ?> = 0) die('skip for ICU < 58.1'); ?> --FILE-- = 52 /** * @tentative-return-type * @alias intltz_get_windows_id @@ -169,7 +168,7 @@ public static function getWindowsID(string $timezoneId): string|false {} * @alias intltz_get_id_for_windows_id */ public static function getIDForWindowsID(string $timezoneId, ?string $region = null): string|false {} -#endif + /** * @tentative-return-type * @alias intltz_has_same_rules diff --git a/ext/intl/timezone/timezone_arginfo.h b/ext/intl/timezone/timezone_arginfo.h index fb467a2d4ae47..6206e03efad3e 100644 --- a/ext/intl/timezone/timezone_arginfo.h +++ b/ext/intl/timezone/timezone_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: ff6d6bb0789c719625f4271bf9ce1c12eea5c95e */ + * Stub hash: 6ffeea8491aa48c49879fa77bdb644d10d5c71bd */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone___construct, 0, 0, 0) ZEND_END_ARG_INFO() @@ -81,16 +81,12 @@ ZEND_END_ARG_INFO() #define arginfo_class_IntlTimeZone_getUnknown arginfo_class_IntlTimeZone_createDefault -#if U_ICU_VERSION_MAJOR_NUM >= 52 -ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_IntlTimeZone_getWindowsID, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0) -ZEND_END_ARG_INFO() +#define arginfo_class_IntlTimeZone_getWindowsID arginfo_class_IntlTimeZone_getRegion ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_IntlTimeZone_getIDForWindowsID, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, region, IS_STRING, 1, "null") ZEND_END_ARG_INFO() -#endif ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_IntlTimeZone_hasSameRules, 0, 1, _IS_BOOL, 0) ZEND_ARG_OBJ_INFO(0, other, IntlTimeZone, 0) @@ -125,10 +121,8 @@ ZEND_FUNCTION(intltz_get_raw_offset); ZEND_FUNCTION(intltz_get_region); ZEND_FUNCTION(intltz_get_tz_data_version); ZEND_FUNCTION(intltz_get_unknown); -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_FUNCTION(intltz_get_windows_id); ZEND_FUNCTION(intltz_get_id_for_windows_id); -#endif ZEND_FUNCTION(intltz_has_same_rules); ZEND_FUNCTION(intltz_to_date_time_zone); ZEND_FUNCTION(intltz_use_daylight_time); @@ -157,10 +151,8 @@ static const zend_function_entry class_IntlTimeZone_methods[] = { ZEND_RAW_FENTRY("getRegion", zif_intltz_get_region, arginfo_class_IntlTimeZone_getRegion, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) ZEND_RAW_FENTRY("getTZDataVersion", zif_intltz_get_tz_data_version, arginfo_class_IntlTimeZone_getTZDataVersion, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) ZEND_RAW_FENTRY("getUnknown", zif_intltz_get_unknown, arginfo_class_IntlTimeZone_getUnknown, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_RAW_FENTRY("getWindowsID", zif_intltz_get_windows_id, arginfo_class_IntlTimeZone_getWindowsID, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) ZEND_RAW_FENTRY("getIDForWindowsID", zif_intltz_get_id_for_windows_id, arginfo_class_IntlTimeZone_getIDForWindowsID, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL) -#endif ZEND_RAW_FENTRY("hasSameRules", zif_intltz_has_same_rules, arginfo_class_IntlTimeZone_hasSameRules, ZEND_ACC_PUBLIC, NULL, NULL) ZEND_RAW_FENTRY("toDateTimeZone", zif_intltz_to_date_time_zone, arginfo_class_IntlTimeZone_toDateTimeZone, ZEND_ACC_PUBLIC, NULL, NULL) ZEND_RAW_FENTRY("useDaylightTime", zif_intltz_use_daylight_time, arginfo_class_IntlTimeZone_useDaylightTime, ZEND_ACC_PUBLIC, NULL, NULL) diff --git a/ext/intl/timezone/timezone_methods.cpp b/ext/intl/timezone/timezone_methods.cpp index ebde6578a990a..21f847819a9c7 100644 --- a/ext/intl/timezone/timezone_methods.cpp +++ b/ext/intl/timezone/timezone_methods.cpp @@ -618,7 +618,6 @@ U_CFUNC PHP_FUNCTION(intltz_get_error_message) RETURN_STR(message); } -#if U_ICU_VERSION_MAJOR_NUM >= 52 /* {{{ Translate a system timezone (e.g. "America/Los_Angeles" into a Windows Timezone (e.g. "Pacific Standard Time") */ @@ -692,4 +691,3 @@ U_CFUNC PHP_FUNCTION(intltz_get_id_for_windows_id) RETURN_STR(id); } /* }}} */ -#endif diff --git a/ext/intl/uchar/uchar.c b/ext/intl/uchar/uchar.c index 4d3d424df798e..ecfcd8fbe624a 100644 --- a/ext/intl/uchar/uchar.c +++ b/ext/intl/uchar/uchar.c @@ -616,9 +616,7 @@ IC_CHAR_METHOD_CHAR(charMirror) IC_CHAR_METHOD_CHAR(tolower) IC_CHAR_METHOD_CHAR(toupper) IC_CHAR_METHOD_CHAR(totitle) -#if U_ICU_VERSION_MAJOR_NUM >= 52 IC_CHAR_METHOD_CHAR(getBidiPairedBracket) -#endif /* ICU >= 52 */ #undef IC_CHAR_METHOD_CHAR /* }}} */ diff --git a/ext/intl/uchar/uchar.stub.php b/ext/intl/uchar/uchar.stub.php index baaf2bea99a76..aa81a9cab3081 100644 --- a/ext/intl/uchar/uchar.stub.php +++ b/ext/intl/uchar/uchar.stub.php @@ -183,10 +183,8 @@ class IntlChar public const int PROPERTY_SENTENCE_BREAK = UNKNOWN; /** @cvalue UCHAR_WORD_BREAK */ public const int PROPERTY_WORD_BREAK = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @cvalue UCHAR_BIDI_PAIRED_BRACKET_TYPE */ public const int PROPERTY_BIDI_PAIRED_BRACKET_TYPE = UNKNOWN; -#endif /** @cvalue UCHAR_INT_LIMIT */ public const int PROPERTY_INT_LIMIT = UNKNOWN; /** @cvalue UCHAR_GENERAL_CATEGORY_MASK */ @@ -229,10 +227,8 @@ class IntlChar public const int PROPERTY_UNICODE_1_NAME = UNKNOWN; /** @cvalue UCHAR_UPPERCASE_MAPPING */ public const int PROPERTY_UPPERCASE_MAPPING = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @cvalue UCHAR_BIDI_PAIRED_BRACKET */ public const int PROPERTY_BIDI_PAIRED_BRACKET = UNKNOWN; -#endif /** @cvalue UCHAR_STRING_LIMIT */ public const int PROPERTY_STRING_LIMIT = UNKNOWN; /** @cvalue UCHAR_SCRIPT_EXTENSIONS */ @@ -347,7 +343,6 @@ class IntlChar public const int CHAR_DIRECTION_DIR_NON_SPACING_MARK = UNKNOWN; /** @cvalue U_BOUNDARY_NEUTRAL */ public const int CHAR_DIRECTION_BOUNDARY_NEUTRAL = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @cvalue U_FIRST_STRONG_ISOLATE */ public const int CHAR_DIRECTION_FIRST_STRONG_ISOLATE = UNKNOWN; /** @cvalue U_LEFT_TO_RIGHT_ISOLATE */ @@ -356,7 +351,6 @@ class IntlChar public const int CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = UNKNOWN; /** @cvalue U_POP_DIRECTIONAL_ISOLATE */ public const int CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = UNKNOWN; -#endif /** @cvalue U_CHAR_DIRECTION_COUNT */ public const int CHAR_DIRECTION_CHAR_DIRECTION_COUNT = UNKNOWN; @@ -806,7 +800,6 @@ class IntlChar public const int BLOCK_CODE_SUNDANESE_SUPPLEMENT = UNKNOWN; /** @cvalue UBLOCK_TAKRI */ public const int BLOCK_CODE_TAKRI = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 54 /** @cvalue UBLOCK_BASSA_VAH */ public const int BLOCK_CODE_BASSA_VAH = UNKNOWN; /** @cvalue UBLOCK_CAUCASIAN_ALBANIAN */ @@ -871,7 +864,6 @@ class IntlChar public const int BLOCK_CODE_TIRHUTA = UNKNOWN; /** @cvalue UBLOCK_WARANG_CITI */ public const int BLOCK_CODE_WARANG_CITI = UNKNOWN; -#endif /** @cvalue UBLOCK_COUNT */ public const int BLOCK_CODE_COUNT = UNKNOWN; /** @cvalue UBLOCK_INVALID_CODE */ @@ -879,7 +871,6 @@ class IntlChar /* UBidiPairedBracketType - http://icu-project.org/apiref/icu4c/uchar_8h.html#af954219aa1df452657ec355221c6703d */ -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @cvalue U_BPT_NONE */ public const int BPT_NONE = UNKNOWN; /** @cvalue U_BPT_OPEN */ @@ -888,7 +879,6 @@ class IntlChar public const int BPT_CLOSE = UNKNOWN; /** @cvalue U_BPT_COUNT */ public const int BPT_COUNT = UNKNOWN; -#endif /* UEastAsianWidth - http://icu-project.org/apiref/icu4c/uchar_8h.html#a95cc2ca2f9cfd6d0c63eee2c65951333 */ @@ -1107,7 +1097,6 @@ class IntlChar public const int JG_NYA = UNKNOWN; /** @cvalue U_JG_ROHINGYA_YEH */ public const int JG_ROHINGYA_YEH = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 54 /** @cvalue U_JG_MANICHAEAN_ALEPH */ public const int JG_MANICHAEAN_ALEPH = UNKNOWN; /** @cvalue U_JG_MANICHAEAN_AYIN */ @@ -1164,7 +1153,6 @@ class IntlChar public const int JG_MANICHAEAN_ZAYIN = UNKNOWN; /** @cvalue U_JG_STRAIGHT_WAW */ public const int JG_STRAIGHT_WAW = UNKNOWN; -#endif /** @cvalue U_JG_COUNT */ public const int JG_COUNT = UNKNOWN; @@ -1229,14 +1217,12 @@ class IntlChar public const int WB_NEWLINE = UNKNOWN; /** @cvalue U_WB_REGIONAL_INDICATOR */ public const int WB_REGIONAL_INDICATOR = UNKNOWN; -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @cvalue U_WB_HEBREW_LETTER */ public const int WB_HEBREW_LETTER = UNKNOWN; /** @cvalue U_WB_SINGLE_QUOTE */ public const int WB_SINGLE_QUOTE = UNKNOWN; /** @cvalue U_WB_DOUBLE_QUOTE */ public const int WB_DOUBLE_QUOTE = UNKNOWN; -#endif /** @cvalue U_WB_COUNT */ public const int WB_COUNT = UNKNOWN; @@ -1441,10 +1427,8 @@ public static function foldCase(int|string $codepoint, int $options = IntlChar:: /** @tentative-return-type */ public static function forDigit(int $digit, int $base = 10): int {} -#if U_ICU_VERSION_MAJOR_NUM >= 52 /** @tentative-return-type */ public static function getBidiPairedBracket(int|string $codepoint): int|string|null {} -#endif /** @tentative-return-type */ public static function getBlockCode(int|string $codepoint): ?int {} diff --git a/ext/intl/uchar/uchar_arginfo.h b/ext/intl/uchar/uchar_arginfo.h index ea70f17658867..085b3b0a5eff3 100644 --- a/ext/intl/uchar/uchar_arginfo.h +++ b/ext/intl/uchar/uchar_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: f0c67026b921d853e745fcc5d980bdb86f475c80 */ + * Stub hash: 58fb5f326ee08cca73977720d3b055b0118d78bb */ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_IntlChar_hasBinaryProperty, 0, 2, _IS_BOOL, 1) ZEND_ARG_TYPE_MASK(0, codepoint, MAY_BE_LONG|MAY_BE_STRING, NULL) @@ -62,11 +62,7 @@ ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_IntlChar_forDigi ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, base, IS_LONG, 0, "10") ZEND_END_ARG_INFO() -#if U_ICU_VERSION_MAJOR_NUM >= 52 -ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_IntlChar_getBidiPairedBracket, 0, 1, MAY_BE_LONG|MAY_BE_STRING|MAY_BE_NULL) - ZEND_ARG_TYPE_MASK(0, codepoint, MAY_BE_LONG|MAY_BE_STRING, NULL) -ZEND_END_ARG_INFO() -#endif +#define arginfo_class_IntlChar_getBidiPairedBracket arginfo_class_IntlChar_charMirror #define arginfo_class_IntlChar_getBlockCode arginfo_class_IntlChar_charDigitValue @@ -196,9 +192,7 @@ ZEND_METHOD(IntlChar, enumCharNames); ZEND_METHOD(IntlChar, enumCharTypes); ZEND_METHOD(IntlChar, foldCase); ZEND_METHOD(IntlChar, forDigit); -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_METHOD(IntlChar, getBidiPairedBracket); -#endif ZEND_METHOD(IntlChar, getBlockCode); ZEND_METHOD(IntlChar, getCombiningClass); ZEND_METHOD(IntlChar, getFC_NFKC_Closure); @@ -259,9 +253,7 @@ static const zend_function_entry class_IntlChar_methods[] = { ZEND_ME(IntlChar, enumCharTypes, arginfo_class_IntlChar_enumCharTypes, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ZEND_ME(IntlChar, foldCase, arginfo_class_IntlChar_foldCase, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ZEND_ME(IntlChar, forDigit, arginfo_class_IntlChar_forDigit, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) -#if U_ICU_VERSION_MAJOR_NUM >= 52 ZEND_ME(IntlChar, getBidiPairedBracket, arginfo_class_IntlChar_getBidiPairedBracket, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) -#endif ZEND_ME(IntlChar, getBlockCode, arginfo_class_IntlChar_getBlockCode, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ZEND_ME(IntlChar, getCombiningClass, arginfo_class_IntlChar_getCombiningClass, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) ZEND_ME(IntlChar, getFC_NFKC_Closure, arginfo_class_IntlChar_getFC_NFKC_Closure, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) @@ -850,14 +842,12 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_PROPERTY_WORD_BREAK_name = zend_string_init_interned("PROPERTY_WORD_BREAK", sizeof("PROPERTY_WORD_BREAK") - 1, 1); zend_declare_typed_class_constant(class_entry, const_PROPERTY_WORD_BREAK_name, &const_PROPERTY_WORD_BREAK_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_PROPERTY_WORD_BREAK_name); -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value; ZVAL_LONG(&const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value, UCHAR_BIDI_PAIRED_BRACKET_TYPE); zend_string *const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name = zend_string_init_interned("PROPERTY_BIDI_PAIRED_BRACKET_TYPE", sizeof("PROPERTY_BIDI_PAIRED_BRACKET_TYPE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name, &const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_PROPERTY_BIDI_PAIRED_BRACKET_TYPE_name); -#endif zval const_PROPERTY_INT_LIMIT_value; ZVAL_LONG(&const_PROPERTY_INT_LIMIT_value, UCHAR_INT_LIMIT); @@ -984,14 +974,12 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_PROPERTY_UPPERCASE_MAPPING_name = zend_string_init_interned("PROPERTY_UPPERCASE_MAPPING", sizeof("PROPERTY_UPPERCASE_MAPPING") - 1, 1); zend_declare_typed_class_constant(class_entry, const_PROPERTY_UPPERCASE_MAPPING_name, &const_PROPERTY_UPPERCASE_MAPPING_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_PROPERTY_UPPERCASE_MAPPING_name); -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_PROPERTY_BIDI_PAIRED_BRACKET_value; ZVAL_LONG(&const_PROPERTY_BIDI_PAIRED_BRACKET_value, UCHAR_BIDI_PAIRED_BRACKET); zend_string *const_PROPERTY_BIDI_PAIRED_BRACKET_name = zend_string_init_interned("PROPERTY_BIDI_PAIRED_BRACKET", sizeof("PROPERTY_BIDI_PAIRED_BRACKET") - 1, 1); zend_declare_typed_class_constant(class_entry, const_PROPERTY_BIDI_PAIRED_BRACKET_name, &const_PROPERTY_BIDI_PAIRED_BRACKET_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_PROPERTY_BIDI_PAIRED_BRACKET_name); -#endif zval const_PROPERTY_STRING_LIMIT_value; ZVAL_LONG(&const_PROPERTY_STRING_LIMIT_value, UCHAR_STRING_LIMIT); @@ -1328,38 +1316,30 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name = zend_string_init_interned("CHAR_DIRECTION_BOUNDARY_NEUTRAL", sizeof("CHAR_DIRECTION_BOUNDARY_NEUTRAL") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name, &const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CHAR_DIRECTION_BOUNDARY_NEUTRAL_name); -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value; ZVAL_LONG(&const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value, U_FIRST_STRONG_ISOLATE); zend_string *const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_FIRST_STRONG_ISOLATE", sizeof("CHAR_DIRECTION_FIRST_STRONG_ISOLATE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name, &const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CHAR_DIRECTION_FIRST_STRONG_ISOLATE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value; ZVAL_LONG(&const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value, U_LEFT_TO_RIGHT_ISOLATE); zend_string *const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE", sizeof("CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name, &const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value; ZVAL_LONG(&const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value, U_RIGHT_TO_LEFT_ISOLATE); zend_string *const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE", sizeof("CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name, &const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value; ZVAL_LONG(&const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value, U_POP_DIRECTIONAL_ISOLATE); zend_string *const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name = zend_string_init_interned("CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE", sizeof("CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name, &const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE_name); -#endif zval const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_value; ZVAL_LONG(&const_CHAR_DIRECTION_CHAR_DIRECTION_COUNT_value, U_CHAR_DIRECTION_COUNT); @@ -2704,262 +2684,198 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_BLOCK_CODE_TAKRI_name = zend_string_init_interned("BLOCK_CODE_TAKRI", sizeof("BLOCK_CODE_TAKRI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_TAKRI_name, &const_BLOCK_CODE_TAKRI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_TAKRI_name); -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_BASSA_VAH_value; ZVAL_LONG(&const_BLOCK_CODE_BASSA_VAH_value, UBLOCK_BASSA_VAH); zend_string *const_BLOCK_CODE_BASSA_VAH_name = zend_string_init_interned("BLOCK_CODE_BASSA_VAH", sizeof("BLOCK_CODE_BASSA_VAH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_BASSA_VAH_name, &const_BLOCK_CODE_BASSA_VAH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_BASSA_VAH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value; ZVAL_LONG(&const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value, UBLOCK_CAUCASIAN_ALBANIAN); zend_string *const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name = zend_string_init_interned("BLOCK_CODE_CAUCASIAN_ALBANIAN", sizeof("BLOCK_CODE_CAUCASIAN_ALBANIAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name, &const_BLOCK_CODE_CAUCASIAN_ALBANIAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_CAUCASIAN_ALBANIAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value; ZVAL_LONG(&const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value, UBLOCK_COPTIC_EPACT_NUMBERS); zend_string *const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_COPTIC_EPACT_NUMBERS", sizeof("BLOCK_CODE_COPTIC_EPACT_NUMBERS") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name, &const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_COPTIC_EPACT_NUMBERS_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value; ZVAL_LONG(&const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value, UBLOCK_COMBINING_DIACRITICAL_MARKS_EXTENDED); zend_string *const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED", sizeof("BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name, &const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_DUPLOYAN_value; ZVAL_LONG(&const_BLOCK_CODE_DUPLOYAN_value, UBLOCK_DUPLOYAN); zend_string *const_BLOCK_CODE_DUPLOYAN_name = zend_string_init_interned("BLOCK_CODE_DUPLOYAN", sizeof("BLOCK_CODE_DUPLOYAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_DUPLOYAN_name, &const_BLOCK_CODE_DUPLOYAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_DUPLOYAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_ELBASAN_value; ZVAL_LONG(&const_BLOCK_CODE_ELBASAN_value, UBLOCK_ELBASAN); zend_string *const_BLOCK_CODE_ELBASAN_name = zend_string_init_interned("BLOCK_CODE_ELBASAN", sizeof("BLOCK_CODE_ELBASAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_ELBASAN_name, &const_BLOCK_CODE_ELBASAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_ELBASAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value; ZVAL_LONG(&const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value, UBLOCK_GEOMETRIC_SHAPES_EXTENDED); zend_string *const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name = zend_string_init_interned("BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED", sizeof("BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name, &const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_GRANTHA_value; ZVAL_LONG(&const_BLOCK_CODE_GRANTHA_value, UBLOCK_GRANTHA); zend_string *const_BLOCK_CODE_GRANTHA_name = zend_string_init_interned("BLOCK_CODE_GRANTHA", sizeof("BLOCK_CODE_GRANTHA") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_GRANTHA_name, &const_BLOCK_CODE_GRANTHA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_GRANTHA_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_KHOJKI_value; ZVAL_LONG(&const_BLOCK_CODE_KHOJKI_value, UBLOCK_KHOJKI); zend_string *const_BLOCK_CODE_KHOJKI_name = zend_string_init_interned("BLOCK_CODE_KHOJKI", sizeof("BLOCK_CODE_KHOJKI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_KHOJKI_name, &const_BLOCK_CODE_KHOJKI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_KHOJKI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_KHUDAWADI_value; ZVAL_LONG(&const_BLOCK_CODE_KHUDAWADI_value, UBLOCK_KHUDAWADI); zend_string *const_BLOCK_CODE_KHUDAWADI_name = zend_string_init_interned("BLOCK_CODE_KHUDAWADI", sizeof("BLOCK_CODE_KHUDAWADI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_KHUDAWADI_name, &const_BLOCK_CODE_KHUDAWADI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_KHUDAWADI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_LATIN_EXTENDED_E_value; ZVAL_LONG(&const_BLOCK_CODE_LATIN_EXTENDED_E_value, UBLOCK_LATIN_EXTENDED_E); zend_string *const_BLOCK_CODE_LATIN_EXTENDED_E_name = zend_string_init_interned("BLOCK_CODE_LATIN_EXTENDED_E", sizeof("BLOCK_CODE_LATIN_EXTENDED_E") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_LATIN_EXTENDED_E_name, &const_BLOCK_CODE_LATIN_EXTENDED_E_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_LATIN_EXTENDED_E_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_LINEAR_A_value; ZVAL_LONG(&const_BLOCK_CODE_LINEAR_A_value, UBLOCK_LINEAR_A); zend_string *const_BLOCK_CODE_LINEAR_A_name = zend_string_init_interned("BLOCK_CODE_LINEAR_A", sizeof("BLOCK_CODE_LINEAR_A") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_LINEAR_A_name, &const_BLOCK_CODE_LINEAR_A_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_LINEAR_A_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MAHAJANI_value; ZVAL_LONG(&const_BLOCK_CODE_MAHAJANI_value, UBLOCK_MAHAJANI); zend_string *const_BLOCK_CODE_MAHAJANI_name = zend_string_init_interned("BLOCK_CODE_MAHAJANI", sizeof("BLOCK_CODE_MAHAJANI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MAHAJANI_name, &const_BLOCK_CODE_MAHAJANI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MAHAJANI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MANICHAEAN_value; ZVAL_LONG(&const_BLOCK_CODE_MANICHAEAN_value, UBLOCK_MANICHAEAN); zend_string *const_BLOCK_CODE_MANICHAEAN_name = zend_string_init_interned("BLOCK_CODE_MANICHAEAN", sizeof("BLOCK_CODE_MANICHAEAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MANICHAEAN_name, &const_BLOCK_CODE_MANICHAEAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MANICHAEAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MENDE_KIKAKUI_value; ZVAL_LONG(&const_BLOCK_CODE_MENDE_KIKAKUI_value, UBLOCK_MENDE_KIKAKUI); zend_string *const_BLOCK_CODE_MENDE_KIKAKUI_name = zend_string_init_interned("BLOCK_CODE_MENDE_KIKAKUI", sizeof("BLOCK_CODE_MENDE_KIKAKUI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MENDE_KIKAKUI_name, &const_BLOCK_CODE_MENDE_KIKAKUI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MENDE_KIKAKUI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MODI_value; ZVAL_LONG(&const_BLOCK_CODE_MODI_value, UBLOCK_MODI); zend_string *const_BLOCK_CODE_MODI_name = zend_string_init_interned("BLOCK_CODE_MODI", sizeof("BLOCK_CODE_MODI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MODI_name, &const_BLOCK_CODE_MODI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MODI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MRO_value; ZVAL_LONG(&const_BLOCK_CODE_MRO_value, UBLOCK_MRO); zend_string *const_BLOCK_CODE_MRO_name = zend_string_init_interned("BLOCK_CODE_MRO", sizeof("BLOCK_CODE_MRO") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MRO_name, &const_BLOCK_CODE_MRO_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MRO_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_MYANMAR_EXTENDED_B_value; ZVAL_LONG(&const_BLOCK_CODE_MYANMAR_EXTENDED_B_value, UBLOCK_MYANMAR_EXTENDED_B); zend_string *const_BLOCK_CODE_MYANMAR_EXTENDED_B_name = zend_string_init_interned("BLOCK_CODE_MYANMAR_EXTENDED_B", sizeof("BLOCK_CODE_MYANMAR_EXTENDED_B") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_MYANMAR_EXTENDED_B_name, &const_BLOCK_CODE_MYANMAR_EXTENDED_B_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_MYANMAR_EXTENDED_B_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_NABATAEAN_value; ZVAL_LONG(&const_BLOCK_CODE_NABATAEAN_value, UBLOCK_NABATAEAN); zend_string *const_BLOCK_CODE_NABATAEAN_name = zend_string_init_interned("BLOCK_CODE_NABATAEAN", sizeof("BLOCK_CODE_NABATAEAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_NABATAEAN_name, &const_BLOCK_CODE_NABATAEAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_NABATAEAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_OLD_NORTH_ARABIAN_value; ZVAL_LONG(&const_BLOCK_CODE_OLD_NORTH_ARABIAN_value, UBLOCK_OLD_NORTH_ARABIAN); zend_string *const_BLOCK_CODE_OLD_NORTH_ARABIAN_name = zend_string_init_interned("BLOCK_CODE_OLD_NORTH_ARABIAN", sizeof("BLOCK_CODE_OLD_NORTH_ARABIAN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_OLD_NORTH_ARABIAN_name, &const_BLOCK_CODE_OLD_NORTH_ARABIAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_OLD_NORTH_ARABIAN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_OLD_PERMIC_value; ZVAL_LONG(&const_BLOCK_CODE_OLD_PERMIC_value, UBLOCK_OLD_PERMIC); zend_string *const_BLOCK_CODE_OLD_PERMIC_name = zend_string_init_interned("BLOCK_CODE_OLD_PERMIC", sizeof("BLOCK_CODE_OLD_PERMIC") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_OLD_PERMIC_name, &const_BLOCK_CODE_OLD_PERMIC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_OLD_PERMIC_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value; ZVAL_LONG(&const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value, UBLOCK_ORNAMENTAL_DINGBATS); zend_string *const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name = zend_string_init_interned("BLOCK_CODE_ORNAMENTAL_DINGBATS", sizeof("BLOCK_CODE_ORNAMENTAL_DINGBATS") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name, &const_BLOCK_CODE_ORNAMENTAL_DINGBATS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_ORNAMENTAL_DINGBATS_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_PAHAWH_HMONG_value; ZVAL_LONG(&const_BLOCK_CODE_PAHAWH_HMONG_value, UBLOCK_PAHAWH_HMONG); zend_string *const_BLOCK_CODE_PAHAWH_HMONG_name = zend_string_init_interned("BLOCK_CODE_PAHAWH_HMONG", sizeof("BLOCK_CODE_PAHAWH_HMONG") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_PAHAWH_HMONG_name, &const_BLOCK_CODE_PAHAWH_HMONG_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_PAHAWH_HMONG_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_PALMYRENE_value; ZVAL_LONG(&const_BLOCK_CODE_PALMYRENE_value, UBLOCK_PALMYRENE); zend_string *const_BLOCK_CODE_PALMYRENE_name = zend_string_init_interned("BLOCK_CODE_PALMYRENE", sizeof("BLOCK_CODE_PALMYRENE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_PALMYRENE_name, &const_BLOCK_CODE_PALMYRENE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_PALMYRENE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_PAU_CIN_HAU_value; ZVAL_LONG(&const_BLOCK_CODE_PAU_CIN_HAU_value, UBLOCK_PAU_CIN_HAU); zend_string *const_BLOCK_CODE_PAU_CIN_HAU_name = zend_string_init_interned("BLOCK_CODE_PAU_CIN_HAU", sizeof("BLOCK_CODE_PAU_CIN_HAU") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_PAU_CIN_HAU_name, &const_BLOCK_CODE_PAU_CIN_HAU_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_PAU_CIN_HAU_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_PSALTER_PAHLAVI_value; ZVAL_LONG(&const_BLOCK_CODE_PSALTER_PAHLAVI_value, UBLOCK_PSALTER_PAHLAVI); zend_string *const_BLOCK_CODE_PSALTER_PAHLAVI_name = zend_string_init_interned("BLOCK_CODE_PSALTER_PAHLAVI", sizeof("BLOCK_CODE_PSALTER_PAHLAVI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_PSALTER_PAHLAVI_name, &const_BLOCK_CODE_PSALTER_PAHLAVI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_PSALTER_PAHLAVI_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value; ZVAL_LONG(&const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value, UBLOCK_SHORTHAND_FORMAT_CONTROLS); zend_string *const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name = zend_string_init_interned("BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS", sizeof("BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name, &const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_SIDDHAM_value; ZVAL_LONG(&const_BLOCK_CODE_SIDDHAM_value, UBLOCK_SIDDHAM); zend_string *const_BLOCK_CODE_SIDDHAM_name = zend_string_init_interned("BLOCK_CODE_SIDDHAM", sizeof("BLOCK_CODE_SIDDHAM") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_SIDDHAM_name, &const_BLOCK_CODE_SIDDHAM_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_SIDDHAM_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value; ZVAL_LONG(&const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value, UBLOCK_SINHALA_ARCHAIC_NUMBERS); zend_string *const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name = zend_string_init_interned("BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS", sizeof("BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name, &const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value; ZVAL_LONG(&const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value, UBLOCK_SUPPLEMENTAL_ARROWS_C); zend_string *const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name = zend_string_init_interned("BLOCK_CODE_SUPPLEMENTAL_ARROWS_C", sizeof("BLOCK_CODE_SUPPLEMENTAL_ARROWS_C") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name, &const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_SUPPLEMENTAL_ARROWS_C_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_TIRHUTA_value; ZVAL_LONG(&const_BLOCK_CODE_TIRHUTA_value, UBLOCK_TIRHUTA); zend_string *const_BLOCK_CODE_TIRHUTA_name = zend_string_init_interned("BLOCK_CODE_TIRHUTA", sizeof("BLOCK_CODE_TIRHUTA") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_TIRHUTA_name, &const_BLOCK_CODE_TIRHUTA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_TIRHUTA_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_BLOCK_CODE_WARANG_CITI_value; ZVAL_LONG(&const_BLOCK_CODE_WARANG_CITI_value, UBLOCK_WARANG_CITI); zend_string *const_BLOCK_CODE_WARANG_CITI_name = zend_string_init_interned("BLOCK_CODE_WARANG_CITI", sizeof("BLOCK_CODE_WARANG_CITI") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_WARANG_CITI_name, &const_BLOCK_CODE_WARANG_CITI_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_WARANG_CITI_name); -#endif zval const_BLOCK_CODE_COUNT_value; ZVAL_LONG(&const_BLOCK_CODE_COUNT_value, UBLOCK_COUNT); @@ -2972,38 +2888,30 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_BLOCK_CODE_INVALID_CODE_name = zend_string_init_interned("BLOCK_CODE_INVALID_CODE", sizeof("BLOCK_CODE_INVALID_CODE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BLOCK_CODE_INVALID_CODE_name, &const_BLOCK_CODE_INVALID_CODE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BLOCK_CODE_INVALID_CODE_name); -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_BPT_NONE_value; ZVAL_LONG(&const_BPT_NONE_value, U_BPT_NONE); zend_string *const_BPT_NONE_name = zend_string_init_interned("BPT_NONE", sizeof("BPT_NONE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BPT_NONE_name, &const_BPT_NONE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BPT_NONE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_BPT_OPEN_value; ZVAL_LONG(&const_BPT_OPEN_value, U_BPT_OPEN); zend_string *const_BPT_OPEN_name = zend_string_init_interned("BPT_OPEN", sizeof("BPT_OPEN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BPT_OPEN_name, &const_BPT_OPEN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BPT_OPEN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_BPT_CLOSE_value; ZVAL_LONG(&const_BPT_CLOSE_value, U_BPT_CLOSE); zend_string *const_BPT_CLOSE_name = zend_string_init_interned("BPT_CLOSE", sizeof("BPT_CLOSE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BPT_CLOSE_name, &const_BPT_CLOSE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BPT_CLOSE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_BPT_COUNT_value; ZVAL_LONG(&const_BPT_COUNT_value, U_BPT_COUNT); zend_string *const_BPT_COUNT_name = zend_string_init_interned("BPT_COUNT", sizeof("BPT_COUNT") - 1, 1); zend_declare_typed_class_constant(class_entry, const_BPT_COUNT_name, &const_BPT_COUNT_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_BPT_COUNT_name); -#endif zval const_EA_NEUTRAL_value; ZVAL_LONG(&const_EA_NEUTRAL_value, U_EA_NEUTRAL); @@ -3604,230 +3512,174 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_JG_ROHINGYA_YEH_name = zend_string_init_interned("JG_ROHINGYA_YEH", sizeof("JG_ROHINGYA_YEH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_ROHINGYA_YEH_name, &const_JG_ROHINGYA_YEH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_ROHINGYA_YEH_name); -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_ALEPH_value; ZVAL_LONG(&const_JG_MANICHAEAN_ALEPH_value, U_JG_MANICHAEAN_ALEPH); zend_string *const_JG_MANICHAEAN_ALEPH_name = zend_string_init_interned("JG_MANICHAEAN_ALEPH", sizeof("JG_MANICHAEAN_ALEPH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_ALEPH_name, &const_JG_MANICHAEAN_ALEPH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_ALEPH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_AYIN_value; ZVAL_LONG(&const_JG_MANICHAEAN_AYIN_value, U_JG_MANICHAEAN_AYIN); zend_string *const_JG_MANICHAEAN_AYIN_name = zend_string_init_interned("JG_MANICHAEAN_AYIN", sizeof("JG_MANICHAEAN_AYIN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_AYIN_name, &const_JG_MANICHAEAN_AYIN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_AYIN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_BETH_value; ZVAL_LONG(&const_JG_MANICHAEAN_BETH_value, U_JG_MANICHAEAN_BETH); zend_string *const_JG_MANICHAEAN_BETH_name = zend_string_init_interned("JG_MANICHAEAN_BETH", sizeof("JG_MANICHAEAN_BETH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_BETH_name, &const_JG_MANICHAEAN_BETH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_BETH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_DALETH_value; ZVAL_LONG(&const_JG_MANICHAEAN_DALETH_value, U_JG_MANICHAEAN_DALETH); zend_string *const_JG_MANICHAEAN_DALETH_name = zend_string_init_interned("JG_MANICHAEAN_DALETH", sizeof("JG_MANICHAEAN_DALETH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_DALETH_name, &const_JG_MANICHAEAN_DALETH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_DALETH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_DHAMEDH_value; ZVAL_LONG(&const_JG_MANICHAEAN_DHAMEDH_value, U_JG_MANICHAEAN_DHAMEDH); zend_string *const_JG_MANICHAEAN_DHAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_DHAMEDH", sizeof("JG_MANICHAEAN_DHAMEDH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_DHAMEDH_name, &const_JG_MANICHAEAN_DHAMEDH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_DHAMEDH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_FIVE_value; ZVAL_LONG(&const_JG_MANICHAEAN_FIVE_value, U_JG_MANICHAEAN_FIVE); zend_string *const_JG_MANICHAEAN_FIVE_name = zend_string_init_interned("JG_MANICHAEAN_FIVE", sizeof("JG_MANICHAEAN_FIVE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_FIVE_name, &const_JG_MANICHAEAN_FIVE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_FIVE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_GIMEL_value; ZVAL_LONG(&const_JG_MANICHAEAN_GIMEL_value, U_JG_MANICHAEAN_GIMEL); zend_string *const_JG_MANICHAEAN_GIMEL_name = zend_string_init_interned("JG_MANICHAEAN_GIMEL", sizeof("JG_MANICHAEAN_GIMEL") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_GIMEL_name, &const_JG_MANICHAEAN_GIMEL_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_GIMEL_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_HETH_value; ZVAL_LONG(&const_JG_MANICHAEAN_HETH_value, U_JG_MANICHAEAN_HETH); zend_string *const_JG_MANICHAEAN_HETH_name = zend_string_init_interned("JG_MANICHAEAN_HETH", sizeof("JG_MANICHAEAN_HETH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_HETH_name, &const_JG_MANICHAEAN_HETH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_HETH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_HUNDRED_value; ZVAL_LONG(&const_JG_MANICHAEAN_HUNDRED_value, U_JG_MANICHAEAN_HUNDRED); zend_string *const_JG_MANICHAEAN_HUNDRED_name = zend_string_init_interned("JG_MANICHAEAN_HUNDRED", sizeof("JG_MANICHAEAN_HUNDRED") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_HUNDRED_name, &const_JG_MANICHAEAN_HUNDRED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_HUNDRED_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_KAPH_value; ZVAL_LONG(&const_JG_MANICHAEAN_KAPH_value, U_JG_MANICHAEAN_KAPH); zend_string *const_JG_MANICHAEAN_KAPH_name = zend_string_init_interned("JG_MANICHAEAN_KAPH", sizeof("JG_MANICHAEAN_KAPH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_KAPH_name, &const_JG_MANICHAEAN_KAPH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_KAPH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_LAMEDH_value; ZVAL_LONG(&const_JG_MANICHAEAN_LAMEDH_value, U_JG_MANICHAEAN_LAMEDH); zend_string *const_JG_MANICHAEAN_LAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_LAMEDH", sizeof("JG_MANICHAEAN_LAMEDH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_LAMEDH_name, &const_JG_MANICHAEAN_LAMEDH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_LAMEDH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_MEM_value; ZVAL_LONG(&const_JG_MANICHAEAN_MEM_value, U_JG_MANICHAEAN_MEM); zend_string *const_JG_MANICHAEAN_MEM_name = zend_string_init_interned("JG_MANICHAEAN_MEM", sizeof("JG_MANICHAEAN_MEM") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_MEM_name, &const_JG_MANICHAEAN_MEM_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_MEM_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_NUN_value; ZVAL_LONG(&const_JG_MANICHAEAN_NUN_value, U_JG_MANICHAEAN_NUN); zend_string *const_JG_MANICHAEAN_NUN_name = zend_string_init_interned("JG_MANICHAEAN_NUN", sizeof("JG_MANICHAEAN_NUN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_NUN_name, &const_JG_MANICHAEAN_NUN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_NUN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_ONE_value; ZVAL_LONG(&const_JG_MANICHAEAN_ONE_value, U_JG_MANICHAEAN_ONE); zend_string *const_JG_MANICHAEAN_ONE_name = zend_string_init_interned("JG_MANICHAEAN_ONE", sizeof("JG_MANICHAEAN_ONE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_ONE_name, &const_JG_MANICHAEAN_ONE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_ONE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_PE_value; ZVAL_LONG(&const_JG_MANICHAEAN_PE_value, U_JG_MANICHAEAN_PE); zend_string *const_JG_MANICHAEAN_PE_name = zend_string_init_interned("JG_MANICHAEAN_PE", sizeof("JG_MANICHAEAN_PE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_PE_name, &const_JG_MANICHAEAN_PE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_PE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_QOPH_value; ZVAL_LONG(&const_JG_MANICHAEAN_QOPH_value, U_JG_MANICHAEAN_QOPH); zend_string *const_JG_MANICHAEAN_QOPH_name = zend_string_init_interned("JG_MANICHAEAN_QOPH", sizeof("JG_MANICHAEAN_QOPH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_QOPH_name, &const_JG_MANICHAEAN_QOPH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_QOPH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_RESH_value; ZVAL_LONG(&const_JG_MANICHAEAN_RESH_value, U_JG_MANICHAEAN_RESH); zend_string *const_JG_MANICHAEAN_RESH_name = zend_string_init_interned("JG_MANICHAEAN_RESH", sizeof("JG_MANICHAEAN_RESH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_RESH_name, &const_JG_MANICHAEAN_RESH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_RESH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_SADHE_value; ZVAL_LONG(&const_JG_MANICHAEAN_SADHE_value, U_JG_MANICHAEAN_SADHE); zend_string *const_JG_MANICHAEAN_SADHE_name = zend_string_init_interned("JG_MANICHAEAN_SADHE", sizeof("JG_MANICHAEAN_SADHE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_SADHE_name, &const_JG_MANICHAEAN_SADHE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_SADHE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_SAMEKH_value; ZVAL_LONG(&const_JG_MANICHAEAN_SAMEKH_value, U_JG_MANICHAEAN_SAMEKH); zend_string *const_JG_MANICHAEAN_SAMEKH_name = zend_string_init_interned("JG_MANICHAEAN_SAMEKH", sizeof("JG_MANICHAEAN_SAMEKH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_SAMEKH_name, &const_JG_MANICHAEAN_SAMEKH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_SAMEKH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_TAW_value; ZVAL_LONG(&const_JG_MANICHAEAN_TAW_value, U_JG_MANICHAEAN_TAW); zend_string *const_JG_MANICHAEAN_TAW_name = zend_string_init_interned("JG_MANICHAEAN_TAW", sizeof("JG_MANICHAEAN_TAW") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_TAW_name, &const_JG_MANICHAEAN_TAW_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_TAW_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_TEN_value; ZVAL_LONG(&const_JG_MANICHAEAN_TEN_value, U_JG_MANICHAEAN_TEN); zend_string *const_JG_MANICHAEAN_TEN_name = zend_string_init_interned("JG_MANICHAEAN_TEN", sizeof("JG_MANICHAEAN_TEN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_TEN_name, &const_JG_MANICHAEAN_TEN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_TEN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_TETH_value; ZVAL_LONG(&const_JG_MANICHAEAN_TETH_value, U_JG_MANICHAEAN_TETH); zend_string *const_JG_MANICHAEAN_TETH_name = zend_string_init_interned("JG_MANICHAEAN_TETH", sizeof("JG_MANICHAEAN_TETH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_TETH_name, &const_JG_MANICHAEAN_TETH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_TETH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_THAMEDH_value; ZVAL_LONG(&const_JG_MANICHAEAN_THAMEDH_value, U_JG_MANICHAEAN_THAMEDH); zend_string *const_JG_MANICHAEAN_THAMEDH_name = zend_string_init_interned("JG_MANICHAEAN_THAMEDH", sizeof("JG_MANICHAEAN_THAMEDH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_THAMEDH_name, &const_JG_MANICHAEAN_THAMEDH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_THAMEDH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_TWENTY_value; ZVAL_LONG(&const_JG_MANICHAEAN_TWENTY_value, U_JG_MANICHAEAN_TWENTY); zend_string *const_JG_MANICHAEAN_TWENTY_name = zend_string_init_interned("JG_MANICHAEAN_TWENTY", sizeof("JG_MANICHAEAN_TWENTY") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_TWENTY_name, &const_JG_MANICHAEAN_TWENTY_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_TWENTY_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_WAW_value; ZVAL_LONG(&const_JG_MANICHAEAN_WAW_value, U_JG_MANICHAEAN_WAW); zend_string *const_JG_MANICHAEAN_WAW_name = zend_string_init_interned("JG_MANICHAEAN_WAW", sizeof("JG_MANICHAEAN_WAW") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_WAW_name, &const_JG_MANICHAEAN_WAW_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_WAW_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_YODH_value; ZVAL_LONG(&const_JG_MANICHAEAN_YODH_value, U_JG_MANICHAEAN_YODH); zend_string *const_JG_MANICHAEAN_YODH_name = zend_string_init_interned("JG_MANICHAEAN_YODH", sizeof("JG_MANICHAEAN_YODH") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_YODH_name, &const_JG_MANICHAEAN_YODH_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_YODH_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_MANICHAEAN_ZAYIN_value; ZVAL_LONG(&const_JG_MANICHAEAN_ZAYIN_value, U_JG_MANICHAEAN_ZAYIN); zend_string *const_JG_MANICHAEAN_ZAYIN_name = zend_string_init_interned("JG_MANICHAEAN_ZAYIN", sizeof("JG_MANICHAEAN_ZAYIN") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_MANICHAEAN_ZAYIN_name, &const_JG_MANICHAEAN_ZAYIN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_MANICHAEAN_ZAYIN_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 54 zval const_JG_STRAIGHT_WAW_value; ZVAL_LONG(&const_JG_STRAIGHT_WAW_value, U_JG_STRAIGHT_WAW); zend_string *const_JG_STRAIGHT_WAW_name = zend_string_init_interned("JG_STRAIGHT_WAW", sizeof("JG_STRAIGHT_WAW") - 1, 1); zend_declare_typed_class_constant(class_entry, const_JG_STRAIGHT_WAW_name, &const_JG_STRAIGHT_WAW_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_JG_STRAIGHT_WAW_name); -#endif zval const_JG_COUNT_value; ZVAL_LONG(&const_JG_COUNT_value, U_JG_COUNT); @@ -4002,30 +3854,24 @@ static zend_class_entry *register_class_IntlChar(void) zend_string *const_WB_REGIONAL_INDICATOR_name = zend_string_init_interned("WB_REGIONAL_INDICATOR", sizeof("WB_REGIONAL_INDICATOR") - 1, 1); zend_declare_typed_class_constant(class_entry, const_WB_REGIONAL_INDICATOR_name, &const_WB_REGIONAL_INDICATOR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_WB_REGIONAL_INDICATOR_name); -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_WB_HEBREW_LETTER_value; ZVAL_LONG(&const_WB_HEBREW_LETTER_value, U_WB_HEBREW_LETTER); zend_string *const_WB_HEBREW_LETTER_name = zend_string_init_interned("WB_HEBREW_LETTER", sizeof("WB_HEBREW_LETTER") - 1, 1); zend_declare_typed_class_constant(class_entry, const_WB_HEBREW_LETTER_name, &const_WB_HEBREW_LETTER_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_WB_HEBREW_LETTER_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_WB_SINGLE_QUOTE_value; ZVAL_LONG(&const_WB_SINGLE_QUOTE_value, U_WB_SINGLE_QUOTE); zend_string *const_WB_SINGLE_QUOTE_name = zend_string_init_interned("WB_SINGLE_QUOTE", sizeof("WB_SINGLE_QUOTE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_WB_SINGLE_QUOTE_name, &const_WB_SINGLE_QUOTE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_WB_SINGLE_QUOTE_name); -#endif -#if U_ICU_VERSION_MAJOR_NUM >= 52 zval const_WB_DOUBLE_QUOTE_value; ZVAL_LONG(&const_WB_DOUBLE_QUOTE_value, U_WB_DOUBLE_QUOTE); zend_string *const_WB_DOUBLE_QUOTE_name = zend_string_init_interned("WB_DOUBLE_QUOTE", sizeof("WB_DOUBLE_QUOTE") - 1, 1); zend_declare_typed_class_constant(class_entry, const_WB_DOUBLE_QUOTE_name, &const_WB_DOUBLE_QUOTE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG)); zend_string_release(const_WB_DOUBLE_QUOTE_name); -#endif zval const_WB_COUNT_value; ZVAL_LONG(&const_WB_COUNT_value, U_WB_COUNT); From d4103b357082e598f0fdc70c3c730c06ebf49120 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 14 Nov 2024 12:25:08 +0100 Subject: [PATCH 06/11] Remove superfluous determination of cURL version (GH-16787) This was originally meant to distinguish between libcurl 7.59.0 and earlier; only the latter would need to be linked against normalize.lib, libssh2.lib and nghttp2.lib[1]. That would only have catered to our builds, and might not have been correct anyway. However, the version check was wrong (paren error), and has been removed in the meantime[2]. Given that cURL 7.59.0 is rather old, we do not reinstate the version check, but rather drop the now superfluous (and improper) determination of the cURL version. A nice bonus is that we get rid of some global variables. [1] [2] --- ext/curl/config.w32 | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/ext/curl/config.w32 b/ext/curl/config.w32 index 82be5212e56b3..253c3e3cb6356 100644 --- a/ext/curl/config.w32 +++ b/ext/curl/config.w32 @@ -3,16 +3,6 @@ ARG_WITH("curl", "cURL support", "no"); if (PHP_CURL != "no") { - var ver_num = NaN; - var f = PHP_PHP_BUILD + "/include/curl/curlver.h"; - if (FSO.FileExists(f)) { - var reg = /LIBCURL_VERSION_NUM\s+(0x[a-z0-9]+)/gi; - var m = reg.exec(file_get_contents(PHP_PHP_BUILD + "/include/curl/curlver.h")); - if (!!m && m.length >= 2) { - ver_num = parseInt(m[1]); - } - } - if (CHECK_LIB("libcurl_a.lib;libcurl.lib", "curl", PHP_CURL) && CHECK_HEADER_ADD_INCLUDE("curl/easy.h", "CFLAGS_CURL") && SETUP_OPENSSL("curl", PHP_CURL) >= 2 && @@ -20,7 +10,6 @@ if (PHP_CURL != "no") { CHECK_LIB("wldap32.lib", "curl", PHP_CURL) && (((PHP_ZLIB=="no") && (CHECK_LIB("zlib_a.lib;zlib.lib", "curl", PHP_CURL))) || (PHP_ZLIB_SHARED && CHECK_LIB("zlib.lib", "curl", PHP_CURL)) || (PHP_ZLIB == "yes" && (!PHP_ZLIB_SHARED))) && - !isNaN(ver_num) && (CHECK_LIB("normaliz.lib", "curl", PHP_CURL) && CHECK_LIB("libssh2.lib", "curl", PHP_CURL) && CHECK_LIB("nghttp2.lib", "curl", PHP_CURL)) From 2d1c3825a8ee468fe04efcd81ee48df39fa70c51 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 14 Nov 2024 14:00:19 +0100 Subject: [PATCH 07/11] Simplify WBMP imagecreatefromstring() detection (GH-16782) According to the WBMP specification[1], the first field (type) of a WBMP is a multi-byte integer, but only type `0` is supported. Thus there is no need to read a multi-byte integer. The second field (fix header) is a single byte; reading a multi-byte integer is not really wrong, since the fix header field is laid out in a way which allows it to be treated as such, but the check whether the MBI is greater than or equal to zero is pretty useless, because negative values could only be returned if overflow occurs (MBIs are unsigned). So the only useful assumption we can make is that the first byte is zero; we let `gdImageCreateFromWBMPCtx()` figure out the rest. [1] section 6 --- ext/gd/gd.c | 29 ++----------------- ext/gd/tests/imagecreatefromstring.wbmp | Bin 0 -> 5006 bytes ext/gd/tests/imagecreatefromstring_wbmp.phpt | 19 ++++++++++++ 3 files changed, 21 insertions(+), 27 deletions(-) create mode 100644 ext/gd/tests/imagecreatefromstring.wbmp create mode 100644 ext/gd/tests/imagecreatefromstring_wbmp.phpt diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 093daeac41996..938672ccc0c7d 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1358,24 +1358,6 @@ PHP_FUNCTION(imagetypes) } /* }}} */ -/* {{{ _php_ctx_getmbi */ - -static int _php_ctx_getmbi(gdIOCtx *ctx) -{ - int i, mbi = 0; - - do { - i = (ctx->getC)(ctx); - if (i < 0 || mbi > (INT_MAX >> 7)) { - return -1; - } - mbi = (mbi << 7) | (i & 0x7f); - } while (i & 0x80); - - return mbi; -} -/* }}} */ - /* {{{ _php_image_type * Based on ext/standard/image.c */ @@ -1413,15 +1395,8 @@ static int _php_image_type(zend_string *data) } } - gdIOCtx *io_ctx; - io_ctx = gdNewDynamicCtxEx(8, ZSTR_VAL(data), 0); - if (io_ctx) { - if (_php_ctx_getmbi(io_ctx) == 0 && _php_ctx_getmbi(io_ctx) >= 0) { - io_ctx->gd_free(io_ctx); - return PHP_GDIMG_TYPE_WBM; - } else { - io_ctx->gd_free(io_ctx); - } + if (ZSTR_VAL(data)[0] == 0) { + return PHP_GDIMG_TYPE_WBM; } return -1; diff --git a/ext/gd/tests/imagecreatefromstring.wbmp b/ext/gd/tests/imagecreatefromstring.wbmp new file mode 100644 index 0000000000000000000000000000000000000000..f1af776b7f20c8d01215d644f6342f936d2052f2 GIT binary patch literal 5006 xcmeIuF#!Mo2m_$STP>4o3O|TIGMz343>YwAz<>b*1`HT5V8DO@0|pGd4;%(RcPIb= literal 0 HcmV?d00001 diff --git a/ext/gd/tests/imagecreatefromstring_wbmp.phpt b/ext/gd/tests/imagecreatefromstring_wbmp.phpt new file mode 100644 index 0000000000000..07bf3f7e196df --- /dev/null +++ b/ext/gd/tests/imagecreatefromstring_wbmp.phpt @@ -0,0 +1,19 @@ +--TEST-- +imagecreatefromstring() - WBMP format +--EXTENSIONS-- +gd +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(200) +int(200) From efe4fc9f9986cc190b28d4d515419da2d110cc90 Mon Sep 17 00:00:00 2001 From: Ayesh Karunaratne Date: Thu, 14 Nov 2024 23:33:03 +0700 Subject: [PATCH 08/11] UPGRADING: Fix `CURLOPT_TCP_KEEPCNT` entry --- UPGRADING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UPGRADING b/UPGRADING index b753545a944c0..31b51a2c5fb9f 100644 --- a/UPGRADING +++ b/UPGRADING @@ -1049,7 +1049,7 @@ PHP 8.4 UPGRADE NOTES - Curl: . CURL_HTTP_VERSION_3. . CURL_HTTP_VERSION_3ONLY. - . CURL_TCP_KEEPCNT. + . CURLOPT_TCP_KEEPCNT. . CURLOPT_PREREQFUNCTION. . CURL_PREREQFUNC_OK. . CURL_PREREQFUNC_ABORT. From ec3de14afb42c9ed7ae29e889959a6b308990ff7 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Fri, 8 Nov 2024 14:50:54 +0100 Subject: [PATCH 09/11] Fix i386 release build warning Closes GH-16730 --- main/getopt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/getopt.c b/main/getopt.c index 85871f164020a..65ce94ae9bb05 100644 --- a/main/getopt.c +++ b/main/getopt.c @@ -97,7 +97,7 @@ PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char arg_start = 2; /* Check for = */ - if ((pos = php_memnstr(&argv[*optind][arg_start], "=", 1, argv[*optind]+arg_end)) != NULL) { + if ((pos = memchr(&argv[*optind][arg_start], '=', arg_end - arg_start)) != NULL) { arg_end = pos-&argv[*optind][arg_start]; arg_start++; } else { From cbb3b9371d43e2d0e89d2919df7c8cfafba67a07 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Wed, 13 Nov 2024 18:27:26 +0100 Subject: [PATCH 10/11] Fix GH-16770: Tracing JIT type mismatch when returning UNDEF When returning an UNDEF value, it actually becomes NULL. The following code took this into account: https://github.com/php/php-src/blob/28344e0445bc2abae8dc5f1376aa0ff350e6d66d/ext/opcache/jit/zend_jit_trace.c#L2196-L2199 But the stack does not update the type to NULL, causing a mismatch. Closes GH-16784. Co-authored-by: Dmitry Stogov --- NEWS | 4 +++ ext/opcache/jit/zend_jit_trace.c | 3 +++ ext/opcache/tests/jit/gh16770.phpt | 39 ++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 ext/opcache/tests/jit/gh16770.phpt diff --git a/NEWS b/NEWS index 2b3b9e3f9c2b7..97b4957143e4e 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,10 @@ PHP NEWS - Hash: . Fixed GH-16711: Segfault in mhash(). (Girgias) +- Opcache: + . Fixed bug GH-16770 (Tracing JIT type mismatch when returning UNDEF). + (nielsdos, Dmitry) + - OpenSSL: . Prevent unexpected array entry conversion when reading key. (nielsdos) . Fix various memory leaks related to openssl exports. (nielsdos) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 5b1186abd199d..bb35ffa2a050c 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -5404,6 +5404,9 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par res_type = Z_TYPE_P(RT_CONSTANT(opline, opline->op1)); } else if (op1_type != IS_UNKNOWN) { res_type = op1_type; + if (res_type == IS_UNDEF) { + res_type = IS_NULL; + } } if (op_array->type == ZEND_EVAL_CODE // TODO: support for top-level code diff --git a/ext/opcache/tests/jit/gh16770.phpt b/ext/opcache/tests/jit/gh16770.phpt new file mode 100644 index 0000000000000..71d796ade8ed9 --- /dev/null +++ b/ext/opcache/tests/jit/gh16770.phpt @@ -0,0 +1,39 @@ +--TEST-- +GH-16770 (Tracing JIT type mismatch when returning UNDEF) +--INI-- +opcache.jit=1254 +opcache.jit_hot_loop=1 +opcache.jit_buffer_size=32M +--EXTENSIONS-- +opcache +--FILE-- + +--EXPECTF-- +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d + +Warning: Undefined variable $undefined in %s on line %d +NULL From 9128fb8f1e638f5ea13a9e65bdc1793a443abace Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 13 Nov 2024 22:32:04 +0100 Subject: [PATCH 11/11] Stick with icu4c 74.2 on macOS CI for PHP-8.1 PHP-8.1 is not ready for ICU >= 75.1 which requires C++17 support. Thus we force the usage of icu4c@74, what is scheduled for removal in May 2025, though. Closes GH-16789. --- .github/actions/brew/action.yml | 2 +- .github/actions/configure-macos/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/brew/action.yml b/.github/actions/brew/action.yml index 51d37aa56d470..3b36ec446ddca 100644 --- a/.github/actions/brew/action.yml +++ b/.github/actions/brew/action.yml @@ -21,7 +21,6 @@ runs: webp \ freetype \ intltool \ - icu4c \ libiconv \ zlib \ t1lib \ @@ -33,4 +32,5 @@ runs: libjpeg \ libxslt \ postgresql + brew reinstall icu4c@74 brew link icu4c gettext --force diff --git a/.github/actions/configure-macos/action.yml b/.github/actions/configure-macos/action.yml index 7312ff5d69f19..b21f6466c444c 100644 --- a/.github/actions/configure-macos/action.yml +++ b/.github/actions/configure-macos/action.yml @@ -18,7 +18,7 @@ runs: export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxml2/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libxslt/lib/pkgconfig" export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/zlib/lib/pkgconfig" - export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/icu4c/lib/pkgconfig" + export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/icu4c@74/lib/pkgconfig" sed -i -e 's/Requires.private:.*//g' "$BREW_OPT/curl/lib/pkgconfig/libcurl.pc" ./buildconf --force ./configure \