From 076e22a41585d159596f1134d4a878bfd5421d8b Mon Sep 17 00:00:00 2001 From: Awilum Date: Mon, 11 Jul 2022 13:45:10 +0300 Subject: [PATCH] feat(expressions): add `date` expression function --- .../Entries/Expressions/DateExpression.php | 30 +++++++++++++++++++ .../Expressions/DateExpressionTest.php | 19 ++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/flextype/core/Entries/Expressions/DateExpression.php create mode 100644 tests/src/flextype/core/Entries/Expressions/DateExpressionTest.php diff --git a/src/flextype/core/Entries/Expressions/DateExpression.php b/src/flextype/core/Entries/Expressions/DateExpression.php new file mode 100644 index 00000000..fba47949 --- /dev/null +++ b/src/flextype/core/Entries/Expressions/DateExpression.php @@ -0,0 +1,30 @@ + '\date($format, $timestamp)', static fn (array $arguments, string $format, ?int $timestamp = null): string => \date($format, $timestamp))]; + } +} diff --git a/tests/src/flextype/core/Entries/Expressions/DateExpressionTest.php b/tests/src/flextype/core/Entries/Expressions/DateExpressionTest.php new file mode 100644 index 00000000..ea154e4d --- /dev/null +++ b/tests/src/flextype/core/Entries/Expressions/DateExpressionTest.php @@ -0,0 +1,19 @@ +directory(FLEXTYPE_PATH_PROJECT . '/entries')->create(); +}); + +afterEach(function (): void { + filesystem()->directory(FLEXTYPE_PATH_PROJECT . '/entries')->delete(); +}); + +test('date expression', function () { + $date = date("F j, Y, g:i a"); + entries()->create('date', ['test' => '[[ date("F j, Y, g:i a") ]]']); + expect(entries()->fetch('date')['test'])->toBe($date); +}); \ No newline at end of file