X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Flanguages%2Fen%2FUtilsEnTest.php;h=a74063ae92de8fdd41c65727f64c8e071b0bfebd;hb=88d38cb290aad669ad1406e2362d85c81e46d4f6;hp=60bcb65333be454c296f8732ee5d71bd85eb44e4;hpb=52b503105d389d1796698114573ff618b2ad34a2;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/languages/en/UtilsEnTest.php b/tests/languages/en/UtilsEnTest.php index 60bcb653..a74063ae 100644 --- a/tests/languages/en/UtilsEnTest.php +++ b/tests/languages/en/UtilsEnTest.php @@ -11,7 +11,16 @@ class UtilsEnTest extends UtilsTest public function testDateFormat() { $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); - $this->assertRegExp('/January 1, 2017 (at )?10:11:12 AM GMT\+0?3(:00)?/', format_date($date, true)); + $this->assertRegExp('/January 1, 2017 (at )?10:11:12 AM GMT\+0?3(:00)?/', format_date($date, true, true)); + } + + /** + * Test date_format() without time. + */ + public function testDateFormatNoTime() + { + $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); + $this->assertRegExp('/January 1, 2017/', format_date($date, false, true)); } /** @@ -20,6 +29,91 @@ class UtilsEnTest extends UtilsTest public function testDateFormatDefault() { $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); - $this->assertEquals('Sun 01 Jan 2017 10:11:12 AM EAT', format_date($date, false)); + $this->assertEquals('Sun 01 Jan 2017 10:11:12 AM 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('02/01/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,fr-fr'; + autoLocale($header); + $this->assertEquals('fr_FR.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); } }