From: Derk-Jan Hartman Date: Thu, 17 May 2018 18:20:13 +0000 (+0200) Subject: makeCollapsible: Add test for nested collapsibles X-Git-Tag: 1.34.0-rc.0~5398^2 X-Git-Url: https://git.cyclocoop.org/%27.%24link.%27?a=commitdiff_plain;h=768ef69e6bf91d6e349ccdf61716f18405e569dd;p=lhc%2Fweb%2Fwiklou.git makeCollapsible: Add test for nested collapsibles Follow-up to: I1c3c29dc9ca4ccbf8da83796e56964a7a6d58a81 Bug: T168689 Change-Id: I7059d870976e36b20634e9c2c919408b3eb1d7fc --- diff --git a/tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js b/tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js index d51dc373dd..d3f65335d3 100644 --- a/tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js +++ b/tests/qunit/suites/resources/jquery/jquery.makeCollapsible.test.js @@ -374,4 +374,24 @@ $clone.find( '.mw-collapsible-toggle a' ).trigger( 'click' ); } ); + + QUnit.test( 'T168689 - nested collapsible divs should keep independent state', function ( assert ) { + var $collapsible1 = prepareCollapsible( + '
' + loremIpsum + '
' + ), + $collapsible2 = prepareCollapsible( + '
' + loremIpsum + '
' + ); + + $collapsible1 + .append( $collapsible2 ) + .appendTo( '#qunit-fixture' ).makeCollapsible(); + + $collapsible1.on( 'afterCollapse.mw-collapsible', function () { + assert.assertTrue( $collapsible1.hasClass( 'mw-collapsed' ), 'after collapsing: parent is collapsed' ); + assert.assertFalse( $collapsible2.hasClass( 'mw-collapsed' ), 'after collapsing: child is not collapsed' ); + assert.assertTrue( $collapsible1.find( '> .mw-collapsible-toggle' ).hasClass( 'mw-collapsible-toggle-collapsed' ) ); + assert.assertFalse( $collapsible2.find( '> .mw-collapsible-toggle' ).hasClass( 'mw-collapsible-toggle-collapsed' ) ); + } ).find( '> .mw-collapsible-toggle a' ).trigger( 'click' ); + } ); }( jQuery ) );