19declare(strict_types=1);
21require_once(
"vendor/composer/vendor/autoload.php");
24use PHPUnit\Framework\TestCase;
33 $this->df =
$f->dateFormat();
38 $this->assertInstanceOf(
DateFormat\DateFormat::class, $this->df->standard());
39 $this->assertInstanceOf(
DateFormat\DateFormat::class, $this->df->germanShort());
40 $this->assertInstanceOf(
DateFormat\DateFormat::class, $this->df->germanLong());
41 $this->assertInstanceOf(
DateFormat\DateFormat::class, $this->df->americanShort());
42 $this->assertInstanceOf(
DateFormat\FormatBuilder::class, $this->df->custom());
48 '.',
',',
'-',
'/',
' ',
':',
'd',
'jS',
'l',
'D',
'W',
'm',
'F',
'M',
'Y',
'y',
'h',
'H',
'i',
's',
'a'
50 $format = $this->df->custom()
51 ->dot()->comma()->dash()->slash()->space()->colon()
52 ->day()->dayOrdinal()->weekday()->weekdayShort()
53 ->week()->month()->monthSpelled()->monthSpelledShort()
54 ->year()->twoDigitYear()
55 ->hours12()->hours24()->minutes()->seconds()->meridiem()
76 $this->expectException(InvalidArgumentException::class);
82 $dt =
new DateTimeImmutable(
"1985-04-05");
83 $format = $this->df->germanShort();
84 $this->assertEquals(
"05.04.1985", $format->applyTo($dt));
85 $this->assertEquals(
"05.04.1985", $dt->format((
string) $format));
90 $dt =
new DateTimeImmutable(
"1985-04-05 21:12:30");
91 $format = $this->df->custom()
92 ->day()->dot()->month()->dot()->year()
93 ->space()->hours12()->colon()->minutes()->space()->meridiem()
95 $this->assertEquals(
"05.04.1985 09:12 pm", $format->applyTo($dt));
96 $this->assertEquals(
"05.04.1985 09:12 pm", $dt->format((
string) $format));
97 $format = $this->df->custom()
98 ->day()->dot()->month()->dot()->year()
99 ->space()->hours24()->colon()->minutes()->colon()->seconds()
101 $this->assertEquals(
"05.04.1985 21:12:30", $format->applyTo($dt));
106 $format = $this->df->germanShort();
107 $appended = $this->df->amend($format)->dot()->dot()->get();
108 $this->assertInstanceOf(
DateFormat\DateFormat::class, $appended);
110 array_merge($format->toArray(), [
'.',
'.']),