X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Flanguages%2Fen%2FUtilsEnTest.php;h=7c829ac7e5856cd003e979949572d7c1551397da;hb=03b9cb600a85fed79b8afa72ccdad2725da5f3da;hp=60bcb65333be454c296f8732ee5d71bd85eb44e4;hpb=36c8fb1ef869c29e783f0dd5ebef2fb5566e2611;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/languages/en/UtilsEnTest.php b/tests/languages/en/UtilsEnTest.php index 60bcb653..7c829ac7 100644 --- a/tests/languages/en/UtilsEnTest.php +++ b/tests/languages/en/UtilsEnTest.php @@ -22,4 +22,80 @@ class UtilsEnTest extends UtilsTest $date = DateTime::createFromFormat('Ymd_His', '20170101_101112'); $this->assertEquals('Sun 01 Jan 2017 10:11:12 AM EAT', format_date($date, 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 valid + */ + public function testAutoLocaleMultipleSecondValid() + { + $current = setlocale(LC_ALL, 0); + $header = 'pt_BR,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 invalid value: defaults to en_US. + */ + public function testAutoLocaleInvalid() + { + $current = setlocale(LC_ALL, 0); + autoLocale('pt_BR'); + $this->assertEquals('en_US.utf8', setlocale(LC_ALL, 0)); + + setlocale(LC_ALL, $current); + } }