From: fat Date: Tue, 19 Aug 2014 02:58:19 +0000 (-0700) Subject: fixes #14282 - Already Visible collapse gets closed when .collapse('show') is called X-Git-Tag: v3.3.0~242^2~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c2e54bfeca744ca3d2ab811b23d9a083502c53d;p=thirdparty%2Fbootstrap.git fixes #14282 - Already Visible collapse gets closed when .collapse('show') is called --- diff --git a/js/collapse.js b/js/collapse.js index a265344f40..db89804cb7 100644 --- a/js/collapse.js +++ b/js/collapse.js @@ -124,7 +124,7 @@ var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - if (!data && options.toggle && option == 'show') option = !option + if (!data && options.toggle && option == 'show') options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js index 8e6bb82736..ffa8f7e6db 100644 --- a/js/tests/unit/collapse.js +++ b/js/tests/unit/collapse.js @@ -102,6 +102,38 @@ $(function () { $target.click() }) + test('should not close a collapse when initialized with "show" if already shown', function () { + stop() + + expect(0) + + var $test = $('
') + .appendTo('#qunit-fixture') + .on('hide.bs.collapse', function () { + ok(false) + }) + + $test.bootstrapCollapse('show') + + setTimeout(start, 0) + }) + + test('should open a collapse when initialized with "show" if not already shown', function () { + stop() + + expect(1) + + var $test = $('
') + .appendTo('#qunit-fixture') + .on('show.bs.collapse', function () { + ok(true) + }) + + $test.bootstrapCollapse('show') + + setTimeout(start, 0) + }) + test('should remove "collapsed" class from active accordion target', function () { stop()