mediawiki.util.test: Set wgFragmentMode before testing getUrl
authorFomafix <fomafix@googlemail.com>
Sat, 13 Jan 2018 10:47:26 +0000 (11:47 +0100)
committerFomafix <fomafix@googlemail.com>
Sun, 14 Jan 2018 16:04:57 +0000 (17:04 +0100)
The result of mw.util.getUrl() depends on wgFragmentMode.
This change sets wgFragmentMode before testing mw.util.getUrl() and
tests the modes 'legacy' and 'html5'.

This change fixes failures on Special:JavaScriptTest when
  $wgFragmentMode = [ 'html5' ];
is set in LocalSettings.php.

Change-Id: Ifc65faacfcddb7d1bb4b298a0940c8f0208a23d7

tests/qunit/suites/resources/mediawiki/mediawiki.util.test.js

index ef894a9..b8464e9 100644 (file)
                href = util.getUrl( '#Fragment', { action: 'edit' } );
                assert.equal( href, '/w/index.php?action=edit#Fragment', 'empty title with query string and fragment' );
 
+               mw.config.set( 'wgFragmentMode', [ 'legacy' ] );
                href = util.getUrl( 'Foo:Sandbox \xC4#Fragment \xC4', { action: 'edit' } );
                assert.equal( href, '/w/index.php?title=Foo:Sandbox_%C3%84&action=edit#Fragment_.C3.84', 'title with query string, fragment, and special characters' );
 
+               mw.config.set( 'wgFragmentMode', [ 'html5' ] );
+               href = util.getUrl( 'Foo:Sandbox \xC4#Fragment \xC4', { action: 'edit' } );
+               assert.equal( href, '/w/index.php?title=Foo:Sandbox_%C3%84&action=edit#Fragment_Ä', 'title with query string, fragment, and special characters' );
+
                href = util.getUrl( 'Foo:%23#Fragment', { action: 'edit' } );
                assert.equal( href, '/w/index.php?title=Foo:%2523&action=edit#Fragment', 'title containing %23 (#), fragment, and a query string' );
 
+               mw.config.set( 'wgFragmentMode', [ 'legacy' ] );
                href = util.getUrl( '#+&=:;@$-_.!*/[]<>\'§', { action: 'edit' } );
                assert.equal( href, '/w/index.php?action=edit#.2B.26.3D:.3B.40.24-_..21.2A.2F.5B.5D.3C.3E.27.C2.A7', 'fragment with various characters' );
+
+               mw.config.set( 'wgFragmentMode', [ 'html5' ] );
+               href = util.getUrl( '#+&=:;@$-_.!*/[]<>\'§', { action: 'edit' } );
+               assert.equal( href, '/w/index.php?action=edit#+&=:;@$-_.!*/[]<>\'§', 'fragment with various characters' );
        } );
 
        QUnit.test( 'wikiScript', function ( assert ) {