1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Style\NumberFormat\Wizard; |
4
|
|
|
|
5
|
|
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat\Wizard\Date; |
6
|
|
|
use PHPUnit\Framework\TestCase; |
7
|
|
|
|
8
|
|
|
class DateTest extends TestCase |
9
|
|
|
{ |
10
|
|
|
/** |
11
|
|
|
* @dataProvider providerDate |
12
|
|
|
* |
13
|
|
|
* @param null|string|string[] $separators |
14
|
|
|
* @param string[] $formatBlocks |
15
|
|
|
*/ |
16
|
|
|
public function testDate(string $expectedResult, $separators, array $formatBlocks): void |
17
|
|
|
{ |
18
|
|
|
$wizard = new Date($separators, ...$formatBlocks); |
19
|
|
|
self::assertSame($expectedResult, (string) $wizard); |
20
|
|
|
} |
21
|
|
|
|
22
|
|
|
public function providerDate(): array |
23
|
|
|
{ |
24
|
|
|
return [ |
25
|
|
|
['yyyy-mm-dd', Date::SEPARATOR_DASH, [Date::YEAR_FULL, Date::MONTH_NUMBER_LONG, Date::DAY_NUMBER_LONG]], |
26
|
|
|
['mm/dd/yyyy', Date::SEPARATOR_SLASH, [Date::MONTH_NUMBER_LONG, Date::DAY_NUMBER_LONG, Date::YEAR_FULL]], |
27
|
|
|
['dd.mm.yyyy', Date::SEPARATOR_DOT, [Date::DAY_NUMBER_LONG, Date::MONTH_NUMBER_LONG, Date::YEAR_FULL]], |
28
|
|
|
['dd-mmm-yyyy', Date::SEPARATOR_DASH, [Date::DAY_NUMBER_LONG, Date::MONTH_NAME_SHORT, Date::YEAR_FULL]], |
29
|
|
|
['dd-mmm yyyy', [Date::SEPARATOR_DASH, Date::SEPARATOR_SPACE], [Date::DAY_NUMBER_LONG, Date::MONTH_NAME_SHORT, Date::YEAR_FULL]], |
30
|
|
|
['dddd dd.mm.yyyy', [Date::SEPARATOR_SPACE, Date::SEPARATOR_DOT], [Date::WEEKDAY_NAME_LONG, Date::DAY_NUMBER_LONG, Date::MONTH_NUMBER_LONG, Date::YEAR_FULL]], |
31
|
|
|
['dd-mm "in the year" yyyy', [Date::SEPARATOR_DASH, Date::SEPARATOR_SPACE], [Date::DAY_NUMBER_LONG, Date::MONTH_NUMBER_LONG, 'in the year', Date::YEAR_FULL]], |
32
|
|
|
['yyyy-mm-dd (ddd)', [Date::SEPARATOR_DASH, Date::SEPARATOR_DASH, Date::SEPARATOR_SPACE, null], [Date::YEAR_FULL, Date::MONTH_NUMBER_LONG, Date::DAY_NUMBER_LONG, '(', Date::WEEKDAY_NAME_SHORT, ')']], |
33
|
|
|
]; |
34
|
|
|
} |
35
|
|
|
} |
36
|
|
|
|