]> git.wh0rd.org - tt-rss.git/blobdiff - tests/FunctionsTest.php
add unit tests for rewrite_relative_url and fix a number of bugs in it
[tt-rss.git] / tests / FunctionsTest.php
index 163e985d0b3fe69cb1df3ab4a40c1375c83ccb9a..f1bfa74511cda63475e131f245657408ec08c6aa 100644 (file)
@@ -177,6 +177,69 @@ HTM
         );
         $this->assertFalse(url_is_html($this->tmpFile));
     }
+
+
+
+    /**
+     * Test rewrite_relative_url() with a relative path
+     */
+    public function testRewriteRelativeUrlRelative()
+    {
+        $this->assertEquals(
+            'http://tt-rss.org/foo/bar',
+            rewrite_relative_url('http://tt-rss.org', 'foo/bar')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/foo/bar',
+            rewrite_relative_url('http://tt-rss.org/', 'foo/bar')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/bar',
+            rewrite_relative_url('http://tt-rss.org/foo', 'bar')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/foo/bar',
+            rewrite_relative_url('http://tt-rss.org/foo/', 'bar')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/f/o/bar',
+            rewrite_relative_url('http://tt-rss.org/f/o/o', 'bar')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/f/o/o/bar',
+            rewrite_relative_url('http://tt-rss.org/f/o/o/', 'bar')
+        );
+    }
+
+    /**
+     * Test rewrite_relative_url() with an absolute path
+     */
+    public function testRewriteRelativeUrlAbsolutePath()
+    {
+        $this->assertEquals(
+            'http://tt-rss.org/bar/',
+            rewrite_relative_url('http://tt-rss.org/foo/', '/bar/')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/bar/',
+            rewrite_relative_url('http://tt-rss.org/so/what/is/next', '/bar/')
+        );
+        $this->assertEquals(
+            'http://tt-rss.org/bar/',
+            rewrite_relative_url('http://tt-rss.org/so/what/is/next/', '/bar/')
+        );
+    }
+
+    /**
+     * Test rewrite_relative_url() with an absolute URL
+     */
+    public function testRewriteRelativeUrlAbsoluteUrl()
+    {
+        $this->assertEquals(
+            'http://example.org/bar/',
+            rewrite_relative_url('http://tt-rss.org/foo/', 'http://example.org/bar/')
+        );
+    }
 }
 
 ?>
\ No newline at end of file