jquery.makeCollapsible: Tests for collapse and expand text
authorMatmaRex <matma.rex@gmail.com>
Sun, 21 Jul 2013 11:40:52 +0000 (13:40 +0200)
committerMatmarex <matma.rex@gmail.com>
Mon, 22 Jul 2013 11:15:39 +0000 (11:15 +0000)
Provided via data- attributes (data-collapsetext, data-expandtext)
and via options (options.collapseText, options.expandText).

Change-Id: I8922b80ee9aff149a56c9ca44edc247033fc6d6a

tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js

index 7ae743c..38063e6 100644 (file)
                assert.assertTrue( $content.is( ':hidden' ), 'click event on non-link inside toggle toggles content' );
        } );
 
+       QUnit.asyncTest( 'collapse/expand text (data-collapsetext, data-expandtext)', 2, function ( assert ) {
+               var $collapsible, $toggleLink;
+               $collapsible = prepareCollapsible(
+                       '<div class="mw-collapsible" data-collapsetext="Collapse me!" data-expandtext="Expand me!">' +
+                               loremIpsum +
+                       '</div>'
+               );
+               $toggleLink = $collapsible.find( '.mw-collapsible-toggle a' );
+
+               assert.equal( $toggleLink.text(), 'Collapse me!', 'data-collapsetext is respected' );
+
+               $collapsible.on( 'afterCollapse.mw-collapsible', function () {
+                       assert.equal( $toggleLink.text(), 'Expand me!', 'data-expandtext is respected' );
+                       QUnit.start();
+               } );
+
+               $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+       } );
+
+       QUnit.asyncTest( 'collapse/expand text (options.collapseText, options.expandText)', 2, function ( assert ) {
+               var $collapsible, $toggleLink;
+               $collapsible = prepareCollapsible(
+                       '<div class="mw-collapsible">' + loremIpsum + '</div>',
+                       { collapseText: 'Collapse me!', expandText: 'Expand me!' }
+               );
+               $toggleLink = $collapsible.find( '.mw-collapsible-toggle a' );
+
+               assert.equal( $toggleLink.text(), 'Collapse me!', 'options.collapseText is respected' );
+
+               $collapsible.on( 'afterCollapse.mw-collapsible', function () {
+                       assert.equal( $toggleLink.text(), 'Expand me!', 'options.expandText is respected' );
+                       QUnit.start();
+               } );
+
+               $collapsible.find( '.mw-collapsible-toggle' ).trigger( 'click' );
+       } );
+
 }( mediaWiki, jQuery ) );