]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/UtilsTest.php
Prevent redirection loop everytime we rely on HTTP_REFERER:
[github/shaarli/Shaarli.git] / tests / UtilsTest.php
index bbba99f2b686bfc6f36f7480cfb2a0a15b2881d1..8355c7f81f9ba12d2d72ca09c77c76a148d8cd48 100644 (file)
@@ -74,5 +74,49 @@ class UtilsTest extends PHPUnit_Framework_TestCase
         $this->assertTrue(endsWith('å!ùµ', 'ùµ', false));
         $this->assertTrue(endsWith('µ$åù', 'åù', true));
     }
+
+    /**
+     * Check valid date strings, according to a DateTime format
+     */
+    public function testCheckValidDateFormat()
+    {
+        $this->assertTrue(checkDateFormat('Ymd', '20150627'));
+        $this->assertTrue(checkDateFormat('Y-m-d', '2015-06-27'));
+    }
+
+    /**
+     * Check erroneous date strings, according to a DateTime format
+     */
+    public function testCheckInvalidDateFormat()
+    {
+        $this->assertFalse(checkDateFormat('Ymd', '2015'));
+        $this->assertFalse(checkDateFormat('Y-m-d', '2015-06'));
+        $this->assertFalse(checkDateFormat('Ymd', 'DeLorean'));
+    }
+
+    /**
+     * Test generate location with valid data.
+     */
+    public function testGenerateLocation() {
+        $ref = 'http://localhost/?test';
+        $this->assertEquals($ref, generateLocation($ref, 'localhost'));
+        $ref = 'http://localhost:8080/?test';
+        $this->assertEquals($ref, generateLocation($ref, 'localhost:8080'));
+    }
+
+    /**
+     * Test generate location - anti loop.
+     */
+    public function testGenerateLocationLoop() {
+        $ref = 'http://localhost/?test';
+        $this->assertEquals('?', generateLocation($ref, 'localhost', ['test']));
+    }
+
+    /**
+     * Test generate location - from other domain.
+     */
+    public function testGenerateLocationOut() {
+        $ref = 'http://somewebsite.com/?test';
+        $this->assertEquals('?', generateLocation($ref, 'localhost'));
+    }
 }
-?>