25 if (defined(
'HHVM_VERSION')) {
26 $this->markTestSkipped(
'Skip this test for hhvm due to problem with \IntlDateFormatter::formatObject');
29 $this->localeResolverMock = $this->getMockBuilder(\
Magento\Framework\Locale\ResolverInterface::class)
30 ->disableOriginalConstructor()
32 $this->localeResolverMock->expects($this->any())
34 ->willReturn(
'fr-FR');
46 $dateTimeFormatter = $this->objectManager->getObject(
49 'useIntlFormatObject' => $useIntlFormatObject,
53 $reflection = new \ReflectionClass(get_class($dateTimeFormatter));
54 $reflectionProperty = $reflection->getProperty(
'localeResolver');
55 $reflectionProperty->setAccessible(
true);
56 $reflectionProperty->setValue($dateTimeFormatter, $this->localeResolverMock);
59 \IntlDateFormatter::formatObject(
62 (
null === $locale) ?
'fr-FR' : $locale
64 $dateTimeFormatter->formatObject($object,
$format, $locale)
73 $date = new \DateTime(
'2013-06-06 17:05:06 Europe/Dublin');
74 $calendar = \IntlCalendar::fromDateTime(
'2013-06-06 17:05:06 Europe/Dublin');
78 [$date, \IntlDateFormatter::FULL,
null],
79 [$date,
null,
'en-US'],
80 [$date, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL],
'en-US'],
81 [$date,
'E y-MM-d HH,mm,ss.SSS v',
'en-US'],
82 [$date, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL],
null],
83 [$date,
"d 'of' MMMM y",
'en_US'],
84 [new \DateTime(
'2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL,
'es_ES'],
85 [new \DateTime(
'2013-09-09 09:09:09 -01:00'),
null,
null],
86 [new \DateTime(
'2013-09-09 09:09:09 +01:00'),
null,
null],
87 [$calendar,
null,
null],
88 [$calendar, \IntlDateFormatter::FULL,
null],
89 [$calendar,
null,
'en-US'],
90 [$calendar, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL],
'en-US'],
91 [$calendar,
'E y-MM-d HH,mm,ss.SSS v',
'en-US'],
92 [$calendar, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL],
null],
93 [$calendar,
"d 'of' MMMM y",
'en_US'],
94 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL,
'es_ES'],
95 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 -01:00'),
null,
null],
96 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 +01:00'),
null,
null],
97 [$date,
null,
null,
true],
98 [$date, \IntlDateFormatter::FULL,
null,
true],
99 [$date,
null,
'en-US',
true],
100 [$date, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL],
'en-US',
true],
101 [$date,
'E y-MM-d HH,mm,ss.SSS v',
'en-US',
true],
102 [$date, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL],
null,
true],
103 [$date,
"d 'of' MMMM y",
'en_US',
true],
104 [new \DateTime(
'2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL,
'es_ES',
true],
105 [new \DateTime(
'2013-09-09 09:09:09 -01:00'),
null,
null,
true],
106 [new \DateTime(
'2013-09-09 09:09:09 +01:00'),
null,
null,
true],
107 [$calendar,
null,
null,
true],
108 [$calendar, \IntlDateFormatter::FULL,
null,
true],
109 [$calendar,
null,
'en-US',
true],
110 [$calendar, [\IntlDateFormatter::SHORT, \IntlDateFormatter::FULL],
'en-US',
true],
111 [$calendar,
'E y-MM-d HH,mm,ss.SSS v',
'en-US',
true],
112 [$calendar, [\IntlDateFormatter::NONE, \IntlDateFormatter::FULL],
null,
true],
113 [$calendar,
"d 'of' MMMM y",
'en_US',
true],
114 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 Europe/Madrid'), \IntlDateFormatter::FULL,
'es_ES',
true],
115 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 -01:00'),
null,
null,
true],
116 [\IntlCalendar::fromDateTime(
'2013-09-09 09:09:09 +01:00'),
null,
null,
true],
126 $dateTimeFormatter = $this->objectManager->getObject(
129 'useIntlFormatObject' =>
false,
133 $reflection = new \ReflectionClass(get_class($dateTimeFormatter));
134 $reflectionProperty = $reflection->getProperty(
'localeResolver');
135 $reflectionProperty->setAccessible(
true);
136 $reflectionProperty->setValue($dateTimeFormatter, $this->localeResolverMock);
137 $dateTimeFormatter->formatObject(
new \
DateTime(
'2013-06-06 17:05:06 Europe/Dublin'),
new \StdClass());