Merge "Move italic redirect link styles to modules"
[lhc/web/wiklou.git] / tests / phpunit / includes / WikiReferenceTest.php
index 592a477..b72bae7 100644 (file)
@@ -6,30 +6,13 @@
 
 class WikiReferenceTest extends PHPUnit_Framework_TestCase {
 
-       public function provideGetHostname() {
-               return array(
-                       'http' => array( 'foo.bar', 'http://foo.bar' ),
-                       'https' => array( 'foo.bar', 'https://foo.bar' ),
-               );
-       }
-
-       /**
-        * @dataProvider provideGetHostname
-        */
-       public function testGetHostname( $expected, $canonicalServer ) {
-               $this->markTestSkipped( 'The implementation is patently broken.' );
-
-               $reference = new WikiReference( 'wiki', 'xx', $canonicalServer, '/wiki/$1' );
-               $this->assertEquals( $expected, $reference->getHostname() );
-       }
-
        public function provideGetDisplayName() {
                return array(
                        'http' => array( 'foo.bar', 'http://foo.bar' ),
                        'https' => array( 'foo.bar', 'http://foo.bar' ),
 
                        // apparently, this is the expected behavior
-                       'invalid' => array( 'purple kittens/wiki/', 'purple kittens' ),
+                       'invalid' => array( 'purple kittens', 'purple kittens' ),
                );
        }
 
@@ -48,30 +31,39 @@ class WikiReferenceTest extends PHPUnit_Framework_TestCase {
 
        public function provideGetCanonicalUrl() {
                return array(
-                       'wiki path' => array( 'https://acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo' ),
-                       'empty path' => array( 'https://acme.com/Foo', 'https://acme.com', '//acme.com', '/$1', 'Foo' ),
+                       'no fragement' => array( 'https://acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', null ),
+                       'empty fragement' => array( 'https://acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', '' ),
+                       'fragment' => array( 'https://acme.com/wiki/Foo#Bar', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', 'Bar' ),
+                       'double fragment' => array( 'https://acme.com/wiki/Foo#Bar%23Xus', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', 'Bar#Xus' ),
+                       'escaped fragement' => array( 'https://acme.com/wiki/Foo%23Bar', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo#Bar', null ),
+                       'empty path' => array( 'https://acme.com/Foo', 'https://acme.com', '//acme.com', '/$1', 'Foo', null ),
                );
        }
 
        /**
         * @dataProvider provideGetCanonicalUrl
         */
-       public function testGetCanonicalUrl( $expected, $canonicalServer, $server, $path, $page ) {
+       public function testGetCanonicalUrl( $expected, $canonicalServer, $server, $path, $page, $fragmentId ) {
                $reference = new WikiReference( 'wiki', 'xx', $canonicalServer, $path, $server );
-               $this->assertEquals( $expected, $reference->getCanonicalUrl( $page ) );
+               $this->assertEquals( $expected, $reference->getCanonicalUrl( $page, $fragmentId ) );
        }
 
        /**
         * @dataProvider provideGetCanonicalUrl
+        * @note getUrl is an alias for getCanonicalUrl
         */
-       public function testGetUrl( $expected, $canonicalServer, $server, $path, $page ) {
+       public function testGetUrl( $expected, $canonicalServer, $server, $path, $page, $fragmentId ) {
                $reference = new WikiReference( 'wiki', 'xx', $canonicalServer, $path, $server );
-               $this->assertEquals( $expected, $reference->getUrl( $page ) );
+               $this->assertEquals( $expected, $reference->getUrl( $page, $fragmentId ) );
        }
 
        public function provideGetFullUrl() {
                return array(
-                       'wiki path' => array( '//acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', null ),
+                       'no fragement' => array( '//acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', null ),
+                       'empty fragement' => array( '//acme.com/wiki/Foo', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', '' ),
+                       'fragment' => array( '//acme.com/wiki/Foo#Bar', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', 'Bar' ),
+                       'double fragment' => array( '//acme.com/wiki/Foo#Bar%23Xus', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo', 'Bar#Xus' ),
+                       'escaped fragement' => array( '//acme.com/wiki/Foo%23Bar', 'https://acme.com', '//acme.com', '/wiki/$1', 'Foo#Bar', null ),
                        'empty path' => array( '//acme.com/Foo', 'https://acme.com', '//acme.com', '/$1', 'Foo', null ),
                );
        }
@@ -79,10 +71,9 @@ class WikiReferenceTest extends PHPUnit_Framework_TestCase {
        /**
         * @dataProvider provideGetFullUrl
         */
-       public function testGetFullUrl( $expected, $canonicalServer, $server, $path, $page ) {
+       public function testGetFullUrl( $expected, $canonicalServer, $server, $path, $page, $fragmentId ) {
                $reference = new WikiReference( 'wiki', 'xx', $canonicalServer, $path, $server );
-               $this->assertEquals( $expected, $reference->getFullUrl( $page ) );
+               $this->assertEquals( $expected, $reference->getFullUrl( $page, $fragmentId ) );
        }
 
 }
-