X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Flanguages%2Ffr%2FUtilsFrTest.php;h=3dbb126faef25b2b82b6d7bf4571eff124ec98d1;hb=b5c33d702ac973e7bc1401e484c6b8799eea1e91;hp=890308d34967ae52c84be79264b97e27a1307d6b;hpb=9971f7c82cc47446b457464cec5b4fefcae470e1;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/languages/fr/UtilsFrTest.php b/tests/languages/fr/UtilsFrTest.php index 890308d3..3dbb126f 100644 --- a/tests/languages/fr/UtilsFrTest.php +++ b/tests/languages/fr/UtilsFrTest.php @@ -14,12 +14,106 @@ class UtilsFrTest extends UtilsTest $this->assertRegExp('/1 janvier 2017 (à )?10:11:12 UTC\+0?3(:00)?/', format_date($date)); } + /** + * Test date_format() without time. + */ + public function testDateFormatNoTime() + { + $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); + $this->assertRegExp('/1 janvier 2017/', format_date($date, false, true)); + } + /** * Test date_format() using builtin PHP function strftime. */ public function testDateFormatDefault() { $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); - $this->assertEquals('dim. 01 janv. 2017 10:11:12 EAT', format_date($date, false)); + $this->assertEquals('dim. 01 janv. 2017 10:11:12 EAT', format_date($date, true, false)); + } + + /** + * Test date_format() using builtin PHP function strftime without time. + */ + public function testDateFormatDefaultNoTime() + { + $date = DateTime::createFromFormat('Ymd_His', '20170201_101112'); + $this->assertEquals('01/02/2017', format_date($date, false, false)); + } + + /** + * Test autoLocale with a simple value + */ + public function testAutoLocaleValid() + { + $current = setlocale(LC_ALL, 0); + $header = 'de-de'; + autoLocale($header); + $this->assertEquals('de_DE.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } + + /** + * Test autoLocale with an alternative locale value + */ + public function testAutoLocaleValidAlternative() + { + $current = setlocale(LC_ALL, 0); + $header = 'de_de.UTF8'; + autoLocale($header); + $this->assertEquals('de_DE.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } + + /** + * Test autoLocale with multiples value, the first one is valid + */ + public function testAutoLocaleMultipleFirstValid() + { + $current = setlocale(LC_ALL, 0); + $header = 'de-de;en-us'; + autoLocale($header); + $this->assertEquals('de_DE.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } + + /** + * Test autoLocale with multiples value, the second one is available + */ + public function testAutoLocaleMultipleSecondAvailable() + { + $current = setlocale(LC_ALL, 0); + $header = 'mag_IN,de-de'; + autoLocale($header); + $this->assertEquals('de_DE.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } + + /** + * Test autoLocale without value: defaults to en_US. + */ + public function testAutoLocaleBlank() + { + $current = setlocale(LC_ALL, 0); + autoLocale(''); + $this->assertEquals('en_US.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } + + /** + * Test autoLocale with an unavailable value: defaults to en_US. + */ + public function testAutoLocaleUnavailable() + { + $current = setlocale(LC_ALL, 0); + autoLocale('mag_IN'); + $this->assertEquals('en_US.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); } }