diff --git a/tests/Modifiers/FormatTest.php b/tests/Modifiers/FormatTest.php new file mode 100644 index 0000000000..ccd78caed1 --- /dev/null +++ b/tests/Modifiers/FormatTest.php @@ -0,0 +1,29 @@ +set('statamic.system.display_timezone', 'Europe/Berlin'); // +1 hour + } + + #[Test] + public function it_formats_date() + { + $this->assertSame('1st January 2025 3:45pm', $this->modify(Carbon::parse('2025-01-01 15:45'), 'jS F Y g:ia')); + } + + public function modify($value, $format) + { + return Modify::value($value)->format($format)->fetch(); + } +} diff --git a/tests/Modifiers/FormatTranslatedTest.php b/tests/Modifiers/FormatTranslatedTest.php new file mode 100644 index 0000000000..9bcc6752b8 --- /dev/null +++ b/tests/Modifiers/FormatTranslatedTest.php @@ -0,0 +1,31 @@ +set('statamic.system.display_timezone', 'Europe/Berlin'); // +1 hour + } + + #[Test] + public function it_formats_date() + { + $this->assertSame('Mittwoch 1 Januar 2025, 15:45', $this->modify(Carbon::parse('2025-01-01 15:45'), 'l j F Y, H:i')); + } + + public function modify($value, $format) + { + return Modify::value($value)->formatTranslated($format)->fetch(); + } +} diff --git a/tests/Modifiers/IsoFormatTest.php b/tests/Modifiers/IsoFormatTest.php new file mode 100644 index 0000000000..34957a278e --- /dev/null +++ b/tests/Modifiers/IsoFormatTest.php @@ -0,0 +1,29 @@ +set('statamic.system.display_timezone', 'Europe/Berlin'); // +1 hour + } + + #[Test] + public function it_formats_date() + { + $this->assertSame('2025.01.01 15:45', $this->modify(Carbon::parse('2025-01-01 15:45'), 'YYYY.MM.DD HH:mm')); + } + + public function modify($value, $format) + { + return Modify::value($value)->isoFormat($format)->fetch(); + } +} diff --git a/tests/Modifiers/ModifyDateTest.php b/tests/Modifiers/ModifyDateTest.php new file mode 100644 index 0000000000..1185afd6a1 --- /dev/null +++ b/tests/Modifiers/ModifyDateTest.php @@ -0,0 +1,22 @@ +assertEquals($this->modify(Carbon::parse('2025-01-01'), '+2 months')->format('Y-m-d'), '2025-03-01'); + } + + public function modify($value, $modify) + { + return Modify::value($value)->modifyDate($modify)->fetch(); + } +} diff --git a/tests/Modifiers/TimezoneTest.php b/tests/Modifiers/TimezoneTest.php new file mode 100644 index 0000000000..01e694c939 --- /dev/null +++ b/tests/Modifiers/TimezoneTest.php @@ -0,0 +1,25 @@ +assertEquals( + $this->modify(Carbon::parse('2025-01-01 15:45'), 'Europe/Berlin')->format('Y-m-d H:i'), + '2025-01-01 16:45' + ); + } + + public function modify($value, $timezone) + { + return Modify::value($value)->timezone($timezone)->fetch(); + } +}