summaryrefslogtreecommitdiff
path: root/ext/intl/tests/dateformat_format_relative.phpt
diff options
context:
space:
mode:
authorMáté Kocsis <kocsismate@woohoolabs.com>2020-01-22 00:13:29 +0100
committerMáté Kocsis <kocsismate@woohoolabs.com>2020-01-22 19:59:40 +0100
commit476636841f450cf90c4a2a9516160303f0df3cb7 (patch)
tree4bbaefeeb14c7f78c0c6aba9818e5fc14c56e201 /ext/intl/tests/dateformat_format_relative.phpt
parent3987a31130edcad36b2fff42d13bed66c1f6ba1c (diff)
downloadphp-git-476636841f450cf90c4a2a9516160303f0df3cb7.tar.gz
Fix #78649 Provide ICU RELATIVE_ constants
Closes GH-5105
Diffstat (limited to 'ext/intl/tests/dateformat_format_relative.phpt')
-rw-r--r--ext/intl/tests/dateformat_format_relative.phpt72
1 files changed, 72 insertions, 0 deletions
diff --git a/ext/intl/tests/dateformat_format_relative.phpt b/ext/intl/tests/dateformat_format_relative.phpt
new file mode 100644
index 0000000000..f8e28220e5
--- /dev/null
+++ b/ext/intl/tests/dateformat_format_relative.phpt
@@ -0,0 +1,72 @@
+--TEST--
+datefmt_format_code() with relative formats
+--SKIPIF--
+<?php if (!extension_loaded("intl")) print "skip"; ?>
+--FILE--
+<?php
+
+printFormat(IntlDateFormatter::RELATIVE_FULL, IntlDateFormatter::NONE, getYesterday());
+printFormat(IntlDateFormatter::RELATIVE_LONG, IntlDateFormatter::NONE, getYesterday());
+printFormat(IntlDateFormatter::RELATIVE_MEDIUM, IntlDateFormatter::NONE, getYesterday());
+printFormat(IntlDateFormatter::RELATIVE_SHORT, IntlDateFormatter::NONE, getYesterday());
+
+printFormat(IntlDateFormatter::RELATIVE_FULL, IntlDateFormatter::NONE, getToday());
+printFormat(IntlDateFormatter::RELATIVE_LONG, IntlDateFormatter::NONE, getToday());
+printFormat(IntlDateFormatter::RELATIVE_MEDIUM, IntlDateFormatter::NONE, getToday());
+printFormat(IntlDateFormatter::RELATIVE_SHORT, IntlDateFormatter::NONE, getToday());
+
+printFormat(IntlDateFormatter::RELATIVE_FULL, IntlDateFormatter::NONE, getTomorrow());
+printFormat(IntlDateFormatter::RELATIVE_LONG, IntlDateFormatter::NONE, getTomorrow());
+printFormat(IntlDateFormatter::RELATIVE_MEDIUM, IntlDateFormatter::NONE, getTomorrow());
+printFormat(IntlDateFormatter::RELATIVE_SHORT, IntlDateFormatter::NONE, getTomorrow());
+
+printFormat(IntlDateFormatter::RELATIVE_FULL, IntlDateFormatter::NONE, getDayInPast());
+printFormat(IntlDateFormatter::RELATIVE_LONG, IntlDateFormatter::NONE, getDayInPast());
+printFormat(IntlDateFormatter::RELATIVE_MEDIUM, IntlDateFormatter::NONE, getDayInPast());
+printFormat(IntlDateFormatter::RELATIVE_SHORT, IntlDateFormatter::NONE, getDayInPast());
+
+function printFormat(int $dateFormat, int $timeFormat, DateTimeImmutable $time) {
+ $formatter = new IntlDateFormatter(
+ "en_US",
+ $dateFormat,
+ $timeFormat,
+ "America/Los_Angeles",
+ IntlDateFormatter::GREGORIAN
+ );
+
+ echo $formatter->format($time) . "\n";
+}
+
+function getToday(): DateTimeImmutable {
+ return new DateTimeImmutable();
+}
+
+function getYesterday(): DateTimeImmutable {
+ return new DateTimeImmutable("-1 day");
+}
+
+function getTomorrow(): DateTimeImmutable {
+ return new DateTimeImmutable("+1 day");
+}
+
+function getDayInPast(): DateTimeImmutable {
+ return new DateTimeImmutable("2020-01-20 20:20:20", new DateTimeZone("UTC"));
+}
+
+--EXPECT--
+yesterday
+yesterday
+yesterday
+yesterday
+today
+today
+today
+today
+tomorrow
+tomorrow
+tomorrow
+tomorrow
+Monday, January 20, 2020
+January 20, 2020
+Jan 20, 2020
+1/20/20