/** * @dataProvider getDayOfWeekNamesDataProvider */ public function testGetDayOfWeekNames($width, $locale, array $expected, $defaultLocale = null) { $this->ignoreIfIcuVersionGreaterThan('4.8.1.1'); $this->calendar->setLocale($locale); if (null !== $defaultLocale) { \Locale::setDefault($defaultLocale); } $this->assertEquals($expected, $this->calendar->getDayOfWeekNames($width)); }
/** * @dataProvider getDayOfWeekNamesDataProvider */ public function testGetDayOfWeekNames($width, $locale, $defaultLocale = null) { $this->calendar->setLocale($locale); if (null !== $defaultLocale) { \Locale::setDefault($defaultLocale); } $actual = $this->calendar->getDayOfWeekNames($width); $this->assertCount(7, $actual); $widthToPatternMap = array(Calendar::WIDTH_ABBREVIATED => 'ccc', Calendar::WIDTH_SHORT => 'cccccc', Calendar::WIDTH_NARROW => 'ccccc', Calendar::WIDTH_WIDE => 'cccc'); $formatter = new \IntlDateFormatter($locale, null, null, 'UTC', \IntlDateFormatter::GREGORIAN, $widthToPatternMap[$width ?: Calendar::WIDTH_WIDE]); foreach ($actual as $dayNum => $dayName) { $checkDate = new \DateTime('2013/09/0' . $dayNum, new \DateTimeZone('UTC')); $expected = $formatter->format((int) $checkDate->format('U')); $this->assertEquals($expected, $actual[$dayNum], 'Incorrect day for day #' . $dayNum); } }