summaryrefslogtreecommitdiff
path: root/ext/intl
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-03-18 11:39:16 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-03-18 11:39:16 +0100
commit433758ceb3e11df184a87e8185fbd7f8b969fb79 (patch)
tree95d504a01c6a1ba0b1efbe624c7bcecaf2128065 /ext/intl
parent4f034016289f5a52073bfd012899dd3e202742b5 (diff)
downloadphp-git-433758ceb3e11df184a87e8185fbd7f8b969fb79.tar.gz
Allow DateTimeImmutable in datefmt_format_object()
As pointed out in a comment on bug #65683.
Diffstat (limited to 'ext/intl')
-rw-r--r--ext/intl/dateformat/dateformat_format_object.cpp2
-rw-r--r--ext/intl/tests/dateformat_bug65683_2.phpt12
2 files changed, 13 insertions, 1 deletions
diff --git a/ext/intl/dateformat/dateformat_format_object.cpp b/ext/intl/dateformat/dateformat_format_object.cpp
index e96ebe8243..fa6dc76255 100644
--- a/ext/intl/dateformat/dateformat_format_object.cpp
+++ b/ext/intl/dateformat/dateformat_format_object.cpp
@@ -169,7 +169,7 @@ U_CFUNC PHP_FUNCTION(datefmt_format_object)
goto cleanup;
}
cal = obj_cal->clone();
- } else if (instanceof_function(instance_ce, php_date_get_date_ce())) {
+ } else if (instanceof_function(instance_ce, php_date_get_interface_ce())) {
if (intl_datetime_decompose(object, &date, &timeZone, NULL,
"datefmt_format_object") == FAILURE) {
RETURN_FALSE;
diff --git a/ext/intl/tests/dateformat_bug65683_2.phpt b/ext/intl/tests/dateformat_bug65683_2.phpt
new file mode 100644
index 0000000000..67d9d7884a
--- /dev/null
+++ b/ext/intl/tests/dateformat_bug65683_2.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Bug #65683: Intl does not support DateTimeImmutable (using datefmt_format_object)
+--FILE--
+<?php
+$date = date_create('1970-01-01');
+$date_imm = date_create_immutable('1970-01-01');
+var_dump(datefmt_format_object($date, null, 'fr_FR'));
+var_dump(datefmt_format_object($date_imm, null, 'fr_FR'));
+?>
+--EXPECT--
+string(24) "1 janv. 1970 à 00:00:00"
+string(24) "1 janv. 1970 à 00:00:00"