mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Require ICU ≥ 50.1
Given that ICU is a set of lively developed libraries, that ICU 50.1 has been released on 2012-11-05, and PHP 7.4 is scheduled to be released seven years after it, we consider it appropriate to ditch these legacy versions. Particularly, that would be a reasonable groundwork to implement part two of the “Deprecate and remove INTL_IDNA_VARIANT_2003” RFC[1], namely to default idn_to_ascii()'s and idn_to_utf8()'s $variant parameter to INTL_IDNA_VARIANT_UTS46, which is not defined in ICU < 4.6. See also the related discussion on internals@[2]. [1] <https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003> [2] <http://news.php.net/php.internals/101626>ff
This commit is contained in:
parent
b820a7b2ff
commit
8a4c2f1621
110 changed files with 31 additions and 4082 deletions
3
NEWS
3
NEWS
|
@ -2,6 +2,9 @@ PHP NEWS
|
||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||
?? ??? ????, PHP 7.4.0alpha1
|
?? ??? ????, PHP 7.4.0alpha1
|
||||||
|
|
||||||
|
- Intl:
|
||||||
|
. Lifted requirements to ICU ≥ 50.1. (cmb)
|
||||||
|
|
||||||
- Standard:
|
- Standard:
|
||||||
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
|
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
|
||||||
stream_socket_client). (Ville Hukkamäki)
|
stream_socket_client). (Ville Hukkamäki)
|
||||||
|
|
|
@ -51,6 +51,9 @@ PHP 7.4 UPGRADE NOTES
|
||||||
9. Other Changes to Extensions
|
9. Other Changes to Extensions
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
|
- Intl:
|
||||||
|
. The Intl extension now requires at least ICU 50.1.
|
||||||
|
|
||||||
- Reflection:
|
- Reflection:
|
||||||
. Numeric value of class, property, function and constant modifiers was
|
. Numeric value of class, property, function and constant modifiers was
|
||||||
changed. Don't filter methods and properties through
|
changed. Don't filter methods and properties through
|
||||||
|
|
12
acinclude.m4
12
acinclude.m4
|
@ -2191,7 +2191,7 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
||||||
AC_MSG_RESULT([$icu_install_prefix])
|
AC_MSG_RESULT([$icu_install_prefix])
|
||||||
|
|
||||||
dnl Check ICU version
|
dnl Check ICU version
|
||||||
AC_MSG_CHECKING([for ICU 4.0 or greater])
|
AC_MSG_CHECKING([for ICU 50.1 or greater])
|
||||||
icu_version_full=`$ICU_CONFIG --version`
|
icu_version_full=`$ICU_CONFIG --version`
|
||||||
ac_IFS=$IFS
|
ac_IFS=$IFS
|
||||||
IFS="."
|
IFS="."
|
||||||
|
@ -2200,8 +2200,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
||||||
icu_version=`expr [$]1 \* 1000 + [$]2`
|
icu_version=`expr [$]1 \* 1000 + [$]2`
|
||||||
AC_MSG_RESULT([found $icu_version_full])
|
AC_MSG_RESULT([found $icu_version_full])
|
||||||
|
|
||||||
if test "$icu_version" -lt "4000"; then
|
if test "$icu_version" -lt "50001"; then
|
||||||
AC_MSG_ERROR([ICU version 4.0 or later is required])
|
AC_MSG_ERROR([ICU version 50.1 or later is required])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ICU_VERSION=$icu_version
|
ICU_VERSION=$icu_version
|
||||||
|
@ -2211,10 +2211,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
||||||
PHP_EVAL_LIBLINE($ICU_LIBS, $1)
|
PHP_EVAL_LIBLINE($ICU_LIBS, $1)
|
||||||
|
|
||||||
ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags`
|
ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags`
|
||||||
if test "$icu_version" -ge "49000"; then
|
ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
|
||||||
ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
|
ICU_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
|
||||||
ICU_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
|
|
||||||
fi
|
|
||||||
if test "$icu_version" -ge "60000"; then
|
if test "$icu_version" -ge "60000"; then
|
||||||
ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
|
ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -290,9 +290,7 @@ static const zend_function_entry RuleBasedBreakIterator_class_functions[] = {
|
||||||
PHP_ME_MAPPING(getRules, rbbi_get_rules, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getRules, rbbi_get_rules, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getRuleStatus, rbbi_get_rule_status, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getRuleStatus, rbbi_get_rule_status, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getRuleStatusVec, rbbi_get_rule_status_vec, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getRuleStatusVec, rbbi_get_rule_status_vec, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
PHP_ME_MAPPING(getBinaryRules, rbbi_get_binary_rules, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getBinaryRules, rbbi_get_binary_rules, ainfo_biter_void, ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_FE_END
|
PHP_FE_END
|
||||||
};
|
};
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
|
@ -77,7 +77,6 @@ static void _php_intlrbbi_constructor_body(INTERNAL_FUNCTION_PARAMETERS)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else { // compiled
|
} else { // compiled
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
rbbi = new RuleBasedBreakIterator((uint8_t*)rules, rules_len, status);
|
rbbi = new RuleBasedBreakIterator((uint8_t*)rules, rules_len, status);
|
||||||
if (U_FAILURE(status)) {
|
if (U_FAILURE(status)) {
|
||||||
intl_error_set(NULL, status, "rbbi_create_instance: unable to "
|
intl_error_set(NULL, status, "rbbi_create_instance: unable to "
|
||||||
|
@ -85,11 +84,6 @@ static void _php_intlrbbi_constructor_body(INTERNAL_FUNCTION_PARAMETERS)
|
||||||
delete rbbi;
|
delete rbbi;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
intl_error_set(NULL, U_UNSUPPORTED_ERROR, "rbbi_create_instance: "
|
|
||||||
"compiled rules require ICU >= 4.8", 0);
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
breakiterator_object_create(return_value, rbbi, 0);
|
breakiterator_object_create(return_value, rbbi, 0);
|
||||||
|
@ -188,7 +182,6 @@ U_CFUNC PHP_FUNCTION(rbbi_get_rule_status_vec)
|
||||||
delete[] rules;
|
delete[] rules;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
U_CFUNC PHP_FUNCTION(rbbi_get_binary_rules)
|
U_CFUNC PHP_FUNCTION(rbbi_get_binary_rules)
|
||||||
{
|
{
|
||||||
BREAKITER_METHOD_INIT_VARS;
|
BREAKITER_METHOD_INIT_VARS;
|
||||||
|
@ -218,4 +211,3 @@ U_CFUNC PHP_FUNCTION(rbbi_get_binary_rules)
|
||||||
|
|
||||||
RETURN_STR(ret_rules);
|
RETURN_STR(ret_rules);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
|
@ -377,9 +377,7 @@ ZEND_END_ARG_INFO()
|
||||||
static const zend_function_entry Calendar_class_functions[] = {
|
static const zend_function_entry Calendar_class_functions[] = {
|
||||||
PHP_ME(IntlCalendar, __construct, ainfo_cal_void, ZEND_ACC_PRIVATE)
|
PHP_ME(IntlCalendar, __construct, ainfo_cal_void, ZEND_ACC_PRIVATE)
|
||||||
PHP_ME_MAPPING(createInstance, intlcal_create_instance, ainfo_cal_createInstance, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(createInstance, intlcal_create_instance, ainfo_cal_createInstance, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 42
|
|
||||||
PHP_ME_MAPPING(getKeywordValuesForLocale, intlcal_get_keyword_values_for_locale, ainfo_cal_get_keyword_values_for_locale, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getKeywordValuesForLocale, intlcal_get_keyword_values_for_locale, ainfo_cal_get_keyword_values_for_locale, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_ME_MAPPING(getNow, intlcal_get_now, ainfo_cal_void, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getNow, intlcal_get_now, ainfo_cal_void, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getAvailableLocales, intlcal_get_available_locales, ainfo_cal_void, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getAvailableLocales, intlcal_get_available_locales, ainfo_cal_void, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(get, intlcal_get, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(get, intlcal_get, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
|
@ -395,9 +393,7 @@ static const zend_function_entry Calendar_class_functions[] = {
|
||||||
PHP_ME_MAPPING(fieldDifference, intlcal_field_difference, ainfo_cal_field_difference, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(fieldDifference, intlcal_field_difference, ainfo_cal_field_difference, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getActualMaximum, intlcal_get_actual_maximum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getActualMaximum, intlcal_get_actual_maximum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getActualMinimum, intlcal_get_actual_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getActualMinimum, intlcal_get_actual_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_ME_MAPPING(getDayOfWeekType, intlcal_get_day_of_week_type, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getDayOfWeekType, intlcal_get_day_of_week_type, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_ME_MAPPING(getFirstDayOfWeek, intlcal_get_first_day_of_week, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getFirstDayOfWeek, intlcal_get_first_day_of_week, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getGreatestMinimum, intlcal_get_greatest_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getGreatestMinimum, intlcal_get_greatest_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getLeastMaximum, intlcal_get_least_maximum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getLeastMaximum, intlcal_get_least_maximum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
|
@ -407,26 +403,20 @@ static const zend_function_entry Calendar_class_functions[] = {
|
||||||
PHP_ME_MAPPING(getMinimum, intlcal_get_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getMinimum, intlcal_get_minimum, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getTimeZone, intlcal_get_time_zone, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getTimeZone, intlcal_get_time_zone, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getType, intlcal_get_type, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getType, intlcal_get_type, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_ME_MAPPING(getWeekendTransition,intlcal_get_weekend_transition, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getWeekendTransition,intlcal_get_weekend_transition, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_ME_MAPPING(inDaylightTime, intlcal_in_daylight_time, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(inDaylightTime, intlcal_in_daylight_time, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(isEquivalentTo, intlcal_is_equivalent_to, ainfo_cal_other_cal, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(isEquivalentTo, intlcal_is_equivalent_to, ainfo_cal_other_cal, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(isLenient, intlcal_is_lenient, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(isLenient, intlcal_is_lenient, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(isSet, intlcal_is_set, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(isSet, intlcal_is_set, ainfo_cal_field, ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_ME_MAPPING(isWeekend, intlcal_is_weekend, ainfo_cal_date_optional, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(isWeekend, intlcal_is_weekend, ainfo_cal_date_optional, ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_ME_MAPPING(setFirstDayOfWeek, intlcal_set_first_day_of_week, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(setFirstDayOfWeek, intlcal_set_first_day_of_week, ainfo_cal_dow, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(setLenient, intlcal_set_lenient, ainfo_cal_setLenient, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(setLenient, intlcal_set_lenient, ainfo_cal_setLenient, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(setMinimalDaysInFirstWeek,intlcal_set_minimal_days_in_first_week,ainfo_cal_set_minimal_days_in_first_week,ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(setMinimalDaysInFirstWeek,intlcal_set_minimal_days_in_first_week,ainfo_cal_set_minimal_days_in_first_week,ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(equals, intlcal_equals, ainfo_cal_other_cal, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(equals, intlcal_equals, ainfo_cal_other_cal, ZEND_ACC_PUBLIC)
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
PHP_ME_MAPPING(getRepeatedWallTimeOption,intlcal_get_repeated_wall_time_option,ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getRepeatedWallTimeOption,intlcal_get_repeated_wall_time_option,ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getSkippedWallTimeOption,intlcal_get_skipped_wall_time_option,ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getSkippedWallTimeOption,intlcal_get_skipped_wall_time_option,ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(setRepeatedWallTimeOption,intlcal_set_repeated_wall_time_option,ainfo_cal_wall_time_option,ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(setRepeatedWallTimeOption,intlcal_set_repeated_wall_time_option,ainfo_cal_wall_time_option,ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(setSkippedWallTimeOption,intlcal_set_skipped_wall_time_option,ainfo_cal_wall_time_option,ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(setSkippedWallTimeOption,intlcal_set_skipped_wall_time_option,ainfo_cal_wall_time_option,ZEND_ACC_PUBLIC)
|
||||||
#endif
|
|
||||||
PHP_ME_MAPPING(fromDateTime, intlcal_from_date_time, ainfo_cal_from_date_time, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(fromDateTime, intlcal_from_date_time, ainfo_cal_from_date_time, ZEND_ACC_STATIC | ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(toDateTime, intlcal_to_date_time, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(toDateTime, intlcal_to_date_time, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
PHP_ME_MAPPING(getErrorCode, intlcal_get_error_code, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
PHP_ME_MAPPING(getErrorCode, intlcal_get_error_code, ainfo_cal_void, ZEND_ACC_PUBLIC)
|
||||||
|
@ -505,18 +495,14 @@ void calendar_register_IntlCalendar_class(void)
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_FRIDAY", UCAL_FRIDAY);
|
CALENDAR_DECL_LONG_CONST("DOW_FRIDAY", UCAL_FRIDAY);
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_SATURDAY", UCAL_SATURDAY);
|
CALENDAR_DECL_LONG_CONST("DOW_SATURDAY", UCAL_SATURDAY);
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKDAY", UCAL_WEEKDAY);
|
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKDAY", UCAL_WEEKDAY);
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND", UCAL_WEEKEND);
|
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND", UCAL_WEEKEND);
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_OFFSET", UCAL_WEEKEND_ONSET);
|
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_OFFSET", UCAL_WEEKEND_ONSET);
|
||||||
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_CEASE", UCAL_WEEKEND_CEASE);
|
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_CEASE", UCAL_WEEKEND_CEASE);
|
||||||
#endif
|
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
CALENDAR_DECL_LONG_CONST("WALLTIME_FIRST", UCAL_WALLTIME_FIRST);
|
CALENDAR_DECL_LONG_CONST("WALLTIME_FIRST", UCAL_WALLTIME_FIRST);
|
||||||
CALENDAR_DECL_LONG_CONST("WALLTIME_LAST", UCAL_WALLTIME_LAST);
|
CALENDAR_DECL_LONG_CONST("WALLTIME_LAST", UCAL_WALLTIME_LAST);
|
||||||
CALENDAR_DECL_LONG_CONST("WALLTIME_NEXT_VALID", UCAL_WALLTIME_NEXT_VALID);
|
CALENDAR_DECL_LONG_CONST("WALLTIME_NEXT_VALID", UCAL_WALLTIME_NEXT_VALID);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Create and register 'IntlGregorianCalendar' class. */
|
/* Create and register 'IntlGregorianCalendar' class. */
|
||||||
INIT_CLASS_ENTRY(ce, "IntlGregorianCalendar", GregorianCalendar_class_functions);
|
INIT_CLASS_ENTRY(ce, "IntlGregorianCalendar", GregorianCalendar_class_functions);
|
||||||
|
|
|
@ -89,7 +89,6 @@ U_CFUNC PHP_FUNCTION(intlcal_create_instance)
|
||||||
calendar_object_create(return_value, cal);
|
calendar_object_create(return_value, cal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 42
|
|
||||||
class BugStringCharEnumeration : public StringEnumeration
|
class BugStringCharEnumeration : public StringEnumeration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -185,7 +184,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_keyword_values_for_locale)
|
||||||
|
|
||||||
IntlIterator_from_StringEnumeration(se, return_value);
|
IntlIterator_from_StringEnumeration(se, return_value);
|
||||||
}
|
}
|
||||||
#endif //ICU 4.2 only
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_get_now)
|
U_CFUNC PHP_FUNCTION(intlcal_get_now)
|
||||||
{
|
{
|
||||||
|
@ -596,7 +594,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_actual_minimum)
|
||||||
"intlcal_get_actual_minimum", INTERNAL_FUNCTION_PARAM_PASSTHRU);
|
"intlcal_get_actual_minimum", INTERNAL_FUNCTION_PARAM_PASSTHRU);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_get_day_of_week_type)
|
U_CFUNC PHP_FUNCTION(intlcal_get_day_of_week_type)
|
||||||
{
|
{
|
||||||
zend_long dow;
|
zend_long dow;
|
||||||
|
@ -624,7 +621,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_day_of_week_type)
|
||||||
|
|
||||||
RETURN_LONG((zend_long)result);
|
RETURN_LONG((zend_long)result);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_get_first_day_of_week)
|
U_CFUNC PHP_FUNCTION(intlcal_get_first_day_of_week)
|
||||||
{
|
{
|
||||||
|
@ -789,7 +785,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_type)
|
||||||
RETURN_STRING(co->ucal->getType());
|
RETURN_STRING(co->ucal->getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_get_weekend_transition)
|
U_CFUNC PHP_FUNCTION(intlcal_get_weekend_transition)
|
||||||
{
|
{
|
||||||
zend_long dow;
|
zend_long dow;
|
||||||
|
@ -817,7 +812,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_weekend_transition)
|
||||||
|
|
||||||
RETURN_LONG((zend_long)res);
|
RETURN_LONG((zend_long)res);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_in_daylight_time)
|
U_CFUNC PHP_FUNCTION(intlcal_in_daylight_time)
|
||||||
{
|
{
|
||||||
|
@ -904,7 +898,6 @@ U_CFUNC PHP_FUNCTION(intlcal_is_set)
|
||||||
RETURN_BOOL((int)co->ucal->isSet((UCalendarDateFields)field));
|
RETURN_BOOL((int)co->ucal->isSet((UCalendarDateFields)field));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_is_weekend)
|
U_CFUNC PHP_FUNCTION(intlcal_is_weekend)
|
||||||
{
|
{
|
||||||
double date;
|
double date;
|
||||||
|
@ -929,7 +922,6 @@ U_CFUNC PHP_FUNCTION(intlcal_is_weekend)
|
||||||
RETURN_BOOL((int)ret);
|
RETURN_BOOL((int)ret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_set_first_day_of_week)
|
U_CFUNC PHP_FUNCTION(intlcal_set_first_day_of_week)
|
||||||
|
@ -1030,8 +1022,6 @@ U_CFUNC PHP_FUNCTION(intlcal_equals)
|
||||||
RETURN_BOOL((int)result);
|
RETURN_BOOL((int)result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_get_repeated_wall_time_option)
|
U_CFUNC PHP_FUNCTION(intlcal_get_repeated_wall_time_option)
|
||||||
{
|
{
|
||||||
CALENDAR_METHOD_INIT_VARS;
|
CALENDAR_METHOD_INIT_VARS;
|
||||||
|
@ -1115,8 +1105,6 @@ U_CFUNC PHP_FUNCTION(intlcal_set_skipped_wall_time_option)
|
||||||
RETURN_TRUE;
|
RETURN_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
U_CFUNC PHP_FUNCTION(intlcal_from_date_time)
|
U_CFUNC PHP_FUNCTION(intlcal_from_date_time)
|
||||||
{
|
{
|
||||||
zval *zv_arg,
|
zval *zv_arg,
|
||||||
|
|
|
@ -185,12 +185,7 @@ static void _php_intlgregcal_constructor_body(
|
||||||
}
|
}
|
||||||
|
|
||||||
timelib_tzinfo *tzinfo = get_timezone_info();
|
timelib_tzinfo *tzinfo = get_timezone_info();
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 42
|
|
||||||
UnicodeString tzstr = UnicodeString::fromUTF8(StringPiece(tzinfo->name));
|
UnicodeString tzstr = UnicodeString::fromUTF8(StringPiece(tzinfo->name));
|
||||||
#else
|
|
||||||
UnicodeString tzstr = UnicodeString(tzinfo->name,
|
|
||||||
strlen(tzinfo->name), US_INV);
|
|
||||||
#endif
|
|
||||||
if (tzstr.isBogus()) {
|
if (tzstr.isBogus()) {
|
||||||
intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR,
|
intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR,
|
||||||
"intlgregcal_create_instance: could not create UTF-8 string "
|
"intlgregcal_create_instance: could not create UTF-8 string "
|
||||||
|
|
|
@ -83,14 +83,7 @@ U_CFUNC TimeZone *timezone_convert_datetimezone(int type,
|
||||||
|
|
||||||
UnicodeString s = UnicodeString(id, id_len, US_INV);
|
UnicodeString s = UnicodeString(id, id_len, US_INV);
|
||||||
timeZone = TimeZone::createTimeZone(s);
|
timeZone = TimeZone::createTimeZone(s);
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
if (*timeZone == TimeZone::getUnknown()) {
|
if (*timeZone == TimeZone::getUnknown()) {
|
||||||
#else
|
|
||||||
UnicodeString resultingId;
|
|
||||||
timeZone->getID(resultingId);
|
|
||||||
if (resultingId == UnicodeString("Etc/Unknown", -1, US_INV)
|
|
||||||
|| resultingId == UnicodeString("GMT", -1, US_INV)) {
|
|
||||||
#endif
|
|
||||||
spprintf(&message, 0, "%s: time zone id '%s' "
|
spprintf(&message, 0, "%s: time zone id '%s' "
|
||||||
"extracted from ext/date DateTimeZone not recognized", func, id);
|
"extracted from ext/date DateTimeZone not recognized", func, id);
|
||||||
intl_errors_set(outside_error, U_ILLEGAL_ARGUMENT_ERROR,
|
intl_errors_set(outside_error, U_ILLEGAL_ARGUMENT_ERROR,
|
||||||
|
|
|
@ -10,14 +10,6 @@ if test "$PHP_INTL" != "no"; then
|
||||||
PHP_SUBST(INTL_SHARED_LIBADD)
|
PHP_SUBST(INTL_SHARED_LIBADD)
|
||||||
PHP_REQUIRE_CXX()
|
PHP_REQUIRE_CXX()
|
||||||
INTL_COMMON_FLAGS="$ICU_INCS $ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
INTL_COMMON_FLAGS="$ICU_INCS $ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
|
||||||
if test "$icu_version" -ge "4002"; then
|
|
||||||
icu_spoof_src=" spoofchecker/spoofchecker_class.c \
|
|
||||||
spoofchecker/spoofchecker.c\
|
|
||||||
spoofchecker/spoofchecker_create.c\
|
|
||||||
spoofchecker/spoofchecker_main.c"
|
|
||||||
else
|
|
||||||
icu_spoof_src=""
|
|
||||||
fi
|
|
||||||
PHP_NEW_EXTENSION(intl, php_intl.c \
|
PHP_NEW_EXTENSION(intl, php_intl.c \
|
||||||
intl_error.c \
|
intl_error.c \
|
||||||
intl_convert.c \
|
intl_convert.c \
|
||||||
|
@ -68,7 +60,10 @@ if test "$PHP_INTL" != "no"; then
|
||||||
transliterator/transliterator_methods.c \
|
transliterator/transliterator_methods.c \
|
||||||
uchar/uchar.c \
|
uchar/uchar.c \
|
||||||
idn/idn.c \
|
idn/idn.c \
|
||||||
$icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
|
spoofchecker/spoofchecker_class.c \
|
||||||
|
spoofchecker/spoofchecker.c\
|
||||||
|
spoofchecker/spoofchecker_create.c\
|
||||||
|
spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx)
|
||||||
|
|
||||||
PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
|
PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \
|
||||||
common/common_enum.cpp \
|
common/common_enum.cpp \
|
||||||
|
|
|
@ -18,10 +18,8 @@
|
||||||
#include "zend_exceptions.h"
|
#include "zend_exceptions.h"
|
||||||
|
|
||||||
#include <unicode/utypes.h>
|
#include <unicode/utypes.h>
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
#include <unicode/utf8.h>
|
#include <unicode/utf8.h>
|
||||||
#include <unicode/utf16.h>
|
#include <unicode/utf16.h>
|
||||||
#endif
|
|
||||||
#include <unicode/ucnv.h>
|
#include <unicode/ucnv.h>
|
||||||
#include <unicode/ustring.h>
|
#include <unicode/ustring.h>
|
||||||
|
|
||||||
|
|
|
@ -36,10 +36,6 @@ extern "C" {
|
||||||
#include "dateformat_helpers.h"
|
#include "dateformat_helpers.h"
|
||||||
#include "zend_exceptions.h"
|
#include "zend_exceptions.h"
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM < 50
|
|
||||||
#define UDAT_PATTERN 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define INTL_UDATE_FMT_OK(i) \
|
#define INTL_UDATE_FMT_OK(i) \
|
||||||
(UDAT_FULL == (i) || UDAT_LONG == (i) || \
|
(UDAT_FULL == (i) || UDAT_LONG == (i) || \
|
||||||
UDAT_MEDIUM == (i) || UDAT_SHORT == (i) || \
|
UDAT_MEDIUM == (i) || UDAT_SHORT == (i) || \
|
||||||
|
|
|
@ -24,9 +24,7 @@
|
||||||
#include "grapheme_util.h"
|
#include "grapheme_util.h"
|
||||||
|
|
||||||
#include <unicode/utypes.h>
|
#include <unicode/utypes.h>
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
#include <unicode/utf8.h>
|
#include <unicode/utf8.h>
|
||||||
#endif
|
|
||||||
#include <unicode/ucol.h>
|
#include <unicode/ucol.h>
|
||||||
#include <unicode/ustring.h>
|
#include <unicode/ustring.h>
|
||||||
#include <unicode/ubrk.h>
|
#include <unicode/ubrk.h>
|
||||||
|
|
|
@ -32,10 +32,6 @@
|
||||||
#include "intl_convert.h"
|
#include "intl_convert.h"
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
#ifdef UIDNA_INFO_INITIALIZER
|
|
||||||
#define HAVE_46_API 1 /* has UTS#46 API (introduced in ICU 4.6) */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
INTL_IDN_VARIANT_2003 = 0,
|
INTL_IDN_VARIANT_2003 = 0,
|
||||||
INTL_IDN_VARIANT_UTS46
|
INTL_IDN_VARIANT_UTS46
|
||||||
|
@ -58,8 +54,6 @@ void idn_register_constants( INIT_FUNC_ARGS )
|
||||||
/* Option to check if input conforms to STD-3 ASCII rules */
|
/* Option to check if input conforms to STD-3 ASCII rules */
|
||||||
REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_USE_STD3_RULES", UIDNA_USE_STD3_RULES, CONST_CS | CONST_PERSISTENT);
|
||||||
|
|
||||||
#ifdef HAVE_46_API
|
|
||||||
|
|
||||||
/* Option to check for whether the input conforms to the BiDi rules.
|
/* Option to check for whether the input conforms to the BiDi rules.
|
||||||
* Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) */
|
* Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) */
|
||||||
REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_CHECK_BIDI", UIDNA_CHECK_BIDI, CONST_CS | CONST_PERSISTENT);
|
||||||
|
@ -77,15 +71,11 @@ void idn_register_constants( INIT_FUNC_ARGS )
|
||||||
* By default, ToUnicode() uses transitional processing.
|
* By default, ToUnicode() uses transitional processing.
|
||||||
* Ignored by the IDNA2003 implementation. */
|
* Ignored by the IDNA2003 implementation. */
|
||||||
REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* VARIANTS */
|
/* VARIANTS */
|
||||||
REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_2003", INTL_IDN_VARIANT_2003, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_2003", INTL_IDN_VARIANT_2003, CONST_CS | CONST_PERSISTENT);
|
||||||
#ifdef HAVE_46_API
|
|
||||||
REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("INTL_IDNA_VARIANT_UTS46", INTL_IDN_VARIANT_UTS46, CONST_CS | CONST_PERSISTENT);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_46_API
|
|
||||||
/* PINFO ERROR CODES */
|
/* PINFO ERROR CODES */
|
||||||
REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL, CONST_CS | CONST_PERSISTENT);
|
||||||
REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG, CONST_CS | CONST_PERSISTENT);
|
||||||
|
@ -100,7 +90,6 @@ void idn_register_constants( INIT_FUNC_ARGS )
|
||||||
REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL, CONST_CS | CONST_PERSISTENT);
|
||||||
REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_ERROR_BIDI", UIDNA_ERROR_BIDI, CONST_CS | CONST_PERSISTENT);
|
||||||
REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_CS | CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("IDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ, CONST_CS | CONST_PERSISTENT);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
@ -131,7 +120,6 @@ static inline void php_intl_bad_args(const char *msg)
|
||||||
php_intl_idn_check_status(U_ILLEGAL_ARGUMENT_ERROR, msg);
|
php_intl_idn_check_status(U_ILLEGAL_ARGUMENT_ERROR, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_46_API
|
|
||||||
static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
|
static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
|
||||||
const zend_string *domain, uint32_t option, int mode, zval *idna_info)
|
const zend_string *domain, uint32_t option, int mode, zval *idna_info)
|
||||||
{
|
{
|
||||||
|
@ -201,7 +189,6 @@ static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
|
||||||
|
|
||||||
uidna_close(uts46);
|
uidna_close(uts46);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void php_intl_idn_to(INTERNAL_FUNCTION_PARAMETERS,
|
static void php_intl_idn_to(INTERNAL_FUNCTION_PARAMETERS,
|
||||||
const zend_string *domain, uint32_t option, int mode)
|
const zend_string *domain, uint32_t option, int mode)
|
||||||
|
@ -292,19 +279,11 @@ static void php_intl_idn_handoff(INTERNAL_FUNCTION_PARAMETERS, int mode)
|
||||||
RETURN_NULL(); /* don't set FALSE because that's not the way it was before... */
|
RETURN_NULL(); /* don't set FALSE because that's not the way it was before... */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_46_API
|
|
||||||
if (variant != INTL_IDN_VARIANT_2003 && variant != INTL_IDN_VARIANT_UTS46) {
|
if (variant != INTL_IDN_VARIANT_2003 && variant != INTL_IDN_VARIANT_UTS46) {
|
||||||
php_intl_bad_args("invalid variant, must be one of {"
|
php_intl_bad_args("invalid variant, must be one of {"
|
||||||
"INTL_IDNA_VARIANT_2003, INTL_IDNA_VARIANT_UTS46}");
|
"INTL_IDNA_VARIANT_2003, INTL_IDNA_VARIANT_UTS46}");
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if (variant != INTL_IDN_VARIANT_2003) {
|
|
||||||
php_intl_bad_args("invalid variant, PHP was compiled against "
|
|
||||||
"an old version of ICU and only supports INTL_IDN_VARIANT_2003");
|
|
||||||
RETURN_FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (ZSTR_LEN(domain) < 1) {
|
if (ZSTR_LEN(domain) < 1) {
|
||||||
php_intl_bad_args("empty domain name");
|
php_intl_bad_args("empty domain name");
|
||||||
|
@ -334,11 +313,9 @@ static void php_intl_idn_handoff(INTERNAL_FUNCTION_PARAMETERS, int mode)
|
||||||
if (variant == INTL_IDN_VARIANT_2003) {
|
if (variant == INTL_IDN_VARIANT_2003) {
|
||||||
php_intl_idn_to(INTERNAL_FUNCTION_PARAM_PASSTHRU, domain, (uint32_t)option, mode);
|
php_intl_idn_to(INTERNAL_FUNCTION_PARAM_PASSTHRU, domain, (uint32_t)option, mode);
|
||||||
}
|
}
|
||||||
#ifdef HAVE_46_API
|
|
||||||
else {
|
else {
|
||||||
php_intl_idn_to_46(INTERNAL_FUNCTION_PARAM_PASSTHRU, domain, (uint32_t)option, mode, idna_info);
|
php_intl_idn_to_46(INTERNAL_FUNCTION_PARAM_PASSTHRU, domain, (uint32_t)option, mode, idna_info);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* {{{ proto string idn_to_ascii(string domain[, int options[, int variant[, array &idna_info]]])
|
/* {{{ proto string idn_to_ascii(string domain[, int options[, int variant[, array &idna_info]]])
|
||||||
|
|
|
@ -25,10 +25,6 @@
|
||||||
#include "../intl_error.h"
|
#include "../intl_error.h"
|
||||||
#include "../intl_data.h"
|
#include "../intl_data.h"
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM < 48
|
|
||||||
# define MSG_FORMAT_QUOTE_APOS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "msgformat_data.h"
|
#include "msgformat_data.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -44,10 +44,6 @@ extern "C" {
|
||||||
#include "../timezone/timezone_class.h"
|
#include "../timezone/timezone_class.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
#define HAS_MESSAGE_PATTERN 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
U_NAMESPACE_BEGIN
|
U_NAMESPACE_BEGIN
|
||||||
/**
|
/**
|
||||||
* This class isolates our access to private internal methods of
|
* This class isolates our access to private internal methods of
|
||||||
|
@ -58,9 +54,7 @@ class MessageFormatAdapter {
|
||||||
public:
|
public:
|
||||||
static const Formattable::Type* getArgTypeList(const MessageFormat& m,
|
static const Formattable::Type* getArgTypeList(const MessageFormat& m,
|
||||||
int32_t& count);
|
int32_t& count);
|
||||||
#ifdef HAS_MESSAGE_PATTERN
|
|
||||||
static const MessagePattern getMessagePattern(MessageFormat* m);
|
static const MessagePattern getMessagePattern(MessageFormat* m);
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const Formattable::Type*
|
const Formattable::Type*
|
||||||
|
@ -69,21 +63,17 @@ MessageFormatAdapter::getArgTypeList(const MessageFormat& m,
|
||||||
return m.getArgTypeList(count);
|
return m.getArgTypeList(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAS_MESSAGE_PATTERN
|
|
||||||
const MessagePattern
|
const MessagePattern
|
||||||
MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
|
MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
|
||||||
return m->msgPattern;
|
return m->msgPattern;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
U_NAMESPACE_END
|
U_NAMESPACE_END
|
||||||
|
|
||||||
using icu::Formattable;
|
using icu::Formattable;
|
||||||
using icu::Format;
|
using icu::Format;
|
||||||
using icu::DateFormat;
|
using icu::DateFormat;
|
||||||
using icu::MessageFormat;
|
using icu::MessageFormat;
|
||||||
#ifdef HAS_MESSAGE_PATTERN
|
|
||||||
using icu::MessagePattern;
|
using icu::MessagePattern;
|
||||||
#endif
|
|
||||||
using icu::MessageFormatAdapter;
|
using icu::MessageFormatAdapter;
|
||||||
using icu::FieldPosition;
|
using icu::FieldPosition;
|
||||||
|
|
||||||
|
@ -138,7 +128,6 @@ static HashTable *umsg_get_numeric_types(MessageFormatter_object *mfo,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAS_MESSAGE_PATTERN
|
|
||||||
static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||||
const MessagePattern& mp,
|
const MessagePattern& mp,
|
||||||
intl_error& err)
|
intl_error& err)
|
||||||
|
@ -265,10 +254,8 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||||
type = Formattable::kDouble;
|
type = Formattable::kDouble;
|
||||||
} else if (argType == UMSGPAT_ARG_TYPE_SELECT) {
|
} else if (argType == UMSGPAT_ARG_TYPE_SELECT) {
|
||||||
type = Formattable::kString;
|
type = Formattable::kString;
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 50
|
|
||||||
} else if (argType == UMSGPAT_ARG_TYPE_SELECTORDINAL) {
|
} else if (argType == UMSGPAT_ARG_TYPE_SELECTORDINAL) {
|
||||||
type = Formattable::kDouble;
|
type = Formattable::kDouble;
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
type = Formattable::kString;
|
type = Formattable::kString;
|
||||||
}
|
}
|
||||||
|
@ -295,26 +282,15 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static HashTable *umsg_get_types(MessageFormatter_object *mfo,
|
static HashTable *umsg_get_types(MessageFormatter_object *mfo,
|
||||||
intl_error& err)
|
intl_error& err)
|
||||||
{
|
{
|
||||||
MessageFormat *mf = (MessageFormat *)mfo->mf_data.umsgf;
|
MessageFormat *mf = (MessageFormat *)mfo->mf_data.umsgf;
|
||||||
|
|
||||||
#ifdef HAS_MESSAGE_PATTERN
|
|
||||||
const MessagePattern mp = MessageFormatAdapter::getMessagePattern(mf);
|
const MessagePattern mp = MessageFormatAdapter::getMessagePattern(mf);
|
||||||
|
|
||||||
return umsg_parse_format(mfo, mp, err);
|
return umsg_parse_format(mfo, mp, err);
|
||||||
#else
|
|
||||||
if (mf->usesNamedArguments()) {
|
|
||||||
intl_errors_set(&err, U_UNSUPPORTED_ERROR,
|
|
||||||
"This extension supports named arguments only on ICU 4.8+",
|
|
||||||
0);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
return umsg_get_numeric_types(mfo, err);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void umsg_set_timezone(MessageFormatter_object *mfo,
|
static void umsg_set_timezone(MessageFormatter_object *mfo,
|
||||||
|
|
|
@ -28,9 +28,7 @@
|
||||||
#include "normalizer_class.h"
|
#include "normalizer_class.h"
|
||||||
#include "normalizer_normalize.h"
|
#include "normalizer_normalize.h"
|
||||||
#include "intl_convert.h"
|
#include "intl_convert.h"
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
#include <unicode/utf8.h>
|
#include <unicode/utf8.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 56
|
#if U_ICU_VERSION_MAJOR_NUM >= 56
|
||||||
|
|
|
@ -87,12 +87,10 @@
|
||||||
#include "idn/idn.h"
|
#include "idn/idn.h"
|
||||||
#include "uchar/uchar.h"
|
#include "uchar/uchar.h"
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 1000 + U_ICU_VERSION_MINOR_NUM >= 4002
|
|
||||||
# include "spoofchecker/spoofchecker_class.h"
|
# include "spoofchecker/spoofchecker_class.h"
|
||||||
# include "spoofchecker/spoofchecker.h"
|
# include "spoofchecker/spoofchecker.h"
|
||||||
# include "spoofchecker/spoofchecker_create.h"
|
# include "spoofchecker/spoofchecker_create.h"
|
||||||
# include "spoofchecker/spoofchecker_main.h"
|
# include "spoofchecker/spoofchecker_main.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "msgformat/msgformat.h"
|
#include "msgformat/msgformat.h"
|
||||||
#include "common/common_error.h"
|
#include "common/common_error.h"
|
||||||
|
@ -763,18 +761,12 @@ static const zend_function_entry intl_functions[] = {
|
||||||
PHP_FE( intltz_create_default, arginfo_tz_void )
|
PHP_FE( intltz_create_default, arginfo_tz_void )
|
||||||
PHP_FE( intltz_get_id, arginfo_tz_only_tz )
|
PHP_FE( intltz_get_id, arginfo_tz_only_tz )
|
||||||
PHP_FE( intltz_get_gmt, arginfo_tz_void )
|
PHP_FE( intltz_get_gmt, arginfo_tz_void )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
PHP_FE( intltz_get_unknown, arginfo_tz_void )
|
PHP_FE( intltz_get_unknown, arginfo_tz_void )
|
||||||
#endif
|
|
||||||
PHP_FE( intltz_create_enumeration, arginfo_tz_create_enumeration )
|
PHP_FE( intltz_create_enumeration, arginfo_tz_create_enumeration )
|
||||||
PHP_FE( intltz_count_equivalent_ids, arginfo_tz_idarg_static )
|
PHP_FE( intltz_count_equivalent_ids, arginfo_tz_idarg_static )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
PHP_FE( intltz_create_time_zone_id_enumeration, arginfo_tz_create_time_zone_id_enumeration )
|
PHP_FE( intltz_create_time_zone_id_enumeration, arginfo_tz_create_time_zone_id_enumeration )
|
||||||
#endif
|
|
||||||
PHP_FE( intltz_get_canonical_id, arginfo_tz_get_canonical_id )
|
PHP_FE( intltz_get_canonical_id, arginfo_tz_get_canonical_id )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
|
||||||
PHP_FE( intltz_get_region, arginfo_tz_idarg_static )
|
PHP_FE( intltz_get_region, arginfo_tz_idarg_static )
|
||||||
#endif
|
|
||||||
PHP_FE( intltz_get_tz_data_version, arginfo_tz_void )
|
PHP_FE( intltz_get_tz_data_version, arginfo_tz_void )
|
||||||
PHP_FE( intltz_get_equivalent_id, arginfo_tz_get_equivalent_id )
|
PHP_FE( intltz_get_equivalent_id, arginfo_tz_get_equivalent_id )
|
||||||
PHP_FE( intltz_use_daylight_time, arginfo_tz_only_tz )
|
PHP_FE( intltz_use_daylight_time, arginfo_tz_only_tz )
|
||||||
|
@ -788,9 +780,7 @@ static const zend_function_entry intl_functions[] = {
|
||||||
PHP_FE( intltz_get_error_message, arginfo_tz_only_tz )
|
PHP_FE( intltz_get_error_message, arginfo_tz_only_tz )
|
||||||
|
|
||||||
PHP_FE( intlcal_create_instance, ainfo_cal_create_instance )
|
PHP_FE( intlcal_create_instance, ainfo_cal_create_instance )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 42
|
|
||||||
PHP_FE( intlcal_get_keyword_values_for_locale, ainfo_cal_get_keyword_values_for_locale )
|
PHP_FE( intlcal_get_keyword_values_for_locale, ainfo_cal_get_keyword_values_for_locale )
|
||||||
#endif
|
|
||||||
PHP_FE( intlcal_get_now, ainfo_cal_void )
|
PHP_FE( intlcal_get_now, ainfo_cal_void )
|
||||||
PHP_FE( intlcal_get_available_locales, ainfo_cal_void )
|
PHP_FE( intlcal_get_available_locales, ainfo_cal_void )
|
||||||
PHP_FE( intlcal_get, ainfo_cal_field )
|
PHP_FE( intlcal_get, ainfo_cal_field )
|
||||||
|
@ -806,9 +796,7 @@ static const zend_function_entry intl_functions[] = {
|
||||||
PHP_FE( intlcal_field_difference, ainfo_cal_field_difference )
|
PHP_FE( intlcal_field_difference, ainfo_cal_field_difference )
|
||||||
PHP_FE( intlcal_get_actual_maximum, ainfo_cal_field )
|
PHP_FE( intlcal_get_actual_maximum, ainfo_cal_field )
|
||||||
PHP_FE( intlcal_get_actual_minimum, ainfo_cal_field )
|
PHP_FE( intlcal_get_actual_minimum, ainfo_cal_field )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_FE( intlcal_get_day_of_week_type, ainfo_cal_dow )
|
PHP_FE( intlcal_get_day_of_week_type, ainfo_cal_dow )
|
||||||
#endif
|
|
||||||
PHP_FE( intlcal_get_first_day_of_week, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_first_day_of_week, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_get_greatest_minimum, ainfo_cal_field )
|
PHP_FE( intlcal_get_greatest_minimum, ainfo_cal_field )
|
||||||
PHP_FE( intlcal_get_least_maximum, ainfo_cal_field )
|
PHP_FE( intlcal_get_least_maximum, ainfo_cal_field )
|
||||||
|
@ -818,28 +806,22 @@ static const zend_function_entry intl_functions[] = {
|
||||||
PHP_FE( intlcal_get_minimum, ainfo_cal_field )
|
PHP_FE( intlcal_get_minimum, ainfo_cal_field )
|
||||||
PHP_FE( intlcal_get_time_zone, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_time_zone, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_get_type, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_type, ainfo_cal_only_cal )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_FE( intlcal_get_weekend_transition, ainfo_cal_dow )
|
PHP_FE( intlcal_get_weekend_transition, ainfo_cal_dow )
|
||||||
#endif
|
|
||||||
PHP_FE( intlcal_in_daylight_time, ainfo_cal_only_cal )
|
PHP_FE( intlcal_in_daylight_time, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_is_equivalent_to, ainfo_cal_other_cal )
|
PHP_FE( intlcal_is_equivalent_to, ainfo_cal_other_cal )
|
||||||
PHP_FE( intlcal_is_lenient, ainfo_cal_only_cal )
|
PHP_FE( intlcal_is_lenient, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_is_set, ainfo_cal_field )
|
PHP_FE( intlcal_is_set, ainfo_cal_field )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
|
||||||
PHP_FE( intlcal_is_weekend, ainfo_cal_date_optional )
|
PHP_FE( intlcal_is_weekend, ainfo_cal_date_optional )
|
||||||
#endif
|
|
||||||
PHP_FE( intlcal_set_first_day_of_week, ainfo_cal_dow )
|
PHP_FE( intlcal_set_first_day_of_week, ainfo_cal_dow )
|
||||||
PHP_FE( intlcal_set_lenient, ainfo_cal_set_lenient )
|
PHP_FE( intlcal_set_lenient, ainfo_cal_set_lenient )
|
||||||
PHP_FE( intlcal_set_minimal_days_in_first_week, ainfo_cal_set_minimal_days_in_first_week )
|
PHP_FE( intlcal_set_minimal_days_in_first_week, ainfo_cal_set_minimal_days_in_first_week )
|
||||||
PHP_FE( intlcal_equals, ainfo_cal_other_cal )
|
PHP_FE( intlcal_equals, ainfo_cal_other_cal )
|
||||||
PHP_FE( intlcal_from_date_time, ainfo_cal_from_date_time )
|
PHP_FE( intlcal_from_date_time, ainfo_cal_from_date_time )
|
||||||
PHP_FE( intlcal_to_date_time, ainfo_cal_only_cal )
|
PHP_FE( intlcal_to_date_time, ainfo_cal_only_cal )
|
||||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
|
||||||
PHP_FE( intlcal_get_repeated_wall_time_option, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_repeated_wall_time_option, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_get_skipped_wall_time_option, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_skipped_wall_time_option, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_set_repeated_wall_time_option, ainfo_cal_wall_time_option )
|
PHP_FE( intlcal_set_repeated_wall_time_option, ainfo_cal_wall_time_option )
|
||||||
PHP_FE( intlcal_set_skipped_wall_time_option, ainfo_cal_wall_time_option )
|
PHP_FE( intlcal_set_skipped_wall_time_option, ainfo_cal_wall_time_option )
|
||||||
#endif
|
|
||||||
PHP_FE( intlcal_get_error_code, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_error_code, ainfo_cal_only_cal )
|
||||||
PHP_FE( intlcal_get_error_message, ainfo_cal_only_cal )
|
PHP_FE( intlcal_get_error_message, ainfo_cal_only_cal )
|
||||||
|
|
||||||
|
@ -972,13 +954,11 @@ PHP_MINIT_FUNCTION( intl )
|
||||||
/* Expose IDN constants to PHP scripts. */
|
/* Expose IDN constants to PHP scripts. */
|
||||||
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
|
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
|
||||||
|
|
||||||
#if U_ICU_VERSION_MAJOR_NUM * 1000 + U_ICU_VERSION_MINOR_NUM >= 4002
|
|
||||||
/* Register 'Spoofchecker' PHP class */
|
/* Register 'Spoofchecker' PHP class */
|
||||||
spoofchecker_register_Spoofchecker_class( );
|
spoofchecker_register_Spoofchecker_class( );
|
||||||
|
|
||||||
/* Expose Spoofchecker constants to PHP scripts */
|
/* Expose Spoofchecker constants to PHP scripts */
|
||||||
spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
|
spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Register 'IntlException' PHP class */
|
/* Register 'IntlException' PHP class */
|
||||||
intl_register_IntlException_class( );
|
intl_register_IntlException_class( );
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
IntlRuleBasedBreakIterator::__construct(): arg errors
|
IntlRuleBasedBreakIterator::__construct(): arg errors
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
Bug #62070: Collator::getSortKey() returns garbage
|
Bug #62070: Collator::getSortKey() returns garbage
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '49') < 0) die('skip for ICU >= 49'); ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '53.1') >= 0) die('skip for ICU < 53.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '53.1') >= 0) die('skip for ICU < 53.1'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::createInstance() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::createInstance() argument variations
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -81,4 +79,4 @@ IntlTimeZone Object
|
||||||
[currentOffset] => %d
|
[currentOffset] => %d
|
||||||
)
|
)
|
||||||
pt
|
pt
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -6,8 +6,8 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0 || version_compare(INTL_ICU_VERSION, '52.1') >= 0)
|
if (version_compare(INTL_ICU_VERSION, '52.1') >= 0)
|
||||||
die('skip for ICU >= 4.4 and ICU < 52.1');
|
die('skip for ICU < 52.1');
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
|
||||||
die('skip for ICU 4.4+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getKeywordValuesForLocale() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.2') < 0)
|
|
||||||
die('skip for ICU 4.2+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -33,4 +31,4 @@ Array
|
||||||
|
|
||||||
bool(true)
|
bool(true)
|
||||||
bool(true)
|
bool(true)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getKeywordValuesForLocale(): bad arguments
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.2') < 0)
|
|
||||||
die('skip for ICU 4.2+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getLocale() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -19,4 +17,4 @@ var_dump(intlcal_get_locale($intlcal, Locale::VALID_LOCALE));
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
string(2) "nl"
|
string(2) "nl"
|
||||||
string(5) "nl_NL"
|
string(5) "nl_NL"
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getMinimalDaysInFirstWeek() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -19,4 +17,4 @@ var_dump(intlcal_get_minimal_days_in_first_week($intlcal));
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
int(4)
|
int(4)
|
||||||
int(4)
|
int(4)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
|
||||||
die('skip for ICU 49+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getTimeZone() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -31,4 +29,4 @@ IntlTimeZone Object
|
||||||
[rawOffset] => 60000
|
[rawOffset] => 60000
|
||||||
[currentOffset] => 60000
|
[currentOffset] => 60000
|
||||||
)
|
)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
|
||||||
die('skip for ICU 4.4+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -21,4 +19,4 @@ var_dump(intlcal_get_weekend_transition($intlcal, IntlCalendar::DOW_SUNDAY));
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
int(86400000)
|
int(86400000)
|
||||||
int(86400000)
|
int(86400000)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
|
||||||
die('skip for ICU 4.4+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::get/setRepeatedWallTimeOption(): basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
|
||||||
die('skip for ICU 49+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::get/setSkippedWallTimeOption(): basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
|
||||||
die('skip for ICU 49+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
|
||||||
die('skip for ICU 4.4+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -23,4 +21,4 @@ var_dump($intlcal->isWeekend(strtotime('2012-03-11 12:00:00 +0000') * 1000));
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(false)
|
bool(false)
|
||||||
bool(true)
|
bool(true)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
|
||||||
die('skip for ICU 4.4+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
|
||||||
die('skip for ICU 49+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::setTimeZone() basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -36,4 +34,4 @@ GMT
|
||||||
int(0)
|
int(0)
|
||||||
GMT+05:30
|
GMT+05:30
|
||||||
int(19800000)
|
int(19800000)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
--TEST--
|
|
||||||
create() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try creating collator with different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'EN-US-ODESSA',
|
|
||||||
'UK_UA_ODESSA',
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'12345678911131517192123252729313335373941434547495153575961636567697173757779818385878991939597991234567891113151719212325272931333537394143454749515357596163656769717375777981838587899193959799'
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
// Create Collator with the current locale.
|
|
||||||
$coll = ut_coll_create( $locale );
|
|
||||||
if( !is_object($coll) )
|
|
||||||
{
|
|
||||||
$res_str .= "Error creating collator with '$locale' locale: " .
|
|
||||||
intl_get_error_message() . "\n";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get the requested, valid and actual locales.
|
|
||||||
$vloc = ut_coll_get_locale( $coll, Locale::VALID_LOCALE );
|
|
||||||
$aloc = ut_coll_get_locale( $coll, Locale::ACTUAL_LOCALE );
|
|
||||||
|
|
||||||
// Show them.
|
|
||||||
$res_str .= "Locale: '$locale'\n" .
|
|
||||||
" ULOC_REQUESTED_LOCALE = '$locale'\n" .
|
|
||||||
" ULOC_VALID_LOCALE = '$vloc'\n" .
|
|
||||||
" ULOC_ACTUAL_LOCALE = '$aloc'\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
Locale: 'EN-US-ODESSA'
|
|
||||||
ULOC_REQUESTED_LOCALE = 'EN-US-ODESSA'
|
|
||||||
ULOC_VALID_LOCALE = 'en_US'
|
|
||||||
ULOC_ACTUAL_LOCALE = 'en'
|
|
||||||
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
|
|
|
@ -2,7 +2,6 @@
|
||||||
create() icu >= 4.8 && icu < 53.1
|
create() icu >= 4.8 && icu < 53.1
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '53.1') >= 0) die('skip for ICU < 53.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '53.1') >= 0) die('skip for ICU < 53.1'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
--TEST--
|
|
||||||
get_locale() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--INI--
|
|
||||||
precision=6
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try to specify valid and invalid locale types when getting locale.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locales = array(
|
|
||||||
Locale::VALID_LOCALE,
|
|
||||||
Locale::ACTUAL_LOCALE,
|
|
||||||
100,
|
|
||||||
-100,
|
|
||||||
-9999999999999,
|
|
||||||
9999999999999,
|
|
||||||
1.2,
|
|
||||||
);
|
|
||||||
|
|
||||||
$coll = ut_coll_create( 'en_US' );
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$rc = ut_coll_get_locale( $coll, $locale );
|
|
||||||
|
|
||||||
$res_str .= sprintf(
|
|
||||||
"Locale of type %s is %s\n",
|
|
||||||
dump( $locale ),
|
|
||||||
dump( $rc ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
Locale of type 1 is 'en_US'
|
|
||||||
Locale of type 0 is 'en'
|
|
||||||
Locale of type 100 is false
|
|
||||||
Locale of type -100 is false
|
|
||||||
Locale of type -9999999999999 is false
|
|
||||||
Locale of type 9999999999999 is false
|
|
||||||
Locale of type 1.2 is 'en_US'
|
|
|
@ -2,7 +2,6 @@
|
||||||
get_locale() icu >= 4.8
|
get_locale() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU 4.8+ only'; ?>
|
|
||||||
<?php if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
<?php if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
collator_get_sort_key()
|
collator_get_sort_key()
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
|
||||||
<?php /* XXX Obviously it fails somewhere between >= 4.8 and < 51.2 */
|
<?php /* XXX Obviously it fails somewhere between >= 4.8 and < 51.2 */
|
||||||
if (version_compare(INTL_ICU_VERSION, '51.2') >= 0) die('skip for ICU < 51.2'); ?>
|
if (version_compare(INTL_ICU_VERSION, '51.2') >= 0) die('skip for ICU < 51.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
--TEST--
|
|
||||||
Cloning datefmt icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
$GLOBALS['oo-mode'] = true;
|
|
||||||
$res_str = '';
|
|
||||||
/*
|
|
||||||
* Clone
|
|
||||||
*/
|
|
||||||
$start_pattern = 'dd-MM-YY';
|
|
||||||
$fmt = ut_datefmt_create( "en-US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/New_York', IntlDateFormatter::GREGORIAN , $start_pattern );
|
|
||||||
|
|
||||||
$formatted = ut_datefmt_format($fmt,0);
|
|
||||||
$res_str .= "\nResult of formatting timestamp=0 is : \n$formatted";
|
|
||||||
|
|
||||||
$fmt_clone = clone $fmt;
|
|
||||||
ut_datefmt_set_pattern( $fmt , 'yyyy-DDD.hh:mm:ss z' );
|
|
||||||
|
|
||||||
$formatted = ut_datefmt_format($fmt,0);
|
|
||||||
$res_str .= "\nResult of formatting timestamp=0 is : \n$formatted";
|
|
||||||
$formatted = ut_datefmt_format($fmt_clone,0);
|
|
||||||
$res_str .= "\nResult of clone formatting timestamp=0 is : \n$formatted";
|
|
||||||
|
|
||||||
echo $res_str;
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
Result of formatting timestamp=0 is :
|
|
||||||
31-12-69
|
|
||||||
Result of formatting timestamp=0 is :
|
|
||||||
1969-365.07:00:00 EST
|
|
||||||
Result of clone formatting timestamp=0 is :
|
|
||||||
31-12-69
|
|
|
@ -2,7 +2,6 @@
|
||||||
Cloning datefmt icu >= 4.8
|
Cloning datefmt icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU 4.8+ only'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
include_once( 'ut_common.inc' );
|
include_once( 'ut_common.inc' );
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_get_pattern_code and datefmt_set_pattern_code() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_get_pattern & datefmt_set_pattern function
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$pattern_arr = array (
|
|
||||||
'DD-MM-YYYY hh:mm:ss',
|
|
||||||
'yyyy-DDD.hh:mm:ss z',
|
|
||||||
"yyyy/MM/dd",
|
|
||||||
"yyyyMMdd"
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$start_pattern = 'dd-MM-YY';
|
|
||||||
$res_str .= "\nCreating IntlDateFormatter with pattern = $start_pattern ";
|
|
||||||
//$fmt = ut_datefmt_create( "en-US", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT , 'America/New_York', IntlDateFormatter::GREGORIAN , $start_pattern );
|
|
||||||
$fmt = ut_datefmt_create( "en-US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/New_York', IntlDateFormatter::GREGORIAN , $start_pattern );
|
|
||||||
$pattern = ut_datefmt_get_pattern( $fmt);
|
|
||||||
$res_str .= "\nAfter call to get_pattern : pattern= $pattern";
|
|
||||||
$formatted = ut_datefmt_format($fmt,0);
|
|
||||||
$res_str .= "\nResult of formatting timestamp=0 is : \n$formatted";
|
|
||||||
|
|
||||||
|
|
||||||
foreach( $pattern_arr as $pattern_entry )
|
|
||||||
{
|
|
||||||
$res_str .= "\n-------------------";
|
|
||||||
$res_str .= "\nSetting IntlDateFormatter with pattern = $pattern_entry ";
|
|
||||||
ut_datefmt_set_pattern( $fmt , $pattern_entry );
|
|
||||||
$pattern = ut_datefmt_get_pattern( $fmt);
|
|
||||||
$res_str .= "\nAfter call to get_pattern : pattern= $pattern";
|
|
||||||
$formatted = ut_datefmt_format($fmt,0);
|
|
||||||
$res_str .= "\nResult of formatting timestamp=0 with the new pattern is : \n$formatted";
|
|
||||||
$res_str .= "\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
Creating IntlDateFormatter with pattern = dd-MM-YY
|
|
||||||
After call to get_pattern : pattern= dd-MM-YY
|
|
||||||
Result of formatting timestamp=0 is :
|
|
||||||
31-12-69
|
|
||||||
-------------------
|
|
||||||
Setting IntlDateFormatter with pattern = DD-MM-YYYY hh:mm:ss
|
|
||||||
After call to get_pattern : pattern= DD-MM-YYYY hh:mm:ss
|
|
||||||
Result of formatting timestamp=0 with the new pattern is :
|
|
||||||
365-12-1969 07:00:00
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
Setting IntlDateFormatter with pattern = yyyy-DDD.hh:mm:ss z
|
|
||||||
After call to get_pattern : pattern= yyyy-DDD.hh:mm:ss z
|
|
||||||
Result of formatting timestamp=0 with the new pattern is :
|
|
||||||
1969-365.07:00:00 EST
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
Setting IntlDateFormatter with pattern = yyyy/MM/dd
|
|
||||||
After call to get_pattern : pattern= yyyy/MM/dd
|
|
||||||
Result of formatting timestamp=0 with the new pattern is :
|
|
||||||
1969/12/31
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
Setting IntlDateFormatter with pattern = yyyyMMdd
|
|
||||||
After call to get_pattern : pattern= yyyyMMdd
|
|
||||||
Result of formatting timestamp=0 with the new pattern is :
|
|
||||||
19691231
|
|
|
@ -2,7 +2,6 @@
|
||||||
datefmt_get_pattern_code and datefmt_set_pattern_code() icu >= 4.8
|
datefmt_get_pattern_code and datefmt_set_pattern_code() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU 4.8+ only'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,136 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_localtime_code() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--INI--
|
|
||||||
date.timezone=UTC
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_localtime function
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locale_arr = array (
|
|
||||||
'en_US_CA'
|
|
||||||
);
|
|
||||||
|
|
||||||
$datetype_arr = array (
|
|
||||||
IntlDateFormatter::FULL,
|
|
||||||
IntlDateFormatter::LONG,
|
|
||||||
IntlDateFormatter::MEDIUM,
|
|
||||||
IntlDateFormatter::SHORT,
|
|
||||||
IntlDateFormatter::NONE
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$datetype_arr = array (
|
|
||||||
IntlDateFormatter::FULL,
|
|
||||||
IntlDateFormatter::LONG,
|
|
||||||
IntlDateFormatter::MEDIUM,
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
|
|
||||||
$text_arr = array (
|
|
||||||
"Thursday, December 18, 1969 8:49:59 AM PST",
|
|
||||||
"June 18, 1969 8:49:59 AM ",
|
|
||||||
"12/18/69 8:49 AM",
|
|
||||||
"19691218 08:49 AM"
|
|
||||||
);
|
|
||||||
|
|
||||||
$fmt1 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::LONG, IntlDateFormatter::LONG);
|
|
||||||
$fmt2 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::MEDIUM, IntlDateFormatter::MEDIUM);
|
|
||||||
$fmt3 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::FULL, IntlDateFormatter::FULL);
|
|
||||||
$fmt_array = array(
|
|
||||||
$fmt1 , $fmt2 ,$fmt3
|
|
||||||
);
|
|
||||||
$fmt_desc_array = array(
|
|
||||||
"DateType::LONG, TimeType::LONG",
|
|
||||||
"DateType::MEDIUM, TimeType::MEDIUM",
|
|
||||||
"DateType::FULL, TimeType::FULL"
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach( $text_arr as $text_entry){
|
|
||||||
$res_str .= "\n-------------------------------\n";
|
|
||||||
$res_str .= "\nInput text is : $text_entry";
|
|
||||||
$cnt =0;
|
|
||||||
|
|
||||||
|
|
||||||
foreach( $fmt_array as $fmt_entry ){
|
|
||||||
$res_str .= "\n------------";
|
|
||||||
$res_str .= "\nIntlDateFormatter : ".$fmt_desc_array[$cnt];
|
|
||||||
$parse_pos = 0;
|
|
||||||
$cnt++;
|
|
||||||
$parsed_arr = ut_datefmt_localtime( $fmt_entry , $text_entry , $parse_pos );
|
|
||||||
|
|
||||||
if( $parsed_arr){
|
|
||||||
$res_str .= "\n";
|
|
||||||
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()."'";
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}//end of for $fmt_array
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : Thursday, December 18, 1969 8:49:59 AM PST
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL
|
|
||||||
tm_sec : '59' , tm_min : '49' , tm_hour : '8' , tm_year : '69' , tm_mday : '18' , tm_wday : '4' , tm_yday : '352' , tm_mon : '11' , tm_isdst : '0' ,
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : June 18, 1969 8:49:59 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM
|
|
||||||
tm_sec : '59' , tm_min : '49' , tm_hour : '8' , tm_year : '69' , tm_mday : '18' , tm_wday : '3' , tm_yday : '169' , tm_mon : '5' , tm_isdst : '%d' ,
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : 12/18/69 8:49 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : 19691218 08:49 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL
|
|
|
@ -1,113 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_parse_code() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--INI--
|
|
||||||
date.timezone="America/Los_Angeles"
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_parse function
|
|
||||||
*/
|
|
||||||
|
|
||||||
putenv('TZ=America/Los_Angeles');
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locale_arr = array (
|
|
||||||
'en_US_CA'
|
|
||||||
);
|
|
||||||
|
|
||||||
$datetype_arr = array (
|
|
||||||
IntlDateFormatter::FULL,
|
|
||||||
IntlDateFormatter::LONG,
|
|
||||||
IntlDateFormatter::MEDIUM,
|
|
||||||
IntlDateFormatter::SHORT,
|
|
||||||
IntlDateFormatter::NONE
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
|
|
||||||
$text_arr = array (
|
|
||||||
// Full parsing
|
|
||||||
array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
|
|
||||||
array("Wednesday, December 17, 1969 6:40:00 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
|
|
||||||
array("Thursday, December 18, 1969 8:49:59 PM PST", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
|
|
||||||
array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::FULL),
|
|
||||||
array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
|
|
||||||
array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
|
|
||||||
// Partial parsing
|
|
||||||
array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::NONE),
|
|
||||||
array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::SHORT),
|
|
||||||
array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::NONE),
|
|
||||||
array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::SHORT),
|
|
||||||
array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
|
|
||||||
array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach( $text_arr as $text_entry){
|
|
||||||
$fmt = ut_datefmt_create( 'en_US_CA', $text_entry[1], $text_entry[2]);
|
|
||||||
$parse_pos = 0;
|
|
||||||
$parsed = ut_datefmt_parse( $fmt , $text_entry[0] , $parse_pos );
|
|
||||||
|
|
||||||
$res_str .= "\nInput text : {$text_entry[0]} ; DF = {$text_entry[1]}; TF = {$text_entry[2]}";
|
|
||||||
if( intl_get_error_code() != U_ZERO_ERROR) {
|
|
||||||
$res_str .= "\nError : ".intl_get_error_message();
|
|
||||||
}
|
|
||||||
$res_str .= "\nParsed: $parsed; parse_pos : $parse_pos\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
|
|
||||||
Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 0
|
|
||||||
Parsed: 2200000000; parse_pos : 40
|
|
||||||
|
|
||||||
Input text : Wednesday, December 17, 1969 6:40:00 PM PT ; DF = 0; TF = 0
|
|
||||||
Parsed: -1200000; parse_pos : 42
|
|
||||||
|
|
||||||
Input text : Thursday, December 18, 1969 8:49:59 PM PST ; DF = 0; TF = 0
|
|
||||||
Parsed: -1105801; parse_pos : 42
|
|
||||||
|
|
||||||
Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 0
|
|
||||||
Parsed: -1149001; parse_pos : 32
|
|
||||||
|
|
||||||
Input text : 12/18/69 8:49 AM ; DF = 3; TF = 3
|
|
||||||
Parsed: -1149060; parse_pos : 16
|
|
||||||
|
|
||||||
Input text : 19691218 08:49 AM ; DF = 3; TF = 3
|
|
||||||
Error : Date parsing failed: U_PARSE_ERROR
|
|
||||||
Parsed: ; parse_pos : 8
|
|
||||||
|
|
||||||
Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = -1
|
|
||||||
Parsed: 2199942000; parse_pos : 26
|
|
||||||
|
|
||||||
Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 3
|
|
||||||
Error : Date parsing failed: U_PARSE_ERROR
|
|
||||||
Parsed: ; parse_pos : 31
|
|
||||||
|
|
||||||
Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = -1
|
|
||||||
Parsed: -1180800; parse_pos : 17
|
|
||||||
|
|
||||||
Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 3
|
|
||||||
Error : Date parsing failed: U_PARSE_ERROR
|
|
||||||
Parsed: ; parse_pos : 22
|
|
||||||
|
|
||||||
Input text : 12/18/69 8:49 AM ; DF = 3; TF = 1
|
|
||||||
Error : Date parsing failed: U_PARSE_ERROR
|
|
||||||
Parsed: ; parse_pos : 13
|
|
||||||
|
|
||||||
Input text : 19691218 08:49 AM ; DF = 3; TF = 1
|
|
||||||
Error : Date parsing failed: U_PARSE_ERROR
|
|
||||||
Parsed: ; parse_pos : 8
|
|
|
@ -1,120 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_parse_localtime() with parse pos icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_parse_localtime function with parse pos
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locale_arr = array (
|
|
||||||
'en_US_CA'
|
|
||||||
);
|
|
||||||
|
|
||||||
$datetype_arr = array (
|
|
||||||
IntlDateFormatter::FULL,
|
|
||||||
IntlDateFormatter::LONG,
|
|
||||||
IntlDateFormatter::MEDIUM,
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
|
|
||||||
$text_arr = array (
|
|
||||||
"Thursday, December 18, 1969 8:49:59 AM PST",
|
|
||||||
"June 18, 1969 8:49:59 AM ",
|
|
||||||
"12/18/69 8:49 AM",
|
|
||||||
"19691218 08:49 AM"
|
|
||||||
);
|
|
||||||
|
|
||||||
$fmt1 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::LONG, IntlDateFormatter::LONG);
|
|
||||||
$fmt2 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::MEDIUM, IntlDateFormatter::MEDIUM);
|
|
||||||
$fmt3 = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::FULL, IntlDateFormatter::FULL);
|
|
||||||
$fmt_array = array(
|
|
||||||
$fmt1 , $fmt2 ,$fmt3
|
|
||||||
);
|
|
||||||
$fmt_desc_array = array(
|
|
||||||
"DateType::LONG, TimeType::LONG",
|
|
||||||
"DateType::MEDIUM, TimeType::MEDIUM",
|
|
||||||
"DateType::FULL, TimeType::FULL"
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach( $text_arr as $text_entry){
|
|
||||||
$res_str .= "\n-------------------------------\n";
|
|
||||||
$res_str .= "\nInput text is : $text_entry";
|
|
||||||
$cnt =0;
|
|
||||||
foreach( $fmt_array as $fmt_entry ){
|
|
||||||
$res_str .= "\n------------";
|
|
||||||
$res_str .= "\nIntlDateFormatter : ".$fmt_desc_array[$cnt];
|
|
||||||
$cnt++;
|
|
||||||
$parsed_arr = ut_datefmt_localtime( $fmt_entry , $text_entry);
|
|
||||||
|
|
||||||
if( $parsed_arr){
|
|
||||||
$res_str .= "\n";
|
|
||||||
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();
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : Thursday, December 18, 1969 8:49:59 AM PST
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL
|
|
||||||
tm_sec : '59' , tm_min : '49' , tm_hour : '8' , tm_year : '69' , tm_mday : '18' , tm_wday : '4' , tm_yday : '352' , tm_mon : '11' , tm_isdst : '0' ,
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : June 18, 1969 8:49:59 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM
|
|
||||||
tm_sec : '59' , tm_min : '49' , tm_hour : '8' , tm_year : '69' , tm_mday : '18' , tm_wday : '3' , tm_yday : '169' , tm_mon : '5' , tm_isdst : '%d' ,
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : 12/18/69 8:49 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
Input text is : 19691218 08:49 AM
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::LONG, TimeType::LONG Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::MEDIUM, TimeType::MEDIUM Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
||||||
------------
|
|
||||||
IntlDateFormatter : DateType::FULL, TimeType::FULL Error : 'Date parsing failed: U_PARSE_ERROR'
|
|
|
@ -1,157 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_parse_timestamp_code() with parse pos icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--INI--
|
|
||||||
date.timezone="America/Los_Angeles"
|
|
||||||
--ENV--
|
|
||||||
TZ=America/Los_Angeles
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_parse_timestamp function with parse_pos
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locale_arr = array (
|
|
||||||
'en_US_CA'
|
|
||||||
);
|
|
||||||
|
|
||||||
$datetype_arr = array (
|
|
||||||
IntlDateFormatter::FULL,
|
|
||||||
IntlDateFormatter::LONG,
|
|
||||||
IntlDateFormatter::MEDIUM,
|
|
||||||
IntlDateFormatter::SHORT,
|
|
||||||
IntlDateFormatter::NONE
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
|
|
||||||
$text_arr = array (
|
|
||||||
"Sunday, September 18, 3039 4:06:40 PM PT",
|
|
||||||
"Thursday, December 18, 1969 8:49:59 AM PST",
|
|
||||||
//"December 18, 1969 8:49:59 AM PST",
|
|
||||||
"12/18/69 8:49 AM",
|
|
||||||
"20111218 08:49 AM",
|
|
||||||
"19691218 08:49 AM"
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach( $text_arr as $text_entry){
|
|
||||||
$res_str .= "\n------------\n";
|
|
||||||
$res_str .= "\nInput text is : $text_entry";
|
|
||||||
$res_str .= "\n------------";
|
|
||||||
|
|
||||||
foreach( $locale_arr as $locale_entry ){
|
|
||||||
$res_str .= "\nLocale is : $locale_entry";
|
|
||||||
$res_str .= "\n------------";
|
|
||||||
foreach( $datetype_arr as $datetype_entry )
|
|
||||||
{
|
|
||||||
$res_str .= "\ndatetype = $datetype_entry ,timetype =$datetype_entry";
|
|
||||||
$fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry);
|
|
||||||
$pos = 0;
|
|
||||||
$parsed = ut_datefmt_parse( $fmt , $text_entry, $pos);
|
|
||||||
if( intl_get_error_code() == U_ZERO_ERROR){
|
|
||||||
$res_str .= "\nParsed text is : $parsed; Position = $pos";
|
|
||||||
}else{
|
|
||||||
$res_str .= "\nError while parsing as: '".intl_get_error_message()."'; Position = $pos";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$res_str .= "\n";
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
------------
|
|
||||||
|
|
||||||
Input text is : Sunday, September 18, 3039 4:06:40 PM PT
|
|
||||||
------------
|
|
||||||
Locale is : en_US_CA
|
|
||||||
------------
|
|
||||||
datetype = 0 ,timetype =0
|
|
||||||
Parsed text is : 33756908800; Position = 40
|
|
||||||
datetype = 1 ,timetype =1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 2 ,timetype =2
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 3 ,timetype =3
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = -1 ,timetype =-1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
------------
|
|
||||||
|
|
||||||
Input text is : Thursday, December 18, 1969 8:49:59 AM PST
|
|
||||||
------------
|
|
||||||
Locale is : en_US_CA
|
|
||||||
------------
|
|
||||||
datetype = 0 ,timetype =0
|
|
||||||
Parsed text is : -1149001; Position = 42
|
|
||||||
datetype = 1 ,timetype =1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 2 ,timetype =2
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 3 ,timetype =3
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = -1 ,timetype =-1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
------------
|
|
||||||
|
|
||||||
Input text is : 12/18/69 8:49 AM
|
|
||||||
------------
|
|
||||||
Locale is : en_US_CA
|
|
||||||
------------
|
|
||||||
datetype = 0 ,timetype =0
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 1 ,timetype =1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 2 ,timetype =2
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 3 ,timetype =3
|
|
||||||
Parsed text is : -1149060; Position = 16
|
|
||||||
datetype = -1 ,timetype =-1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
------------
|
|
||||||
|
|
||||||
Input text is : 20111218 08:49 AM
|
|
||||||
------------
|
|
||||||
Locale is : en_US_CA
|
|
||||||
------------
|
|
||||||
datetype = 0 ,timetype =0
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 1 ,timetype =1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 2 ,timetype =2
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 3 ,timetype =3
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 8
|
|
||||||
datetype = -1 ,timetype =-1
|
|
||||||
Parsed text is : 1324226940; Position = 17
|
|
||||||
------------
|
|
||||||
|
|
||||||
Input text is : 19691218 08:49 AM
|
|
||||||
------------
|
|
||||||
Locale is : en_US_CA
|
|
||||||
------------
|
|
||||||
datetype = 0 ,timetype =0
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 1 ,timetype =1
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 2 ,timetype =2
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0
|
|
||||||
datetype = 3 ,timetype =3
|
|
||||||
Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 8
|
|
||||||
datetype = -1 ,timetype =-1
|
|
||||||
Parsed text is : -1149060; Position = 17
|
|
|
@ -1,76 +0,0 @@
|
||||||
--TEST--
|
|
||||||
datefmt_set_timezone_id_code() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for the datefmt_set_timezone_id function
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$timezone_id_arr = array (
|
|
||||||
'America/New_York',
|
|
||||||
'America/Los_Angeles',
|
|
||||||
'America/Chicago',
|
|
||||||
'CN'
|
|
||||||
);
|
|
||||||
$timestamp_entry = 0;
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$fmt = ut_datefmt_create( "en_US", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'America/San_Francisco' , IntlDateFormatter::GREGORIAN );
|
|
||||||
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
|
|
||||||
$res_str .= "\nAfter creation of the dateformatter : timezone_id= $timezone_id\n";
|
|
||||||
|
|
||||||
foreach( $timezone_id_arr as $timezone_id_entry )
|
|
||||||
{
|
|
||||||
|
|
||||||
$res_str .= "-----------";
|
|
||||||
$res_str .= "\nTrying to set timezone_id= $timezone_id_entry";
|
|
||||||
ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry );
|
|
||||||
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
|
|
||||||
$res_str .= "\nAfter call to set_timezone_id : timezone_id= $timezone_id";
|
|
||||||
$formatted = ut_datefmt_format( $fmt, 0);
|
|
||||||
$res_str .= "\nFormatting timestamp=0 resulted in $formatted";
|
|
||||||
$formatted = ut_datefmt_format( $fmt, 3600);
|
|
||||||
$res_str .= "\nFormatting timestamp=3600 resulted in $formatted";
|
|
||||||
$res_str .= "\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
After creation of the dateformatter : timezone_id= America/San_Francisco
|
|
||||||
-----------
|
|
||||||
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= CN
|
|
||||||
Formatting timestamp=0 resulted in Thursday, January 1, 1970 12:00:00 AM GMT+00:00
|
|
||||||
Formatting timestamp=3600 resulted in Thursday, January 1, 1970 1:00:00 AM GMT+00:00
|
|
|
@ -4,7 +4,6 @@ datefmt_set_timezone_id_code() icu >= 4.8
|
||||||
date.timezone=Atlantic/Azores
|
date.timezone=Atlantic/Azores
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,130 +0,0 @@
|
||||||
--TEST--
|
|
||||||
numfmt_format() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Format a number using misc locales/patterns.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO: doesn't pass on ICU 3.6 because 'ru' and 'de' locales changed
|
|
||||||
* currency and percent formatting.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$styles = array(
|
|
||||||
NumberFormatter::PATTERN_DECIMAL => '##.#####################',
|
|
||||||
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 zweihundertvierunddreißigtausendfünfhundertsiebenundsechzig 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 567ᵉ?'
|
|
||||||
'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!
|
|
|
@ -2,7 +2,6 @@
|
||||||
numfmt_format() icu >= 4.8
|
numfmt_format() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '52.1') >= 0) die('skip for ICU <= 52.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '52.1') >= 0) die('skip for ICU <= 52.1'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
--TEST--
|
|
||||||
numfmt_format_currency() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Format a number using misc currencies/locales.
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* TODO: doesn't pass on ICU 3.6 because 'ru' and 'uk' locales changed
|
|
||||||
* currency formatting.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$locales = array(
|
|
||||||
'en_UK' => 'GBP',
|
|
||||||
'en_US' => 'USD',
|
|
||||||
'ru' => 'RUR',
|
|
||||||
'uk' => 'UAH',
|
|
||||||
'en' => 'UAH'
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
$number = 1234567.89;
|
|
||||||
|
|
||||||
foreach( $locales as $locale => $currency )
|
|
||||||
{
|
|
||||||
$fmt = ut_nfmt_create( $locale, NumberFormatter::CURRENCY );
|
|
||||||
$res_str .= "$locale: " . var_export( ut_nfmt_format_currency( $fmt, $number, $currency ), true ) . "\n";
|
|
||||||
}
|
|
||||||
return $res_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
en_UK: '£1,234,567.89'
|
|
||||||
en_US: '$1,234,567.89'
|
|
||||||
ru: '1 234 567,89 р.'
|
|
||||||
uk: '1 234 567,89 ₴'
|
|
||||||
en: '₴1,234,567.89'
|
|
|
@ -2,7 +2,6 @@
|
||||||
numfmt_format_currency() icu >= 4.8
|
numfmt_format_currency() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -1,194 +0,0 @@
|
||||||
--TEST--
|
|
||||||
numfmt_get/set_attribute()
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.2', '<') != 1) print 'skip for ICU 4.4+'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get/set various number formatting attributes.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
// attr_name => array( attr, value )
|
|
||||||
$attributes = array(
|
|
||||||
'PARSE_INT_ONLY' => array( NumberFormatter::PARSE_INT_ONLY, 1, 12345.123456 ),
|
|
||||||
'GROUPING_USED' => array( NumberFormatter::GROUPING_USED, 0, 12345.123456 ),
|
|
||||||
'DECIMAL_ALWAYS_SHOWN' => array( NumberFormatter::DECIMAL_ALWAYS_SHOWN, 1, 12345 ),
|
|
||||||
'MAX_INTEGER_DIGITS' => array( NumberFormatter::MAX_INTEGER_DIGITS, 2, 12345.123456 ),
|
|
||||||
'MIN_INTEGER_DIGITS' => array( NumberFormatter::MIN_INTEGER_DIGITS, 20, 12345.123456 ),
|
|
||||||
'INTEGER_DIGITS' => array( NumberFormatter::INTEGER_DIGITS, 7, 12345.123456 ),
|
|
||||||
'MAX_FRACTION_DIGITS' => array( NumberFormatter::MAX_FRACTION_DIGITS, 2, 12345.123456 ),
|
|
||||||
'MIN_FRACTION_DIGITS' => array( NumberFormatter::MIN_FRACTION_DIGITS, 20, 12345.123456 ),
|
|
||||||
'FRACTION_DIGITS' => array( NumberFormatter::FRACTION_DIGITS, 5, 12345.123456 ),
|
|
||||||
'MULTIPLIER' => array( NumberFormatter::MULTIPLIER, 2, 12345.123456 ),
|
|
||||||
'GROUPING_SIZE' => array( NumberFormatter::GROUPING_SIZE, 2, 12345.123456 ),
|
|
||||||
'ROUNDING_MODE' => array( NumberFormatter::ROUNDING_MODE, 1, 12345.123456 ),
|
|
||||||
'ROUNDING_INCREMENT' => array( NumberFormatter::ROUNDING_INCREMENT, (float)2, 12345.123456 ),
|
|
||||||
'FORMAT_WIDTH' => array( NumberFormatter::FORMAT_WIDTH, 27, 12345.123456 ),
|
|
||||||
'PADDING_POSITION' => array( NumberFormatter::PADDING_POSITION, 2, 12345.123456 ),
|
|
||||||
'SECONDARY_GROUPING_SIZE' => array( NumberFormatter::SECONDARY_GROUPING_SIZE, 2, 12345.123456 ),
|
|
||||||
'SIGNIFICANT_DIGITS_USED' => array( NumberFormatter::SIGNIFICANT_DIGITS_USED, 1, 12345.123456 ),
|
|
||||||
'MIN_SIGNIFICANT_DIGITS' => array( NumberFormatter::MIN_SIGNIFICANT_DIGITS, 3, 1 ),
|
|
||||||
'MAX_SIGNIFICANT_DIGITS' => array( NumberFormatter::MAX_SIGNIFICANT_DIGITS, 4, 12345.123456 ),
|
|
||||||
// 'LENIENT_PARSE' => array( NumberFormatter::LENIENT_PARSE, 2, 12345.123456 )
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$fmt = ut_nfmt_create( "en_US", NumberFormatter::DECIMAL );
|
|
||||||
|
|
||||||
foreach( $attributes as $attr_name => $args )
|
|
||||||
{
|
|
||||||
list( $attr, $new_val, $number ) = $args;
|
|
||||||
$res_str .= "\nAttribute $attr_name\n";
|
|
||||||
|
|
||||||
// Get original value of the attribute.
|
|
||||||
$orig_val = ut_nfmt_get_attribute( $fmt, $attr );
|
|
||||||
|
|
||||||
// Format the number using the original attribute value.
|
|
||||||
$rc = ut_nfmt_format( $fmt, $number );
|
|
||||||
|
|
||||||
$ps = ut_nfmt_parse( $fmt, $rc );
|
|
||||||
|
|
||||||
$res_str .= sprintf( "Old attribute value: %s ; Format result: %s ; Parse result: %s\n",
|
|
||||||
dump( $orig_val ),
|
|
||||||
dump( $rc ),
|
|
||||||
dump( $ps ) );
|
|
||||||
|
|
||||||
// Set new attribute value.
|
|
||||||
$rc = ut_nfmt_set_attribute( $fmt, $attr, $new_val );
|
|
||||||
if( $rc )
|
|
||||||
$res_str .= "Setting attribute: ok\n";
|
|
||||||
else
|
|
||||||
$res_str .= sprintf( "Setting attribute failed: %s\n", ut_nfmt_get_error_message( $fmt ) );
|
|
||||||
|
|
||||||
// Format the number using the new value.
|
|
||||||
$rc = ut_nfmt_format( $fmt, $number );
|
|
||||||
|
|
||||||
// Get current value of the attribute and check if it equals $new_val.
|
|
||||||
$attr_val_check = ut_nfmt_get_attribute( $fmt, $attr );
|
|
||||||
if( $attr_val_check !== $new_val )
|
|
||||||
$res_str .= "ERROR: New $attr_name attribute value has not been set correctly.\n";
|
|
||||||
|
|
||||||
$ps = ut_nfmt_parse( $fmt, $rc );
|
|
||||||
|
|
||||||
$res_str .= sprintf( "New attribute value: %s ; Format result: %s ; Parse result: %s\n",
|
|
||||||
dump( $new_val ),
|
|
||||||
dump( $rc ),
|
|
||||||
dump( $ps ) );
|
|
||||||
|
|
||||||
|
|
||||||
// Restore original attribute of the value
|
|
||||||
if( $attr != NumberFormatter::INTEGER_DIGITS && $attr != NumberFormatter::FRACTION_DIGITS
|
|
||||||
&& $attr != NumberFormatter::FORMAT_WIDTH && $attr != NumberFormatter::SIGNIFICANT_DIGITS_USED )
|
|
||||||
ut_nfmt_set_attribute( $fmt, $attr, $orig_val );
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
|
|
||||||
// Run the test
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
Attribute PARSE_INT_ONLY
|
|
||||||
Old attribute value: 0 ; Format result: '12,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 1 ; Format result: '12,345.123' ; Parse result: 12345
|
|
||||||
|
|
||||||
Attribute GROUPING_USED
|
|
||||||
Old attribute value: 1 ; Format result: '12,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 0 ; Format result: '12345.123' ; Parse result: 12345.123
|
|
||||||
|
|
||||||
Attribute DECIMAL_ALWAYS_SHOWN
|
|
||||||
Old attribute value: 0 ; Format result: '12,345' ; Parse result: 12345
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 1 ; Format result: '12,345.' ; Parse result: 12345
|
|
||||||
|
|
||||||
Attribute MAX_INTEGER_DIGITS
|
|
||||||
Old attribute value: 309 ; Format result: '12,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '45.123' ; Parse result: 45.123
|
|
||||||
|
|
||||||
Attribute MIN_INTEGER_DIGITS
|
|
||||||
Old attribute value: 1 ; Format result: '12,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 20 ; Format result: '00,000,000,000,000,012,345.123' ; Parse result: 12345.123
|
|
||||||
|
|
||||||
Attribute INTEGER_DIGITS
|
|
||||||
Old attribute value: 1 ; Format result: '12,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 7 ; Format result: '0,012,345.123' ; Parse result: 12345.123
|
|
||||||
|
|
||||||
Attribute MAX_FRACTION_DIGITS
|
|
||||||
Old attribute value: 3 ; Format result: '0,012,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '0,012,345.12' ; Parse result: 12345.12
|
|
||||||
|
|
||||||
Attribute MIN_FRACTION_DIGITS
|
|
||||||
Old attribute value: 0 ; Format result: '0,012,345.123' ; Parse result: 12345.123
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 20 ; Format result: '0,012,345.12345600000000000000' ; Parse result: 12345.123456
|
|
||||||
|
|
||||||
Attribute FRACTION_DIGITS
|
|
||||||
Old attribute value: 0 ; Format result: '0,012,345.123456' ; Parse result: 12345.123456
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 5 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
|
|
||||||
Attribute MULTIPLIER
|
|
||||||
Old attribute value: 1 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '0,024,690.24691' ; Parse result: 12345.123455
|
|
||||||
|
|
||||||
Attribute GROUPING_SIZE
|
|
||||||
Old attribute value: 3 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '0,01,23,45.12346' ; Parse result: 12345.12346
|
|
||||||
|
|
||||||
Attribute ROUNDING_MODE
|
|
||||||
Old attribute value: 4 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 1 ; Format result: '0,012,345.12345' ; Parse result: 12345.12345
|
|
||||||
|
|
||||||
Attribute ROUNDING_INCREMENT
|
|
||||||
Old attribute value: 0 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '0,012,346.00000' ; Parse result: 12346
|
|
||||||
|
|
||||||
Attribute FORMAT_WIDTH
|
|
||||||
Old attribute value: 0 ; Format result: '0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 27 ; Format result: '************0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
|
|
||||||
Attribute PADDING_POSITION
|
|
||||||
Old attribute value: 0 ; Format result: '************0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '0,012,345.12346************' ; Parse result: 12345.12346
|
|
||||||
|
|
||||||
Attribute SECONDARY_GROUPING_SIZE
|
|
||||||
Old attribute value: 0 ; Format result: '************0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 2 ; Format result: '************00,12,345.12346' ; Parse result: 12345.12346
|
|
||||||
|
|
||||||
Attribute SIGNIFICANT_DIGITS_USED
|
|
||||||
Old attribute value: 0 ; Format result: '************0,012,345.12346' ; Parse result: 12345.12346
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 1 ; Format result: '*******************12,345.1' ; Parse result: 12345.1
|
|
||||||
|
|
||||||
Attribute MIN_SIGNIFICANT_DIGITS
|
|
||||||
Old attribute value: 1 ; Format result: '**************************1' ; Parse result: 1
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 3 ; Format result: '***********************1.00' ; Parse result: 1
|
|
||||||
|
|
||||||
Attribute MAX_SIGNIFICANT_DIGITS
|
|
||||||
Old attribute value: 6 ; Format result: '*******************12,345.1' ; Parse result: 12345.1
|
|
||||||
Setting attribute: ok
|
|
||||||
New attribute value: 4 ; Format result: '*********************12,350' ; Parse result: 12350
|
|
|
@ -1,190 +0,0 @@
|
||||||
--TEST--
|
|
||||||
numfmt_get/set_symbol() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Get/set symbol.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$longstr = str_repeat("blah", 10);
|
|
||||||
$symbols = array(
|
|
||||||
'DECIMAL_SEPARATOR_SYMBOL' => array( NumberFormatter::DECIMAL_SEPARATOR_SYMBOL, '_._', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'GROUPING_SEPARATOR_SYMBOL' => array( NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '_,_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'PATTERN_SEPARATOR_SYMBOL' => array( NumberFormatter::PATTERN_SEPARATOR_SYMBOL, '_;_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'PERCENT_SYMBOL' => array( NumberFormatter::PERCENT_SYMBOL, '_%_', 12345.123456, NumberFormatter::PERCENT ),
|
|
||||||
'ZERO_DIGIT_SYMBOL' => array( NumberFormatter::ZERO_DIGIT_SYMBOL, '_ZD_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'DIGIT_SYMBOL' => array( NumberFormatter::DIGIT_SYMBOL, '_DS_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'MINUS_SIGN_SYMBOL' => array( NumberFormatter::MINUS_SIGN_SYMBOL, '_-_', -12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'PLUS_SIGN_SYMBOL' => array( NumberFormatter::PLUS_SIGN_SYMBOL, '_+_', 12345.123456, NumberFormatter::SCIENTIFIC ),
|
|
||||||
'CURRENCY_SYMBOL' => array( NumberFormatter::CURRENCY_SYMBOL, '_$_', 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
'INTL_CURRENCY_SYMBOL' => array( NumberFormatter::INTL_CURRENCY_SYMBOL, '_$_', 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
'MONETARY_SEPARATOR_SYMBOL' => array( NumberFormatter::MONETARY_SEPARATOR_SYMBOL, '_MS_', 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
'EXPONENTIAL_SYMBOL' => array( NumberFormatter::EXPONENTIAL_SYMBOL, '_E_', 12345.123456, NumberFormatter::SCIENTIFIC ),
|
|
||||||
'PERMILL_SYMBOL' => array( NumberFormatter::PERMILL_SYMBOL, '_PS_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'PAD_ESCAPE_SYMBOL' => array( NumberFormatter::PAD_ESCAPE_SYMBOL, '_PE_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'INFINITY_SYMBOL' => array( NumberFormatter::INFINITY_SYMBOL, '_IS_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'NAN_SYMBOL' => array( NumberFormatter::NAN_SYMBOL, '_N_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'SIGNIFICANT_DIGIT_SYMBOL' => array( NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL, '_SD_', 12345.123456, NumberFormatter::DECIMAL ),
|
|
||||||
'MONETARY_GROUPING_SEPARATOR_SYMBOL' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, '_MG_', 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
'MONETARY_GROUPING_SEPARATOR_SYMBOL-2' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, " ", 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
'MONETARY_GROUPING_SEPARATOR_SYMBOL-3' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, $longstr, 12345.123456, NumberFormatter::CURRENCY ),
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $symbols as $symb_name => $data )
|
|
||||||
{
|
|
||||||
list( $symb, $new_val, $number, $attr ) = $data;
|
|
||||||
|
|
||||||
$fmt = ut_nfmt_create( 'en_US', $attr);
|
|
||||||
|
|
||||||
$res_str .= "\nSymbol '$symb_name'\n";
|
|
||||||
|
|
||||||
// Get original symbol value.
|
|
||||||
$orig_val = ut_nfmt_get_symbol( $fmt, $symb );
|
|
||||||
$res_str .= "Default symbol: [$orig_val]\n";
|
|
||||||
|
|
||||||
// Set a new symbol value.
|
|
||||||
$res_val = ut_nfmt_set_symbol( $fmt, $symb, $new_val );
|
|
||||||
if( !$res_val )
|
|
||||||
$res_str .= "set_symbol() error: " . ut_nfmt_get_error_message( $fmt ) . "\n";
|
|
||||||
|
|
||||||
// Get the symbol value back.
|
|
||||||
$new_val_check = ut_nfmt_get_symbol( $fmt, $symb );
|
|
||||||
if( !$new_val_check )
|
|
||||||
$res_str .= "get_symbol() error: " . ut_nfmt_get_error_message( $fmt ) . "\n";
|
|
||||||
|
|
||||||
$res_str .= "New symbol: [$new_val_check]\n";
|
|
||||||
|
|
||||||
// Check if the new value has been set.
|
|
||||||
if( $new_val_check !== $new_val )
|
|
||||||
$res_str .= "ERROR: New $symb_name symbol value has not been set correctly.\n";
|
|
||||||
|
|
||||||
// Format the number using the new value.
|
|
||||||
$s = ut_nfmt_format( $fmt, $number );
|
|
||||||
$res_str .= "A number formatted with the new symbol: $s\n";
|
|
||||||
|
|
||||||
// Restore attribute's symbol.
|
|
||||||
ut_nfmt_set_symbol( $fmt, $symb, $orig_val );
|
|
||||||
}
|
|
||||||
$badvals = array(2147483648, -2147483648, -1, 4294901761);
|
|
||||||
foreach($badvals as $badval) {
|
|
||||||
if(ut_nfmt_get_symbol( $fmt, 2147483648 )) {
|
|
||||||
$res_str .= "Bad value $badval should return false!\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $res_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
Symbol 'DECIMAL_SEPARATOR_SYMBOL'
|
|
||||||
Default symbol: [.]
|
|
||||||
New symbol: [_._]
|
|
||||||
A number formatted with the new symbol: 12,345_._123
|
|
||||||
|
|
||||||
Symbol 'GROUPING_SEPARATOR_SYMBOL'
|
|
||||||
Default symbol: [,]
|
|
||||||
New symbol: [_,_]
|
|
||||||
A number formatted with the new symbol: 12_,_345.123
|
|
||||||
|
|
||||||
Symbol 'PATTERN_SEPARATOR_SYMBOL'
|
|
||||||
Default symbol: [;]
|
|
||||||
New symbol: [_;_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'PERCENT_SYMBOL'
|
|
||||||
Default symbol: [%]
|
|
||||||
New symbol: [_%_]
|
|
||||||
A number formatted with the new symbol: 1,234,512_%_
|
|
||||||
|
|
||||||
Symbol 'ZERO_DIGIT_SYMBOL'
|
|
||||||
Default symbol: [0]
|
|
||||||
New symbol: [_ZD_]
|
|
||||||
A number formatted with the new symbol: `a,bcd.`ab
|
|
||||||
|
|
||||||
Symbol 'DIGIT_SYMBOL'
|
|
||||||
Default symbol: [#]
|
|
||||||
New symbol: [_DS_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'MINUS_SIGN_SYMBOL'
|
|
||||||
Default symbol: [-]
|
|
||||||
New symbol: [_-_]
|
|
||||||
A number formatted with the new symbol: _-_12,345.123
|
|
||||||
|
|
||||||
Symbol 'PLUS_SIGN_SYMBOL'
|
|
||||||
Default symbol: [+]
|
|
||||||
New symbol: [_+_]
|
|
||||||
A number formatted with the new symbol: 1.2345123456E4
|
|
||||||
|
|
||||||
Symbol 'CURRENCY_SYMBOL'
|
|
||||||
Default symbol: [$]
|
|
||||||
New symbol: [_$_]
|
|
||||||
A number formatted with the new symbol: _$_12,345.12
|
|
||||||
|
|
||||||
Symbol 'INTL_CURRENCY_SYMBOL'
|
|
||||||
Default symbol: [USD]
|
|
||||||
New symbol: [_$_]
|
|
||||||
A number formatted with the new symbol: $12,345.12
|
|
||||||
|
|
||||||
Symbol 'MONETARY_SEPARATOR_SYMBOL'
|
|
||||||
Default symbol: [.]
|
|
||||||
New symbol: [_MS_]
|
|
||||||
A number formatted with the new symbol: $12,345_MS_12
|
|
||||||
|
|
||||||
Symbol 'EXPONENTIAL_SYMBOL'
|
|
||||||
Default symbol: [E]
|
|
||||||
New symbol: [_E_]
|
|
||||||
A number formatted with the new symbol: 1.2345123456_E_4
|
|
||||||
|
|
||||||
Symbol 'PERMILL_SYMBOL'
|
|
||||||
Default symbol: [‰]
|
|
||||||
New symbol: [_PS_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'PAD_ESCAPE_SYMBOL'
|
|
||||||
Default symbol: [*]
|
|
||||||
New symbol: [_PE_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'INFINITY_SYMBOL'
|
|
||||||
Default symbol: [∞]
|
|
||||||
New symbol: [_IS_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'NAN_SYMBOL'
|
|
||||||
Default symbol: [NaN]
|
|
||||||
New symbol: [_N_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'SIGNIFICANT_DIGIT_SYMBOL'
|
|
||||||
Default symbol: [@]
|
|
||||||
New symbol: [_SD_]
|
|
||||||
A number formatted with the new symbol: 12,345.123
|
|
||||||
|
|
||||||
Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL'
|
|
||||||
Default symbol: [,]
|
|
||||||
New symbol: [_MG_]
|
|
||||||
A number formatted with the new symbol: $12_MG_345.12
|
|
||||||
|
|
||||||
Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL-2'
|
|
||||||
Default symbol: [,]
|
|
||||||
New symbol: [ ]
|
|
||||||
A number formatted with the new symbol: $12 345.12
|
|
||||||
|
|
||||||
Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL-3'
|
|
||||||
Default symbol: [,]
|
|
||||||
New symbol: [blahblahblahblahblahblahblahblahblahblah]
|
|
||||||
A number formatted with the new symbol: $12blahblahblahblahblahblahblahblahblahblah345.12
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
numfmt_get/set_symbol() icu >= 4.8
|
numfmt_get/set_symbol() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
<?php if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlGregorianCalendar::__construct(): basic
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -48,4 +46,4 @@ string(5) "pt_PT"
|
||||||
string(12) "Europe/Paris"
|
string(12) "Europe/Paris"
|
||||||
string(5) "fr_CA"
|
string(5) "fr_CA"
|
||||||
string(9) "gregorian"
|
string(9) "gregorian"
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
INTL_ICU_DATA_VERSION constant
|
INTL_ICU_DATA_VERSION constant
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare('INTL_ICU_VERSION', '4.4', '<') < 0) print 'skip for ICU >= 4.4'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
var_dump(defined("INTL_ICU_DATA_VERSION"));
|
var_dump(defined("INTL_ICU_DATA_VERSION"));
|
||||||
|
|
|
@ -1,366 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_filter_matches.phpt() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try parsing different Locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$loc_ranges = array(
|
|
||||||
'de-de',
|
|
||||||
'sl_IT',
|
|
||||||
'sl_IT_Nedis',
|
|
||||||
'jbo',
|
|
||||||
'art-lojban',
|
|
||||||
'sl_IT'
|
|
||||||
);
|
|
||||||
|
|
||||||
$lang_tags = array(
|
|
||||||
'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'
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
$isCanonical = false;
|
|
||||||
foreach($loc_ranges as $loc_range){
|
|
||||||
foreach($lang_tags as $lang_tag){
|
|
||||||
$res_str .="--------------\n";
|
|
||||||
$result= ut_loc_locale_filter_matches( $lang_tag , $loc_range , $isCanonical);
|
|
||||||
$res_str .= "loc_range:$loc_range matches lang_tag $lang_tag ? ";
|
|
||||||
if( $result){
|
|
||||||
$res_str .= "YES\n";
|
|
||||||
}else{
|
|
||||||
$res_str .= "NO\n";
|
|
||||||
}
|
|
||||||
//canonicalized version
|
|
||||||
$result= ut_loc_locale_filter_matches( $lang_tag , $loc_range , !($isCanonical));
|
|
||||||
$can_loc_range = ut_loc_canonicalize($loc_range);
|
|
||||||
$can_lang_tag = ut_loc_canonicalize($lang_tag);
|
|
||||||
$res_str .= "loc_range:$can_loc_range canonically matches lang_tag $can_lang_tag ? ";
|
|
||||||
if( $result){
|
|
||||||
$res_str .= "YES\n";
|
|
||||||
}else{
|
|
||||||
$res_str .= "NO\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$res_str .= "\n";
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--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 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 i-lux ? 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 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 i-lux ? 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 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 i-lux ? 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 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 i-lux ? 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 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 i-lux ? 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 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 i-lux ? 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
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_filter_matches.phpt() icu >= 4.8 && icu < 50.1.2
|
locale_filter_matches.phpt() icu >= 4.8 && icu < 50.1.2
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,342 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_display_name() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the display_name for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str='';
|
|
||||||
|
|
||||||
$disp_locales=array('en','fr','de');
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'sl_IT_nedis_KIRTI',
|
|
||||||
'sl_IT_nedis-a-kirti-x-xyz',
|
|
||||||
'sl_IT_rozaj',
|
|
||||||
'sl_IT_NEDIS_ROJAZ_1901',
|
|
||||||
'i-enochian',
|
|
||||||
'zh-hakka',
|
|
||||||
'zh-wuu',
|
|
||||||
'i-tay',
|
|
||||||
'sgn-BE-nl',
|
|
||||||
'sgn-CH-de',
|
|
||||||
'sl_IT_rozaj@currency=EUR',
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$res_str .= "locale='$locale'\n";
|
|
||||||
foreach( $disp_locales as $disp_locale )
|
|
||||||
{
|
|
||||||
$scr = ut_loc_get_display_name( $locale ,$disp_locale );
|
|
||||||
$scr = str_replace(array('(', ')'), '#', $scr);
|
|
||||||
$res_str .= "disp_locale=$disp_locale : display_name=$scr";
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
$res_str .= "-----------------\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--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
|
|
||||||
disp_locale=fr : display_name=i-enochian
|
|
||||||
disp_locale=de : display_name=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
|
|
||||||
disp_locale=fr : display_name=i-enochian
|
|
||||||
disp_locale=de : display_name=i-enochian
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hant'
|
|
||||||
disp_locale=en : display_name=Chinese #Traditional Han#
|
|
||||||
disp_locale=fr : display_name=chinois #idéogrammes han (#variante traditionnelle#|traditionnels)#
|
|
||||||
disp_locale=de : display_name=Chinesisch #Traditionelle Chinesische Schrift#
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hans'
|
|
||||||
disp_locale=en : display_name=Chinese #Simplified Han#
|
|
||||||
disp_locale=fr : display_name=chinois #idéogrammes han (#variante simplifiée#|simplifiés)#
|
|
||||||
disp_locale=de : display_name=Chinesisch #Vereinfachte Chinesische Schrift#
|
|
||||||
-----------------
|
|
||||||
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 Han, China#
|
|
||||||
disp_locale=fr : display_name=chinois #idéogrammes han (#variante simplifiée#|simplifiés), Chine#
|
|
||||||
disp_locale=de : display_name=Chinesisch #Vereinfachte Chinesische Schrift, 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( #ROZAJ#)?
|
|
||||||
disp_locale=fr : display_name=slovène( #ROZAJ#)?
|
|
||||||
disp_locale=de : display_name=Slowenisch( #(ROZAJ|Resianisch)#)?
|
|
||||||
-----------------
|
|
||||||
locale='sl-nedis'
|
|
||||||
disp_locale=en : display_name=Slovenian( #NEDIS#)?
|
|
||||||
disp_locale=fr : display_name=slovène( #NEDIS#)?
|
|
||||||
disp_locale=de : display_name=Slowenisch( #NEDIS#)?
|
|
||||||
-----------------
|
|
||||||
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 and the Caribbean#
|
|
||||||
disp_locale=fr : display_name=espagnol #Amérique latine et Caraïbes#
|
|
||||||
disp_locale=de : display_name=Spanisch #Lateinamerika und Karibik#
|
|
||||||
-----------------
|
|
||||||
locale='de-CH-x-phonebk'
|
|
||||||
disp_locale=en : display_name=German #Switzerland, X_PHONEBK#
|
|
||||||
disp_locale=fr : display_name=allemand #Suisse, X_PHONEBK#
|
|
||||||
disp_locale=de : display_name=Deutsch #Schweiz, X_PHONEBK#
|
|
||||||
-----------------
|
|
||||||
locale='az-Arab-x-AZE-derbend'
|
|
||||||
disp_locale=en : display_name=Azerbaijani #Arabic(, X, AZE_DERBEND)?#
|
|
||||||
disp_locale=fr : display_name=azéri #arabe(, X, AZE_DERBEND)?#
|
|
||||||
disp_locale=de : display_name=Aserbaidschanisch #Arabisch(, X, 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
|
|
||||||
disp_locale=fr : display_name=x-whatever
|
|
||||||
disp_locale=de : display_name=x-whatever
|
|
||||||
-----------------
|
|
||||||
locale='qaa-Qaaa-QM-x-southern'
|
|
||||||
disp_locale=en : display_name=qaa #Qaaa, QM, X_SOUTHERN#
|
|
||||||
disp_locale=fr : display_name=qaa #Qaaa, QM, X_SOUTHERN#
|
|
||||||
disp_locale=de : display_name=qaa #Qaaa, QM, X_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, U_ISLAMCAL#
|
|
||||||
disp_locale=fr : display_name=anglais #États-Unis, U_ISLAMCAL#
|
|
||||||
disp_locale=de : display_name=Englisch #Vereinigte Staaten, U_ISLAMCAL#
|
|
||||||
-----------------
|
|
||||||
locale='zh-CN-a-myExt-x-private'
|
|
||||||
disp_locale=en : display_name=Chinese #China, A_MYEXT_X_PRIVATE#
|
|
||||||
disp_locale=fr : display_name=chinois #Chine, A_MYEXT_X_PRIVATE#
|
|
||||||
disp_locale=de : display_name=Chinesisch #China, A_MYEXT_X_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 and the Caribbean, DE#
|
|
||||||
disp_locale=fr : display_name=allemand #Amérique latine et Caraïbes, DE#
|
|
||||||
disp_locale=de : display_name=Deutsch #Lateinamerika und Karibik, 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_A_CCC#)?
|
|
||||||
disp_locale=fr : display_name=arabe( #A, AAA_B_BBB_A_CCC#)?
|
|
||||||
disp_locale=de : display_name=Arabisch( #A, AAA_B_BBB_A_CCC#)?
|
|
||||||
-----------------
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_get_display_name() icu >= 4.8 && icu < 50.1.2
|
locale_get_display_name() icu >= 4.8 && icu < 50.1.2
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,275 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_display_region() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the display_region for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$disp_locales=array('en','fr','de');
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$res_str .= "locale='$locale'\n";
|
|
||||||
foreach( $disp_locales as $disp_locale )
|
|
||||||
{
|
|
||||||
$scr = ut_loc_get_display_region( $locale ,$disp_locale );
|
|
||||||
$res_str .= "disp_locale=$disp_locale : display_region=$scr";
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
$res_str .= "-----------------\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--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 and the Caribbean
|
|
||||||
disp_locale=fr : display_region=Amérique latine et Caraïbes
|
|
||||||
disp_locale=de : display_region=Lateinamerika und Karibik
|
|
||||||
-----------------
|
|
||||||
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 and the Caribbean
|
|
||||||
disp_locale=fr : display_region=Amérique latine et Caraïbes
|
|
||||||
disp_locale=de : display_region=Lateinamerika und Karibik
|
|
||||||
-----------------
|
|
||||||
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?
|
|
||||||
-----------------
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_get_display_region() icu >= 4.8 && icu < 51.2
|
locale_get_display_region() icu >= 4.8 && icu < 51.2
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU <= 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU <= 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,275 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_display_script() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the display_script for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$disp_locales=array('en','fr','de');
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$res_str .= "locale='$locale'\n";
|
|
||||||
foreach( $disp_locales as $disp_locale )
|
|
||||||
{
|
|
||||||
$scr = ut_loc_get_display_script( $locale ,$disp_locale );
|
|
||||||
$res_str .= "disp_locale=$disp_locale : display_script=$scr";
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
$res_str .= "-----------------\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTREGEX--
|
|
||||||
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=idéogrammes han (\(variante traditionnelle\)|traditionnels)
|
|
||||||
disp_locale=de : display_script=Traditionelle Chinesische Schrift
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hans'
|
|
||||||
disp_locale=en : display_script=Simplified Han
|
|
||||||
disp_locale=fr : display_script=idéogrammes han (\(variante simplifiée\)|simplifiés)
|
|
||||||
disp_locale=de : display_script=Vereinfachte Chinesische Schrift
|
|
||||||
-----------------
|
|
||||||
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=idéogrammes han (\(variante simplifiée\)|simplifiés)
|
|
||||||
disp_locale=de : display_script=Vereinfachte Chinesische Schrift
|
|
||||||
-----------------
|
|
||||||
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=
|
|
||||||
-----------------
|
|
|
@ -1,276 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_display_script() icu = 4.8
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '49') >= 0) die('skip for ICU < 49'); ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the display_script for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$disp_locales=array('en','fr','de');
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$res_str .= "locale='$locale'\n";
|
|
||||||
foreach( $disp_locales as $disp_locale )
|
|
||||||
{
|
|
||||||
$scr = ut_loc_get_display_script( $locale ,$disp_locale );
|
|
||||||
$res_str .= "disp_locale=$disp_locale : display_script=$scr";
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
$res_str .= "-----------------\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTREGEX--
|
|
||||||
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
|
|
||||||
disp_locale=fr : display_script=idéogrammes han (\(variante traditionnelle\)|traditionnels)
|
|
||||||
disp_locale=de : display_script=Traditionell
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hans'
|
|
||||||
disp_locale=en : display_script=Simplified
|
|
||||||
disp_locale=fr : display_script=idéogrammes han (\(variante simplifiée\)|simplifiés)
|
|
||||||
disp_locale=de : display_script=Vereinfacht
|
|
||||||
-----------------
|
|
||||||
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
|
|
||||||
disp_locale=fr : display_script=idéogrammes han (\(variante simplifiée\)|simplifiés)
|
|
||||||
disp_locale=de : display_script=Vereinfacht
|
|
||||||
-----------------
|
|
||||||
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=
|
|
||||||
-----------------
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_get_display_script() icu >= 49
|
locale_get_display_script() icu >= 49
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '49') < 0) print 'skip for ICU >= 49'; ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '52.1') >= 0) die('skip for ICU < 52.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '52.1') >= 0) die('skip for ICU < 52.1'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,275 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_display_variant() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the display_variant for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$disp_locales=array('en','fr','de');
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$res_str .= "locale='$locale'\n";
|
|
||||||
foreach( $disp_locales as $disp_locale )
|
|
||||||
{
|
|
||||||
$scr = ut_loc_get_display_variant( $locale ,$disp_locale );
|
|
||||||
$res_str .= "disp_locale=$disp_locale : display_variant=$scr";
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
$res_str .= "-----------------\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTREGEX--
|
|
||||||
locale='uk-ua_CALIFORNIA@currency=;currency=GRN'
|
|
||||||
disp_locale=en : display_variant=CALIFORNIA
|
|
||||||
disp_locale=fr : display_variant=CALIFORNIA
|
|
||||||
disp_locale=de : display_variant=CALIFORNIA
|
|
||||||
-----------------
|
|
||||||
locale='root'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='uk@currency=EURO'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='Hindi'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='de'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='fr'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='ja'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='i-enochian'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hant'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hans'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sr-Cyrl'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sr-Latn'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='zh-Hans-CN'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sr-Latn-CS'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sl-rozaj'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sl-nedis'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='de-CH-1901'
|
|
||||||
disp_locale=en : display_variant=Traditional German orthography
|
|
||||||
disp_locale=fr : display_variant=orthographe allemande traditionnelle
|
|
||||||
disp_locale=de : display_variant=(1901|[Aa]lte deutsche Rechtschreibung)
|
|
||||||
-----------------
|
|
||||||
locale='sl-IT-nedis'
|
|
||||||
disp_locale=en : display_variant=Natisone dialect
|
|
||||||
disp_locale=fr : display_variant=dialecte de Natisone
|
|
||||||
disp_locale=de : display_variant=(NEDIS|Natisone-Dialekt)
|
|
||||||
-----------------
|
|
||||||
locale='sl-Latn-IT-nedis'
|
|
||||||
disp_locale=en : display_variant=Natisone dialect
|
|
||||||
disp_locale=fr : display_variant=dialecte de Natisone
|
|
||||||
disp_locale=de : display_variant=(NEDIS|Natisone-Dialekt)
|
|
||||||
-----------------
|
|
||||||
locale='de-DE'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='en-US'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='es-419'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='de-CH-x-phonebk'
|
|
||||||
disp_locale=en : display_variant=X_PHONEBK
|
|
||||||
disp_locale=fr : display_variant=X_PHONEBK
|
|
||||||
disp_locale=de : display_variant=X_PHONEBK
|
|
||||||
-----------------
|
|
||||||
locale='az-Arab-x-AZE-derbend'
|
|
||||||
disp_locale=en : display_variant=(AZE_DERBEND)?
|
|
||||||
disp_locale=fr : display_variant=(AZE_DERBEND)?
|
|
||||||
disp_locale=de : display_variant=(AZE_DERBEND)?
|
|
||||||
-----------------
|
|
||||||
locale='zh-min'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='zh-min-nan-Hant-CN'
|
|
||||||
disp_locale=en : display_variant=NAN_HANT_CN
|
|
||||||
disp_locale=fr : display_variant=NAN_HANT_CN
|
|
||||||
disp_locale=de : display_variant=NAN_HANT_CN
|
|
||||||
-----------------
|
|
||||||
locale='x-whatever'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='qaa-Qaaa-QM-x-southern'
|
|
||||||
disp_locale=en : display_variant=X_SOUTHERN
|
|
||||||
disp_locale=fr : display_variant=X_SOUTHERN
|
|
||||||
disp_locale=de : display_variant=X_SOUTHERN
|
|
||||||
-----------------
|
|
||||||
locale='sr-Latn-QM'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='sr-Qaaa-CS'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='en-US-u-islamCal'
|
|
||||||
disp_locale=en : display_variant=U_ISLAMCAL
|
|
||||||
disp_locale=fr : display_variant=U_ISLAMCAL
|
|
||||||
disp_locale=de : display_variant=U_ISLAMCAL
|
|
||||||
-----------------
|
|
||||||
locale='zh-CN-a-myExt-x-private'
|
|
||||||
disp_locale=en : display_variant=A_MYEXT_X_PRIVATE
|
|
||||||
disp_locale=fr : display_variant=A_MYEXT_X_PRIVATE
|
|
||||||
disp_locale=de : display_variant=A_MYEXT_X_PRIVATE
|
|
||||||
-----------------
|
|
||||||
locale='en-a-myExt-b-another'
|
|
||||||
disp_locale=en : display_variant=(MYEXT_B_ANOTHER)?
|
|
||||||
disp_locale=fr : display_variant=(MYEXT_B_ANOTHER)?
|
|
||||||
disp_locale=de : display_variant=(MYEXT_B_ANOTHER)?
|
|
||||||
-----------------
|
|
||||||
locale='de-419-DE'
|
|
||||||
disp_locale=en : display_variant=DE
|
|
||||||
disp_locale=fr : display_variant=DE
|
|
||||||
disp_locale=de : display_variant=DE
|
|
||||||
-----------------
|
|
||||||
locale='a-DE'
|
|
||||||
disp_locale=en : display_variant=
|
|
||||||
disp_locale=fr : display_variant=
|
|
||||||
disp_locale=de : display_variant=
|
|
||||||
-----------------
|
|
||||||
locale='ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
disp_locale=en : display_variant=(AAA_B_BBB_A_CCC)?
|
|
||||||
disp_locale=fr : display_variant=(AAA_B_BBB_A_CCC)?
|
|
||||||
disp_locale=de : display_variant=(AAA_B_BBB_A_CCC)?
|
|
||||||
-----------------
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_get_display_variant() icu >= 4.8
|
locale_get_display_variant() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -1,140 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_get_keywords() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try getting the keywords for different locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
"de_DE@currency=EUR;collation=PHONEBOOK",
|
|
||||||
'uk-ua_CALIFORNIA@currency=GRN'
|
|
||||||
);
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'de_DE@currency=EUR;collation=PHONEBOOK',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'x-whatever',
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$keywords_arr = ut_loc_get_keywords( $locale);
|
|
||||||
$res_str .= "$locale: ";
|
|
||||||
if( $keywords_arr){
|
|
||||||
foreach( $keywords_arr as $key => $value){
|
|
||||||
$res_str .= "Key is $key and Value is $value \n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$res_str .= "No keywords found.";
|
|
||||||
}
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$res_str .= "\n";
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECT--
|
|
||||||
de_DE@currency=EUR;collation=PHONEBOOK: Key is collation and Value is PHONEBOOK
|
|
||||||
Key is currency and Value is EUR
|
|
||||||
|
|
||||||
root: No keywords found.
|
|
||||||
uk@currency=EURO: Key is currency and Value is EURO
|
|
||||||
|
|
||||||
Hindi: No keywords found.
|
|
||||||
de: No keywords found.
|
|
||||||
fr: No keywords found.
|
|
||||||
ja: No keywords found.
|
|
||||||
i-enochian: No keywords found.
|
|
||||||
zh-Hant: No keywords found.
|
|
||||||
zh-Hans: No keywords found.
|
|
||||||
sr-Cyrl: No keywords found.
|
|
||||||
sr-Latn: No keywords found.
|
|
||||||
zh-Hans-CN: No keywords found.
|
|
||||||
sr-Latn-CS: No keywords found.
|
|
||||||
sl-rozaj: No keywords found.
|
|
||||||
sl-nedis: No keywords found.
|
|
||||||
de-CH-1901: No keywords found.
|
|
||||||
sl-IT-nedis: No keywords found.
|
|
||||||
sl-Latn-IT-nedis: No keywords found.
|
|
||||||
de-DE: No keywords found.
|
|
||||||
en-US: No keywords found.
|
|
||||||
es-419: No keywords found.
|
|
||||||
de-CH-x-phonebk: No keywords found.
|
|
||||||
az-Arab-x-AZE-derbend: No keywords found.
|
|
||||||
zh-min: No keywords found.
|
|
||||||
zh-min-nan-Hant-CN: No keywords found.
|
|
||||||
x-whatever: No keywords found.
|
|
||||||
qaa-Qaaa-QM-x-southern: No keywords found.
|
|
||||||
sr-Latn-QM: No keywords found.
|
|
||||||
sr-Qaaa-CS: No keywords found.
|
|
||||||
en-US-u-islamCal: No keywords found.
|
|
||||||
zh-CN-a-myExt-x-private: No keywords found.
|
|
||||||
en-a-myExt-b-another: No keywords found.
|
|
||||||
de-419-DE: No keywords found.
|
|
||||||
a-DE: No keywords found.
|
|
||||||
ar-a-aaa-b-bbb-a-ccc: No keywords found.
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_get_keywords() icu >= 4.8
|
locale_get_keywords() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU > 4.8'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -1,203 +0,0 @@
|
||||||
--TEST--
|
|
||||||
locale_parse_locale() icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try parsing different Locales
|
|
||||||
* with Procedural and Object methods.
|
|
||||||
*/
|
|
||||||
|
|
||||||
function ut_main()
|
|
||||||
{
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
$locales = array(
|
|
||||||
'uk-ua_CALIFORNIA@currency=;currency=GRN',
|
|
||||||
'root',
|
|
||||||
'uk@currency=EURO',
|
|
||||||
'Hindi',
|
|
||||||
//Simple language subtag
|
|
||||||
'de',
|
|
||||||
'fr',
|
|
||||||
'ja',
|
|
||||||
'i-enochian', //(example of a grandfathered tag)
|
|
||||||
//Language subtag plus Script subtag:
|
|
||||||
'zh-Hant',
|
|
||||||
'zh-Hans',
|
|
||||||
'sr-Cyrl',
|
|
||||||
'sr-Latn',
|
|
||||||
//Language-Script-Region
|
|
||||||
'zh-Hans-CN',
|
|
||||||
'sr-Latn-CS',
|
|
||||||
//Language-Variant
|
|
||||||
'sl-rozaj',
|
|
||||||
'sl-nedis',
|
|
||||||
//Language-Region-Variant
|
|
||||||
'de-CH-1901',
|
|
||||||
'sl-IT-nedis',
|
|
||||||
//Language-Script-Region-Variant
|
|
||||||
'sl-Latn-IT-nedis',
|
|
||||||
//Language-Region:
|
|
||||||
'de-DE',
|
|
||||||
'en-US',
|
|
||||||
'es-419',
|
|
||||||
//Private use subtags:
|
|
||||||
'de-CH-x-phonebk',
|
|
||||||
'az-Arab-x-AZE-derbend',
|
|
||||||
//Extended language subtags
|
|
||||||
'zh-min',
|
|
||||||
'zh-min-nan-Hant-CN',
|
|
||||||
//Private use registry values
|
|
||||||
'qaa-Qaaa-QM-x-southern',
|
|
||||||
'sr-Latn-QM',
|
|
||||||
'sr-Qaaa-CS',
|
|
||||||
/*Tags that use extensions (examples ONLY: extensions MUST be defined
|
|
||||||
by revision or update to this document or by RFC): */
|
|
||||||
'en-US-u-islamCal',
|
|
||||||
'zh-CN-a-myExt-x-private',
|
|
||||||
'en-a-myExt-b-another',
|
|
||||||
//Some Invalid Tags:
|
|
||||||
'de-419-DE',
|
|
||||||
'a-DE',
|
|
||||||
'ar-a-aaa-b-bbb-a-ccc'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$res_str = '';
|
|
||||||
|
|
||||||
foreach( $locales as $locale )
|
|
||||||
{
|
|
||||||
$arr = ut_loc_locale_parse( $locale);
|
|
||||||
$res_str .= "---------------------\n";
|
|
||||||
$res_str .= "$locale:\n";
|
|
||||||
if( $arr){
|
|
||||||
foreach( $arr as $key => $value){
|
|
||||||
$res_str .= "$key : '$value' , ";
|
|
||||||
}
|
|
||||||
$res_str = rtrim($res_str);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$res_str .= "No values found from Locale parsing.";
|
|
||||||
}
|
|
||||||
$res_str .= "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$res_str .= "\n";
|
|
||||||
return $res_str;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
include_once( 'ut_common.inc' );
|
|
||||||
ut_run();
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
---------------------
|
|
||||||
uk-ua_CALIFORNIA@currency=;currency=GRN:
|
|
||||||
language : 'uk' , region : 'UA' , variant0 : 'CALIFORNIA' ,
|
|
||||||
---------------------
|
|
||||||
root:
|
|
||||||
language : 'root' ,
|
|
||||||
---------------------
|
|
||||||
uk@currency=EURO:
|
|
||||||
language : 'uk' ,
|
|
||||||
---------------------
|
|
||||||
Hindi:
|
|
||||||
language : 'hindi' ,
|
|
||||||
---------------------
|
|
||||||
de:
|
|
||||||
language : 'de' ,
|
|
||||||
---------------------
|
|
||||||
fr:
|
|
||||||
language : 'fr' ,
|
|
||||||
---------------------
|
|
||||||
ja:
|
|
||||||
language : 'ja' ,
|
|
||||||
---------------------
|
|
||||||
i-enochian:
|
|
||||||
grandfathered : 'i-enochian' ,
|
|
||||||
---------------------
|
|
||||||
zh-Hant:
|
|
||||||
language : 'zh' , script : 'Hant' ,
|
|
||||||
---------------------
|
|
||||||
zh-Hans:
|
|
||||||
language : 'zh' , script : 'Hans' ,
|
|
||||||
---------------------
|
|
||||||
sr-Cyrl:
|
|
||||||
language : 'sr' , script : 'Cyrl' ,
|
|
||||||
---------------------
|
|
||||||
sr-Latn:
|
|
||||||
language : 'sr' , script : 'Latn' ,
|
|
||||||
---------------------
|
|
||||||
zh-Hans-CN:
|
|
||||||
language : 'zh' , script : 'Hans' , region : 'CN' ,
|
|
||||||
---------------------
|
|
||||||
sr-Latn-CS:
|
|
||||||
language : 'sr' , script : 'Latn' , region : 'CS' ,
|
|
||||||
---------------------
|
|
||||||
sl-rozaj:
|
|
||||||
language : 'sl' ,%r( region : 'ROZAJ' ,)?%r
|
|
||||||
---------------------
|
|
||||||
sl-nedis:
|
|
||||||
language : 'sl' ,%r( region : 'NEDIS' ,)?%r
|
|
||||||
---------------------
|
|
||||||
de-CH-1901:
|
|
||||||
language : 'de' , region : 'CH' , variant0 : '1901' ,
|
|
||||||
---------------------
|
|
||||||
sl-IT-nedis:
|
|
||||||
language : 'sl' , region : 'IT' , variant0 : 'NEDIS' ,
|
|
||||||
---------------------
|
|
||||||
sl-Latn-IT-nedis:
|
|
||||||
language : 'sl' , script : 'Latn' , region : 'IT' , variant0 : 'NEDIS' ,
|
|
||||||
---------------------
|
|
||||||
de-DE:
|
|
||||||
language : 'de' , region : 'DE' ,
|
|
||||||
---------------------
|
|
||||||
en-US:
|
|
||||||
language : 'en' , region : 'US' ,
|
|
||||||
---------------------
|
|
||||||
es-419:
|
|
||||||
language : 'es' , region : '419' ,
|
|
||||||
---------------------
|
|
||||||
de-CH-x-phonebk:
|
|
||||||
language : 'de' , region : 'CH' , private0 : 'phonebk' ,
|
|
||||||
---------------------
|
|
||||||
az-Arab-x-AZE-derbend:
|
|
||||||
language : 'az' , script : 'Arab' , private0 : 'AZE' , private1 : 'derbend' ,
|
|
||||||
---------------------
|
|
||||||
zh-min:
|
|
||||||
grandfathered : 'zh-min' ,
|
|
||||||
---------------------
|
|
||||||
zh-min-nan-Hant-CN:
|
|
||||||
language : 'zh' , region : 'MIN' , variant0 : 'NAN' , variant1 : 'HANT' , variant2 : 'CN' ,
|
|
||||||
---------------------
|
|
||||||
qaa-Qaaa-QM-x-southern:
|
|
||||||
language : 'qaa' , script : 'Qaaa' , region : 'QM' , private0 : 'southern' ,
|
|
||||||
---------------------
|
|
||||||
sr-Latn-QM:
|
|
||||||
language : 'sr' , script : 'Latn' , region : 'QM' ,
|
|
||||||
---------------------
|
|
||||||
sr-Qaaa-CS:
|
|
||||||
language : 'sr' , script : 'Qaaa' , region : 'CS' ,
|
|
||||||
---------------------
|
|
||||||
en-US-u-islamCal:
|
|
||||||
language : 'en' , region : 'US' ,
|
|
||||||
---------------------
|
|
||||||
zh-CN-a-myExt-x-private:
|
|
||||||
language : 'zh' , region : 'CN' , private0 : 'private' ,
|
|
||||||
---------------------
|
|
||||||
en-a-myExt-b-another:
|
|
||||||
language : 'en' ,
|
|
||||||
---------------------
|
|
||||||
de-419-DE:
|
|
||||||
language : 'de' , region : '419' , variant0 : 'DE' ,
|
|
||||||
---------------------
|
|
||||||
a-DE:
|
|
||||||
No values found from Locale parsing.
|
|
||||||
---------------------
|
|
||||||
ar-a-aaa-b-bbb-a-ccc:
|
|
||||||
language : 'ar' ,
|
|
|
@ -2,7 +2,6 @@
|
||||||
locale_parse_locale() icu >= 4.8
|
locale_parse_locale() icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,6 @@ Bug #70484 selectordinal doesn't work with named parameters
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '5.0') < 0)
|
|
||||||
die('skip for ICU 5.0+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -1,132 +0,0 @@
|
||||||
--TEST--
|
|
||||||
msgfmt creation failures icu <= 4.2
|
|
||||||
--SKIPIF--
|
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function err($fmt) {
|
|
||||||
if(!$fmt) {
|
|
||||||
echo var_export(intl_get_error_message(), true)."\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function print_exception($e) {
|
|
||||||
echo "\n" . get_class($e) . ": " . $e->getMessage()
|
|
||||||
. " in " . $e->getFile() . " on line " . $e->getLine() . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
function crt($t, $l, $s) {
|
|
||||||
switch(true) {
|
|
||||||
case $t == "O":
|
|
||||||
try {
|
|
||||||
return new MessageFormatter($l, $s);
|
|
||||||
} catch (Throwable $e) {
|
|
||||||
print_exception($e);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case $t == "C":
|
|
||||||
return MessageFormatter::create($l, $s);
|
|
||||||
break;
|
|
||||||
case $t == "P":
|
|
||||||
return msgfmt_create($l, $s);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$args = array(
|
|
||||||
array(null, null),
|
|
||||||
array("whatever", "{0,whatever}"),
|
|
||||||
array(array(), array()),
|
|
||||||
array("en", "{0,choice}"),
|
|
||||||
array("fr", "{0,"),
|
|
||||||
array("en_US", "\xD0"),
|
|
||||||
);
|
|
||||||
|
|
||||||
try {
|
|
||||||
$fmt = new MessageFormatter();
|
|
||||||
} catch (TypeError $e) {
|
|
||||||
print_exception($e);
|
|
||||||
$fmt = null;
|
|
||||||
}
|
|
||||||
err($fmt);
|
|
||||||
$fmt = msgfmt_create();
|
|
||||||
err($fmt);
|
|
||||||
$fmt = MessageFormatter::create();
|
|
||||||
err($fmt);
|
|
||||||
try {
|
|
||||||
$fmt = new MessageFormatter('en');
|
|
||||||
} catch (TypeError $e) {
|
|
||||||
print_exception($e);
|
|
||||||
$fmt = null;
|
|
||||||
}
|
|
||||||
err($fmt);
|
|
||||||
$fmt = msgfmt_create('en');
|
|
||||||
err($fmt);
|
|
||||||
$fmt = MessageFormatter::create('en');
|
|
||||||
err($fmt);
|
|
||||||
|
|
||||||
foreach($args as $arg) {
|
|
||||||
$fmt = crt("O", $arg[0], $arg[1]);
|
|
||||||
err($fmt);
|
|
||||||
$fmt = crt("C", $arg[0], $arg[1]);
|
|
||||||
err($fmt);
|
|
||||||
$fmt = crt("P", $arg[0], $arg[1]);
|
|
||||||
err($fmt);
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
TypeError: MessageFormatter::__construct() expects exactly 2 parameters, 0 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: msgfmt_create() expects exactly 2 parameters, 0 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: MessageFormatter::create() expects exactly 2 parameters, 0 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
TypeError: MessageFormatter::__construct() expects exactly 2 parameters, 1 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: msgfmt_create() expects exactly 2 parameters, 1 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: MessageFormatter::create() expects exactly 2 parameters, 1 given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
IntlException: Constructor failed in %smsgfmt_fail2.php on line %d
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
IntlException: Constructor failed in %smsgfmt_fail2.php on line %d
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
TypeError: MessageFormatter::__construct() expects parameter 1 to be string, array given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: MessageFormatter::create() expects parameter 1 to be string, array given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
Warning: msgfmt_create() expects parameter 1 to be string, array given in %s on line %d
|
|
||||||
'msgfmt_create: unable to parse input parameters: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
IntlException: Constructor failed in %smsgfmt_fail2.php on line %d
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
|
|
||||||
|
|
||||||
IntlException: Constructor failed in %smsgfmt_fail2.php on line %d
|
|
||||||
'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
|
|
||||||
'msgfmt_create: message formatter creation failed: U_UNMATCHED_BRACES'
|
|
||||||
|
|
||||||
IntlException: Constructor failed in %smsgfmt_fail2.php on line %d
|
|
||||||
'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'
|
|
||||||
'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'
|
|
||||||
'msgfmt_create: error converting pattern to UTF-16: U_INVALID_CHAR_FOUND'
|
|
|
@ -2,7 +2,6 @@
|
||||||
msgfmt creation failures icu >= 4.8
|
msgfmt creation failures icu >= 4.8
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip intl extension not loaded'; ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip for ICU >= 4.8'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() inconsistent types in named argument
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() given negative arg key
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() invalid UTF-8 for arg key or value
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() invalid type for key not in pattern
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format(): mixed named and numeric parameters
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ msgfmt_format() with subpatterns
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,6 @@ msgfmt_format() with named subpatterns
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ IntlRuleBasedBreakIterator::getBinaryRules(): basic test
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '61.1') >= 0) die('skip for ICU < 61.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '61.1') >= 0) die('skip for ICU < 61.1'); ?>
|
||||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,7 +4,6 @@ ResourceBundle constructor bundle accepts NULL for first two arguments
|
||||||
date.timezone=Atlantic/Azores
|
date.timezone=Atlantic/Azores
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '4.8') < 0) die('skip ICU >= 4.8 only'); ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -31,4 +29,4 @@ Array
|
||||||
(
|
(
|
||||||
[0] => Atlantic/Azores
|
[0] => Atlantic/Azores
|
||||||
)
|
)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): errors
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): variant without offset
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -29,4 +27,4 @@ var_dump($values2 == $values);
|
||||||
bool(true)
|
bool(true)
|
||||||
bool(true)
|
bool(true)
|
||||||
bool(true)
|
bool(true)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): variant without region
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -49,4 +47,4 @@ Array
|
||||||
[0] => Atlantic/Azores
|
[0] => Atlantic/Azores
|
||||||
[1] => Etc/GMT+1
|
[1] => Etc/GMT+1
|
||||||
)
|
)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZone(): basic test
|
||||||
<?php
|
<?php
|
||||||
if (!extension_loaded('intl'))
|
if (!extension_loaded('intl'))
|
||||||
die('skip intl extension not enabled');
|
die('skip intl extension not enabled');
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
ini_set("intl.error_level", E_WARNING);
|
ini_set("intl.error_level", E_WARNING);
|
||||||
|
@ -30,4 +28,4 @@ IntlTimeZone Object
|
||||||
[rawOffset] => 3600000
|
[rawOffset] => 3600000
|
||||||
[currentOffset] => 3600000
|
[currentOffset] => 3600000
|
||||||
)
|
)
|
||||||
==DONE==
|
==DONE==
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
IntlTimeZone::getDisplayName(): type parameter (ICU >= 49 && ICU < 50.1.2)
|
IntlTimeZone::getDisplayName(): type parameter (ICU >= 49 && ICU < 50.1.2)
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '49') < 0) die('skip for ICU 49+'); ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
--TEST--
|
|
||||||
IntlTimeZone::getDisplayName(): type parameter (ICU < 49)
|
|
||||||
--SKIPIF--
|
|
||||||
<?php
|
|
||||||
if (!extension_loaded('intl'))
|
|
||||||
die('skip intl extension not enabled');
|
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') >= 0)
|
|
||||||
die('skip for ICU < 49');
|
|
||||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
|
||||||
die('skip for ICU 4.8+');
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
ini_set("intl.error_level", E_WARNING);
|
|
||||||
ini_set("error_reporting", -1);
|
|
||||||
ini_set("display_errors", 1);
|
|
||||||
|
|
||||||
$lsb = IntlTimeZone::createTimeZone('Europe/Lisbon');
|
|
||||||
|
|
||||||
ini_set('intl.default_locale', 'en_US');
|
|
||||||
var_dump($lsb->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));
|
|
||||||
|
|
||||||
?>
|
|
||||||
==DONE==
|
|
||||||
--EXPECT--
|
|
||||||
string(3) "WET"
|
|
||||||
string(21) "Western European Time"
|
|
||||||
string(22) "Portugal Time (Lisbon)"
|
|
||||||
string(22) "Portugal Time (Lisbon)"
|
|
||||||
string(5) "+0000"
|
|
||||||
string(3) "GMT"
|
|
||||||
string(3) "GMT"
|
|
||||||
string(22) "Portugal Time (Lisbon)"
|
|
||||||
==DONE==
|
|
|
@ -2,7 +2,6 @@
|
||||||
IntlTimeZone::getDisplayName(): locale parameter
|
IntlTimeZone::getDisplayName(): locale parameter
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
<?php if (!extension_loaded('intl')) die('skip intl extension not enabled'); ?>
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '49') < 0) die('skip for ICU >= 49'); ?>
|
|
||||||
<?php if (version_compare(INTL_ICU_VERSION, '55.1') >= 0) die('skip for ICU < 55.1'); ?>
|
<?php if (version_compare(INTL_ICU_VERSION, '55.1') >= 0) die('skip for ICU < 55.1'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
--TEST--
|
|
||||||
IntlTimeZone::getDisplayName(): locale parameter
|
|
||||||
--SKIPIF--
|
|
||||||
<?php
|
|
||||||
if (!extension_loaded('intl'))
|
|
||||||
die('skip intl extension not enabled');
|
|
||||||
if (version_compare(INTL_ICU_VERSION, '49') >= 0)
|
|
||||||
die('skip for ICU <= 4.8');
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
ini_set("intl.error_level", E_WARNING);
|
|
||||||
ini_set("error_reporting", -1);
|
|
||||||
ini_set("display_errors", 1);
|
|
||||||
|
|
||||||
$lsb = IntlTimeZone::createTimeZone('Europe/Lisbon');
|
|
||||||
|
|
||||||
ini_set('intl.default_locale', 'en_US');
|
|
||||||
var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG));
|
|
||||||
var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG, NULL));
|
|
||||||
var_dump($lsb->getDisplayName(false, IntlTimeZone::DISPLAY_LONG, 'pt_PT'));
|
|
||||||
|
|
||||||
?>
|
|
||||||
==DONE==
|
|
||||||
--EXPECT--
|
|
||||||
string(21) "Western European Time"
|
|
||||||
string(21) "Western European Time"
|
|
||||||
string(24) "Hora da Europa Ocidental"
|
|
||||||
==DONE==
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue