Merge "Remove unused 'XMPGetInfo' and 'XMPGetResults' hooks"
[lhc/web/wiklou.git] / tests / qunit / suites / resources / mediawiki / mediawiki.toc.test.js
index a4db0a1..89eb45f 100644 (file)
@@ -1,26 +1,15 @@
 ( function ( mw, $ ) {
-       QUnit.module( 'mediawiki.toc', QUnit.newMwEnvironment() );
+       QUnit.module( 'mediawiki.toc', QUnit.newMwEnvironment( {
+               setup: function () {
+                       // Prevent live cookies from interferring with the test
+                       this.stub( $, 'cookie' ).returns( null );
+               }
+       } ) );
 
        QUnit.asyncTest( 'toggleToc', 4, function ( assert ) {
                var tocHtml, $toggleLink, $tocList;
 
-               function actionC() {
-                       QUnit.start();
-               }
-
-               function actionB() {
-                       assert.strictEqual( $tocList.is( ':hidden' ), true, 'Return boolean true if the TOC is now visible.' );
-                       $toggleLink.click();
-                       $tocList.promise().done( actionC );
-               }
-
-               function actionA() {
-                       assert.strictEqual( $tocList.is( ':hidden' ), false, 'Return boolean false if the TOC is now hidden.' );
-                       $toggleLink.click();
-                       $tocList.promise().done( actionB );
-               }
-
-               assert.strictEqual( $( '#toc' ).length, 0, 'Return 0 if there is no table of contents on the page.' );
+               assert.strictEqual( $( '#toc' ).length, 0, 'There is no table of contents on the page at the beginning' );
 
                tocHtml = '<div id="toc" class="toc">' +
                        '<div id="toctitle">' +
                        '</div>';
                $( tocHtml ).appendTo( '#qunit-fixture' );
                mw.hook( 'wikipage.content' ).fire( $( '#qunit-fixture' ) );
+
                $tocList = $( '#toc ul:first' );
                $toggleLink = $( '#togglelink' );
 
-               assert.strictEqual( $toggleLink.length, 1, 'Toggle link is appended to the page.' );
+               assert.strictEqual( $toggleLink.length, 1, 'Toggle link is added to the table of contents' );
 
-               actionA();
+               assert.strictEqual( $tocList.is( ':hidden' ), false, 'The table of contents is now visible' );
+
+               $toggleLink.click();
+               $tocList.promise().done( function () {
+                       assert.strictEqual( $tocList.is( ':hidden' ), true, 'The table of contents is now hidden' );
+
+                       $toggleLink.click();
+                       $tocList.promise().done( function () {
+                               QUnit.start();
+                       } );
+               } );
        } );
 }( mediaWiki, jQuery ) );