]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/languages/fr/UtilsFrTest.php
Tests: update localization tests
[github/shaarli/Shaarli.git] / tests / languages / fr / UtilsFrTest.php
index 890308d34967ae52c84be79264b97e27a1307d6b..3dbb126faef25b2b82b6d7bf4571eff124ec98d1 100644 (file)
@@ -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);
     }
 }