mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +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
|
||||
|
||||
- Intl:
|
||||
. Lifted requirements to ICU ≥ 50.1. (cmb)
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
|
||||
stream_socket_client). (Ville Hukkamäki)
|
||||
|
|
|
@ -51,6 +51,9 @@ PHP 7.4 UPGRADE NOTES
|
|||
9. Other Changes to Extensions
|
||||
========================================
|
||||
|
||||
- Intl:
|
||||
. The Intl extension now requires at least ICU 50.1.
|
||||
|
||||
- Reflection:
|
||||
. Numeric value of class, property, function and constant modifiers was
|
||||
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])
|
||||
|
||||
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`
|
||||
ac_IFS=$IFS
|
||||
IFS="."
|
||||
|
@ -2200,8 +2200,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
|||
icu_version=`expr [$]1 \* 1000 + [$]2`
|
||||
AC_MSG_RESULT([found $icu_version_full])
|
||||
|
||||
if test "$icu_version" -lt "4000"; then
|
||||
AC_MSG_ERROR([ICU version 4.0 or later is required])
|
||||
if test "$icu_version" -lt "50001"; then
|
||||
AC_MSG_ERROR([ICU version 50.1 or later is required])
|
||||
fi
|
||||
|
||||
ICU_VERSION=$icu_version
|
||||
|
@ -2211,10 +2211,8 @@ AC_DEFUN([PHP_SETUP_ICU],[
|
|||
PHP_EVAL_LIBLINE($ICU_LIBS, $1)
|
||||
|
||||
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_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
|
||||
fi
|
||||
ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit"
|
||||
ICU_CFLAGS="-DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
|
||||
if test "$icu_version" -ge "60000"; then
|
||||
ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1"
|
||||
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(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)
|
||||
#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)
|
||||
#endif
|
||||
PHP_FE_END
|
||||
};
|
||||
/* }}} */
|
||||
|
|
|
@ -77,7 +77,6 @@ static void _php_intlrbbi_constructor_body(INTERNAL_FUNCTION_PARAMETERS)
|
|||
return;
|
||||
}
|
||||
} else { // compiled
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
||||
rbbi = new RuleBasedBreakIterator((uint8_t*)rules, rules_len, status);
|
||||
if (U_FAILURE(status)) {
|
||||
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;
|
||||
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);
|
||||
|
@ -188,7 +182,6 @@ U_CFUNC PHP_FUNCTION(rbbi_get_rule_status_vec)
|
|||
delete[] rules;
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48
|
||||
U_CFUNC PHP_FUNCTION(rbbi_get_binary_rules)
|
||||
{
|
||||
BREAKITER_METHOD_INIT_VARS;
|
||||
|
@ -218,4 +211,3 @@ U_CFUNC PHP_FUNCTION(rbbi_get_binary_rules)
|
|||
|
||||
RETURN_STR(ret_rules);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -377,9 +377,7 @@ ZEND_END_ARG_INFO()
|
|||
static const zend_function_entry Calendar_class_functions[] = {
|
||||
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)
|
||||
#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)
|
||||
#endif
|
||||
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(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(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)
|
||||
#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)
|
||||
#endif
|
||||
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(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(getTimeZone, intlcal_get_time_zone, 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)
|
||||
#endif
|
||||
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(isLenient, intlcal_is_lenient, ainfo_cal_void, 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)
|
||||
#endif
|
||||
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(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)
|
||||
#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(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(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(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)
|
||||
|
@ -505,18 +495,14 @@ void calendar_register_IntlCalendar_class(void)
|
|||
CALENDAR_DECL_LONG_CONST("DOW_FRIDAY", UCAL_FRIDAY);
|
||||
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_WEEKEND", UCAL_WEEKEND);
|
||||
CALENDAR_DECL_LONG_CONST("DOW_TYPE_WEEKEND_OFFSET", UCAL_WEEKEND_ONSET);
|
||||
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_LAST", UCAL_WALLTIME_LAST);
|
||||
CALENDAR_DECL_LONG_CONST("WALLTIME_NEXT_VALID", UCAL_WALLTIME_NEXT_VALID);
|
||||
#endif
|
||||
|
||||
/* Create and register 'IntlGregorianCalendar' class. */
|
||||
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);
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 42
|
||||
class BugStringCharEnumeration : public StringEnumeration
|
||||
{
|
||||
public:
|
||||
|
@ -185,7 +184,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_keyword_values_for_locale)
|
|||
|
||||
IntlIterator_from_StringEnumeration(se, return_value);
|
||||
}
|
||||
#endif //ICU 4.2 only
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
||||
U_CFUNC PHP_FUNCTION(intlcal_get_day_of_week_type)
|
||||
{
|
||||
zend_long dow;
|
||||
|
@ -624,7 +621,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_day_of_week_type)
|
|||
|
||||
RETURN_LONG((zend_long)result);
|
||||
}
|
||||
#endif
|
||||
|
||||
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());
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
||||
U_CFUNC PHP_FUNCTION(intlcal_get_weekend_transition)
|
||||
{
|
||||
zend_long dow;
|
||||
|
@ -817,7 +812,6 @@ U_CFUNC PHP_FUNCTION(intlcal_get_weekend_transition)
|
|||
|
||||
RETURN_LONG((zend_long)res);
|
||||
}
|
||||
#endif
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 44
|
||||
U_CFUNC PHP_FUNCTION(intlcal_is_weekend)
|
||||
{
|
||||
double date;
|
||||
|
@ -929,7 +922,6 @@ U_CFUNC PHP_FUNCTION(intlcal_is_weekend)
|
|||
RETURN_BOOL((int)ret);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
U_CFUNC PHP_FUNCTION(intlcal_set_first_day_of_week)
|
||||
|
@ -1030,8 +1022,6 @@ U_CFUNC PHP_FUNCTION(intlcal_equals)
|
|||
RETURN_BOOL((int)result);
|
||||
}
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
|
||||
U_CFUNC PHP_FUNCTION(intlcal_get_repeated_wall_time_option)
|
||||
{
|
||||
CALENDAR_METHOD_INIT_VARS;
|
||||
|
@ -1115,8 +1105,6 @@ U_CFUNC PHP_FUNCTION(intlcal_set_skipped_wall_time_option)
|
|||
RETURN_TRUE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
U_CFUNC PHP_FUNCTION(intlcal_from_date_time)
|
||||
{
|
||||
zval *zv_arg,
|
||||
|
|
|
@ -185,12 +185,7 @@ static void _php_intlgregcal_constructor_body(
|
|||
}
|
||||
|
||||
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));
|
||||
#else
|
||||
UnicodeString tzstr = UnicodeString(tzinfo->name,
|
||||
strlen(tzinfo->name), US_INV);
|
||||
#endif
|
||||
if (tzstr.isBogus()) {
|
||||
intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR,
|
||||
"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);
|
||||
timeZone = TimeZone::createTimeZone(s);
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
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' "
|
||||
"extracted from ext/date DateTimeZone not recognized", func, id);
|
||||
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_REQUIRE_CXX()
|
||||
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 \
|
||||
intl_error.c \
|
||||
intl_convert.c \
|
||||
|
@ -68,7 +60,10 @@ if test "$PHP_INTL" != "no"; then
|
|||
transliterator/transliterator_methods.c \
|
||||
uchar/uchar.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 \
|
||||
common/common_enum.cpp \
|
||||
|
|
|
@ -18,10 +18,8 @@
|
|||
#include "zend_exceptions.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
#include <unicode/utf8.h>
|
||||
#include <unicode/utf16.h>
|
||||
#endif
|
||||
#include <unicode/ucnv.h>
|
||||
#include <unicode/ustring.h>
|
||||
|
||||
|
|
|
@ -36,10 +36,6 @@ extern "C" {
|
|||
#include "dateformat_helpers.h"
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM < 50
|
||||
#define UDAT_PATTERN 0
|
||||
#endif
|
||||
|
||||
#define INTL_UDATE_FMT_OK(i) \
|
||||
(UDAT_FULL == (i) || UDAT_LONG == (i) || \
|
||||
UDAT_MEDIUM == (i) || UDAT_SHORT == (i) || \
|
||||
|
|
|
@ -24,9 +24,7 @@
|
|||
#include "grapheme_util.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
#include <unicode/utf8.h>
|
||||
#endif
|
||||
#include <unicode/ucol.h>
|
||||
#include <unicode/ustring.h>
|
||||
#include <unicode/ubrk.h>
|
||||
|
|
|
@ -32,10 +32,6 @@
|
|||
#include "intl_convert.h"
|
||||
/* }}} */
|
||||
|
||||
#ifdef UIDNA_INFO_INITIALIZER
|
||||
#define HAVE_46_API 1 /* has UTS#46 API (introduced in ICU 4.6) */
|
||||
#endif
|
||||
|
||||
enum {
|
||||
INTL_IDN_VARIANT_2003 = 0,
|
||||
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 */
|
||||
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.
|
||||
* Ignored by the IDNA2003 implementation. (IDNA2003 always performs a BiDi check.) */
|
||||
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.
|
||||
* Ignored by the IDNA2003 implementation. */
|
||||
REGISTER_LONG_CONSTANT("IDNA_NONTRANSITIONAL_TO_UNICODE", UIDNA_NONTRANSITIONAL_TO_UNICODE, CONST_CS | CONST_PERSISTENT);
|
||||
#endif
|
||||
|
||||
/* VARIANTS */
|
||||
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);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_46_API
|
||||
/* PINFO ERROR CODES */
|
||||
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);
|
||||
|
@ -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_BIDI", UIDNA_ERROR_BIDI, 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);
|
||||
}
|
||||
|
||||
#ifdef HAVE_46_API
|
||||
static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
|
||||
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);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void php_intl_idn_to(INTERNAL_FUNCTION_PARAMETERS,
|
||||
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... */
|
||||
}
|
||||
|
||||
#ifdef HAVE_46_API
|
||||
if (variant != INTL_IDN_VARIANT_2003 && variant != INTL_IDN_VARIANT_UTS46) {
|
||||
php_intl_bad_args("invalid variant, must be one of {"
|
||||
"INTL_IDNA_VARIANT_2003, INTL_IDNA_VARIANT_UTS46}");
|
||||
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) {
|
||||
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) {
|
||||
php_intl_idn_to(INTERNAL_FUNCTION_PARAM_PASSTHRU, domain, (uint32_t)option, mode);
|
||||
}
|
||||
#ifdef HAVE_46_API
|
||||
else {
|
||||
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]]])
|
||||
|
|
|
@ -25,10 +25,6 @@
|
|||
#include "../intl_error.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"
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -44,10 +44,6 @@ extern "C" {
|
|||
#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
|
||||
/**
|
||||
* This class isolates our access to private internal methods of
|
||||
|
@ -58,9 +54,7 @@ class MessageFormatAdapter {
|
|||
public:
|
||||
static const Formattable::Type* getArgTypeList(const MessageFormat& m,
|
||||
int32_t& count);
|
||||
#ifdef HAS_MESSAGE_PATTERN
|
||||
static const MessagePattern getMessagePattern(MessageFormat* m);
|
||||
#endif
|
||||
};
|
||||
|
||||
const Formattable::Type*
|
||||
|
@ -69,21 +63,17 @@ MessageFormatAdapter::getArgTypeList(const MessageFormat& m,
|
|||
return m.getArgTypeList(count);
|
||||
}
|
||||
|
||||
#ifdef HAS_MESSAGE_PATTERN
|
||||
const MessagePattern
|
||||
MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
|
||||
return m->msgPattern;
|
||||
}
|
||||
#endif
|
||||
U_NAMESPACE_END
|
||||
|
||||
using icu::Formattable;
|
||||
using icu::Format;
|
||||
using icu::DateFormat;
|
||||
using icu::MessageFormat;
|
||||
#ifdef HAS_MESSAGE_PATTERN
|
||||
using icu::MessagePattern;
|
||||
#endif
|
||||
using icu::MessageFormatAdapter;
|
||||
using icu::FieldPosition;
|
||||
|
||||
|
@ -138,7 +128,6 @@ static HashTable *umsg_get_numeric_types(MessageFormatter_object *mfo,
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef HAS_MESSAGE_PATTERN
|
||||
static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||
const MessagePattern& mp,
|
||||
intl_error& err)
|
||||
|
@ -265,10 +254,8 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
|||
type = Formattable::kDouble;
|
||||
} else if (argType == UMSGPAT_ARG_TYPE_SELECT) {
|
||||
type = Formattable::kString;
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 50
|
||||
} else if (argType == UMSGPAT_ARG_TYPE_SELECTORDINAL) {
|
||||
type = Formattable::kDouble;
|
||||
#endif
|
||||
} else {
|
||||
type = Formattable::kString;
|
||||
}
|
||||
|
@ -295,26 +282,15 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
|||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static HashTable *umsg_get_types(MessageFormatter_object *mfo,
|
||||
intl_error& err)
|
||||
{
|
||||
MessageFormat *mf = (MessageFormat *)mfo->mf_data.umsgf;
|
||||
|
||||
#ifdef HAS_MESSAGE_PATTERN
|
||||
const MessagePattern mp = MessageFormatAdapter::getMessagePattern(mf);
|
||||
|
||||
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,
|
||||
|
|
|
@ -28,9 +28,7 @@
|
|||
#include "normalizer_class.h"
|
||||
#include "normalizer_normalize.h"
|
||||
#include "intl_convert.h"
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
#include <unicode/utf8.h>
|
||||
#endif
|
||||
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 56
|
||||
|
|
|
@ -87,12 +87,10 @@
|
|||
#include "idn/idn.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.h"
|
||||
# include "spoofchecker/spoofchecker_create.h"
|
||||
# include "spoofchecker/spoofchecker_main.h"
|
||||
#endif
|
||||
|
||||
#include "msgformat/msgformat.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_get_id, arginfo_tz_only_tz )
|
||||
PHP_FE( intltz_get_gmt, arginfo_tz_void )
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 49
|
||||
PHP_FE( intltz_get_unknown, arginfo_tz_void )
|
||||
#endif
|
||||
PHP_FE( intltz_create_enumeration, arginfo_tz_create_enumeration )
|
||||
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 )
|
||||
#endif
|
||||
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 )
|
||||
#endif
|
||||
PHP_FE( intltz_get_tz_data_version, arginfo_tz_void )
|
||||
PHP_FE( intltz_get_equivalent_id, arginfo_tz_get_equivalent_id )
|
||||
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( 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 )
|
||||
#endif
|
||||
PHP_FE( intlcal_get_now, ainfo_cal_void )
|
||||
PHP_FE( intlcal_get_available_locales, ainfo_cal_void )
|
||||
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_get_actual_maximum, 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 )
|
||||
#endif
|
||||
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_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_time_zone, 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 )
|
||||
#endif
|
||||
PHP_FE( intlcal_in_daylight_time, ainfo_cal_only_cal )
|
||||
PHP_FE( intlcal_is_equivalent_to, ainfo_cal_other_cal )
|
||||
PHP_FE( intlcal_is_lenient, ainfo_cal_only_cal )
|
||||
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 )
|
||||
#endif
|
||||
PHP_FE( intlcal_set_first_day_of_week, ainfo_cal_dow )
|
||||
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_equals, ainfo_cal_other_cal )
|
||||
PHP_FE( intlcal_from_date_time, ainfo_cal_from_date_time )
|
||||
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_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_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_message, ainfo_cal_only_cal )
|
||||
|
||||
|
@ -972,13 +954,11 @@ PHP_MINIT_FUNCTION( intl )
|
|||
/* Expose IDN constants to PHP scripts. */
|
||||
idn_register_constants(INIT_FUNC_ARGS_PASSTHRU);
|
||||
|
||||
#if U_ICU_VERSION_MAJOR_NUM * 1000 + U_ICU_VERSION_MINOR_NUM >= 4002
|
||||
/* Register 'Spoofchecker' PHP class */
|
||||
spoofchecker_register_Spoofchecker_class( );
|
||||
|
||||
/* Expose Spoofchecker constants to PHP scripts */
|
||||
spoofchecker_register_constants( INIT_FUNC_ARGS_PASSTHRU );
|
||||
#endif
|
||||
|
||||
/* Register 'IntlException' PHP class */
|
||||
intl_register_IntlException_class( );
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
IntlRuleBasedBreakIterator::__construct(): arg errors
|
||||
--SKIPIF--
|
||||
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
||||
<?php if(version_compare(INTL_ICU_VERSION, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
Bug #62070: Collator::getSortKey() returns garbage
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::createInstance() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::createInstance() argument variations
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,8 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0 || version_compare(INTL_ICU_VERSION, '52.1') >= 0)
|
||||
die('skip for ICU >= 4.4 and ICU < 52.1');
|
||||
if (version_compare(INTL_ICU_VERSION, '52.1') >= 0)
|
||||
die('skip for ICU < 52.1');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
||||
die('skip for ICU 4.4+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getKeywordValuesForLocale() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.2') < 0)
|
||||
die('skip for ICU 4.2+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getKeywordValuesForLocale(): bad arguments
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.2') < 0)
|
||||
die('skip for ICU 4.2+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getLocale() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getMinimalDaysInFirstWeek() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
||||
die('skip for ICU 49+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::getTimeZone() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
||||
die('skip for ICU 4.4+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
||||
die('skip for ICU 4.4+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::get/setRepeatedWallTimeOption(): basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
||||
die('skip for ICU 49+');
|
||||
--FILE--
|
||||
|
||||
<?php
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::get/setSkippedWallTimeOption(): basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
||||
die('skip for ICU 49+');
|
||||
--FILE--
|
||||
|
||||
<?php
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
||||
die('skip for ICU 4.4+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.4') < 0)
|
||||
die('skip for ICU 4.4+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '49') < 0)
|
||||
die('skip for ICU 49+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlCalendar::setTimeZone() basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -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
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
collator_get_sort_key()
|
||||
--SKIPIF--
|
||||
<?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 */
|
||||
if (version_compare(INTL_ICU_VERSION, '51.2') >= 0) die('skip for ICU < 51.2'); ?>
|
||||
--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
|
||||
--SKIPIF--
|
||||
<?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--
|
||||
<?php
|
||||
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
|
||||
--SKIPIF--
|
||||
<?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--
|
||||
|
||||
<?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
|
||||
--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, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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, '52.1') >= 0) die('skip for ICU <= 52.1'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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'; ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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 (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlGregorianCalendar::__construct(): basic
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
INTL_ICU_DATA_VERSION constant
|
||||
--SKIPIF--
|
||||
<?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--
|
||||
<?php
|
||||
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
|
||||
--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, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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, '50.1.2') >= 0) die('skip for ICU < 50.1.2'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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, '50.1.2') >= 0) die('skip for ICU <= 50.1.2'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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'; ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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'; ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--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'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@ Bug #70484 selectordinal doesn't work with named parameters
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '5.0') < 0)
|
||||
die('skip for ICU 5.0+');
|
||||
--FILE--
|
||||
<?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
|
||||
--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'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() inconsistent types in named argument
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() given negative arg key
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() invalid UTF-8 for arg key or value
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format() invalid type for key not in pattern
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ MessageFormatter::format(): mixed named and numeric parameters
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -6,8 +6,6 @@ date.timezone=Atlantic/Azores
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ msgfmt_format() with subpatterns
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
|
|
@ -4,8 +4,6 @@ msgfmt_format() with named subpatterns
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ IntlRuleBasedBreakIterator::getBinaryRules(): basic test
|
|||
--SKIPIF--
|
||||
<?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, '4.8') < 0) print 'skip ICU >= 4.8 only'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,7 +4,6 @@ ResourceBundle constructor bundle accepts NULL for first two arguments
|
|||
date.timezone=Atlantic/Azores
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): errors
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): variant without offset
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZoneIDEnumeration(): variant without region
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -4,8 +4,6 @@ IntlTimeZone::createTimeZone(): basic test
|
|||
<?php
|
||||
if (!extension_loaded('intl'))
|
||||
die('skip intl extension not enabled');
|
||||
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
|
||||
die('skip for ICU 4.8+');
|
||||
--FILE--
|
||||
<?php
|
||||
ini_set("intl.error_level", E_WARNING);
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
IntlTimeZone::getDisplayName(): type parameter (ICU >= 49 && ICU < 50.1.2)
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?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
|
||||
--SKIPIF--
|
||||
<?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'); ?>
|
||||
--FILE--
|
||||
<?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