configure am/pm time-format as user preference (#2789)

This commit is contained in:
Kevin Papst
2021-11-14 18:18:26 +01:00
committed by GitHub
parent dce0578a2b
commit 8b0962e192
32 changed files with 216 additions and 260 deletions

View File

@@ -15,6 +15,7 @@ use App\Entity\User;
use App\Twig\LocaleFormatExtensions;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Intl\Util\IntlTestHelper;
use Symfony\Component\Security\Core\Security;
use Twig\TwigFilter;
use Twig\TwigFunction;
use Twig\TwigTest;
@@ -43,7 +44,11 @@ class LocaleFormatExtensionsTest extends TestCase
$language = $dateSettings;
$dateSettings = $locale;
}
$sut = new LocaleFormatExtensions(new LanguageFormattings($dateSettings));
$security = $this->createMock(Security::class);
$security->expects($this->any())->method('getUser')->willReturn(new User());
$sut = new LocaleFormatExtensions(new LanguageFormattings($dateSettings), $security);
$sut->setLocale($language);
return $sut;
@@ -220,31 +225,21 @@ class LocaleFormatExtensionsTest extends TestCase
$this->assertEquals('17:53', $sut->time('2016-06-23 17:53'));
}
public function testHour24()
{
$sut = $this->getSut('en', [
'en' => ['24_hours' => false],
]);
$this->assertEquals('bar', $sut->hour24('foo', 'bar'));
$sut = $this->getSut('de', [
'de' => ['24_hours' => true],
]);
$this->assertEquals('foo', $sut->hour24('foo', 'bar'));
}
public function testDateTimeFull()
{
$sut = $this->getSut('en', [
'en' => ['date_time_type' => 'yyyy-MM-dd HH:mm:ss'],
'en' => ['date_type' => 'dd-yyyy-MM-'],
]);
$dateTime = new \DateTime('2019-08-17 12:29:47', new \DateTimeZone(date_default_timezone_get()));
$dateTime->setDate(2019, 8, 17);
$dateTime->setTime(12, 29, 47);
$this->assertEquals('2019-08-17 12:29:47', $sut->dateTimeFull($dateTime));
$this->assertEquals('2019-08-17 12:29:47', $sut->dateTimeFull('2019-08-17 12:29:47'));
$this->assertEquals('17-2019-08- 12:29', $sut->dateTimeFull($dateTime));
$this->assertEquals('17-2019-08- 12:29', $sut->dateTimeFull('2019-08-17 12:29:47'));
$dateTime = new \DateTime('2019-08-17 00:00:00');
$this->assertEquals('17-2019-08-', $sut->dateTimeFull($dateTime, true));
// next test checks the fallback for errors while converting the date
/* @phpstan-ignore-next-line */