]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - tests/HttpUtils/IndexUrlTest.php
HTTP: move server URL functions to `HttpUtils.php`
[github/shaarli/Shaarli.git] / tests / HttpUtils / IndexUrlTest.php
diff --git a/tests/HttpUtils/IndexUrlTest.php b/tests/HttpUtils/IndexUrlTest.php
new file mode 100644 (file)
index 0000000..337dcab
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+/**
+ * HttpUtils' tests
+ */
+
+require_once 'application/HttpUtils.php';
+
+/**
+ * Unitary tests for index_url()
+ */
+class IndexUrlTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * If on the main page, remove "index.php" from the URL resource
+     */
+    public function testRemoveIndex()
+    {
+        $this->assertEquals(
+            'http://host.tld/',
+            index_url(
+                array(
+                    'HTTPS' => 'Off',
+                    'SERVER_NAME' => 'host.tld',
+                    'SERVER_PORT' => '80',
+                    'SCRIPT_NAME' => '/index.php'
+                )
+            )
+        );
+
+        $this->assertEquals(
+            'http://host.tld/admin/',
+            index_url(
+                array(
+                    'HTTPS' => 'Off',
+                    'SERVER_NAME' => 'host.tld',
+                    'SERVER_PORT' => '80',
+                    'SCRIPT_NAME' => '/admin/index.php'
+                )
+            )
+        );
+    }
+
+    /**
+     * The resource is != "index.php"
+     */
+    public function testOtherResource()
+    {
+        $this->assertEquals(
+            'http://host.tld/page.php',
+            page_url(
+                array(
+                    'HTTPS' => 'Off',
+                    'SERVER_NAME' => 'host.tld',
+                    'SERVER_PORT' => '80',
+                    'SCRIPT_NAME' => '/page.php'
+                )
+            )
+        );
+
+        $this->assertEquals(
+            'http://host.tld/admin/page.php',
+            page_url(
+                array(
+                    'HTTPS' => 'Off',
+                    'SERVER_NAME' => 'host.tld',
+                    'SERVER_PORT' => '80',
+                    'SCRIPT_NAME' => '/admin/page.php'
+                )
+            )
+        );
+    }
+}