github.com/kayoticsully/syncthing@v0.8.9-0.20140724133906-c45a2fdc03f8/assets/bootstrap-3.1.1/js/tests/unit/collapse.js (about) 1 $(function () { 2 3 module('collapse') 4 5 test('should provide no conflict', function () { 6 var collapse = $.fn.collapse.noConflict() 7 ok(!$.fn.collapse, 'collapse was set back to undefined (org value)') 8 $.fn.collapse = collapse 9 }) 10 11 test('should be defined on jquery object', function () { 12 ok($(document.body).collapse, 'collapse method is defined') 13 }) 14 15 test('should return element', function () { 16 ok($(document.body).collapse()[0] == document.body, 'document.body returned') 17 }) 18 19 test('should show a collapsed element', function () { 20 var el = $('<div class="collapse"></div>').collapse('show') 21 ok(el.hasClass('in'), 'has class in') 22 ok(/height/.test(el.attr('style')), 'has height set') 23 }) 24 25 test('should hide a collapsed element', function () { 26 var el = $('<div class="collapse"></div>').collapse('hide') 27 ok(!el.hasClass('in'), 'does not have class in') 28 ok(/height/.test(el.attr('style')), 'has height set') 29 }) 30 31 test('should not fire shown when show is prevented', function () { 32 $.support.transition = false 33 stop() 34 $('<div class="collapse"/>') 35 .on('show.bs.collapse', function (e) { 36 e.preventDefault(); 37 ok(true); 38 start(); 39 }) 40 .on('shown.bs.collapse', function () { 41 ok(false); 42 }) 43 .collapse('show') 44 }) 45 46 test('should reset style to auto after finishing opening collapse', function () { 47 $.support.transition = false 48 stop() 49 $('<div class="collapse" style="height: 0px"/>') 50 .on('show.bs.collapse', function () { 51 ok(this.style.height == '0px') 52 }) 53 .on('shown.bs.collapse', function () { 54 ok(this.style.height == 'auto') 55 start() 56 }) 57 .collapse('show') 58 }) 59 60 test('should add active class to target when collapse shown', function () { 61 $.support.transition = false 62 stop() 63 64 var target = $('<a data-toggle="collapse" href="#test1"></a>') 65 .appendTo($('#qunit-fixture')) 66 67 var collapsible = $('<div id="test1"></div>') 68 .appendTo($('#qunit-fixture')) 69 .on('show.bs.collapse', function () { 70 ok(!target.hasClass('collapsed')) 71 start() 72 }) 73 74 target.click() 75 }) 76 77 test('should remove active class to target when collapse hidden', function () { 78 $.support.transition = false 79 stop() 80 81 var target = $('<a data-toggle="collapse" href="#test1"></a>') 82 .appendTo($('#qunit-fixture')) 83 84 var collapsible = $('<div id="test1" class="in"></div>') 85 .appendTo($('#qunit-fixture')) 86 .on('hide.bs.collapse', function () { 87 ok(target.hasClass('collapsed')) 88 start() 89 }) 90 91 target.click() 92 }) 93 94 test('should remove active class from inactive accordion targets', function () { 95 $.support.transition = false 96 stop() 97 98 var accordion = $('<div id="accordion"><div class="accordion-group"></div><div class="accordion-group"></div><div class="accordion-group"></div></div>') 99 .appendTo($('#qunit-fixture')) 100 101 var target1 = $('<a data-toggle="collapse" href="#body1" data-parent="#accordion"></a>') 102 .appendTo(accordion.find('.accordion-group').eq(0)) 103 104 var collapsible1 = $('<div id="body1" class="in"></div>') 105 .appendTo(accordion.find('.accordion-group').eq(0)) 106 107 var target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent="#accordion"></a>') 108 .appendTo(accordion.find('.accordion-group').eq(1)) 109 110 var collapsible2 = $('<div id="body2"></div>') 111 .appendTo(accordion.find('.accordion-group').eq(1)) 112 113 var target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent="#accordion"></a>') 114 .appendTo(accordion.find('.accordion-group').eq(2)) 115 116 var collapsible3 = $('<div id="body3"></div>') 117 .appendTo(accordion.find('.accordion-group').eq(2)) 118 .on('show.bs.collapse', function () { 119 ok(target1.hasClass('collapsed')) 120 ok(target2.hasClass('collapsed')) 121 ok(!target3.hasClass('collapsed')) 122 123 start() 124 }) 125 126 target3.click() 127 }) 128 129 test('should allow dots in data-parent', function () { 130 $.support.transition = false 131 stop() 132 133 var accordion = $('<div class="accordion"><div class="accordion-group"></div><div class="accordion-group"></div><div class="accordion-group"></div></div>') 134 .appendTo($('#qunit-fixture')) 135 136 var target1 = $('<a data-toggle="collapse" href="#body1" data-parent=".accordion"></a>') 137 .appendTo(accordion.find('.accordion-group').eq(0)) 138 139 var collapsible1 = $('<div id="body1" class="in"></div>') 140 .appendTo(accordion.find('.accordion-group').eq(0)) 141 142 var target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent=".accordion"></a>') 143 .appendTo(accordion.find('.accordion-group').eq(1)) 144 145 var collapsible2 = $('<div id="body2"></div>') 146 .appendTo(accordion.find('.accordion-group').eq(1)) 147 148 var target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent=".accordion"></a>') 149 .appendTo(accordion.find('.accordion-group').eq(2)) 150 151 var collapsible3 = $('<div id="body3"></div>') 152 .appendTo(accordion.find('.accordion-group').eq(2)) 153 .on('show.bs.collapse', function () { 154 ok(target1.hasClass('collapsed')) 155 ok(target2.hasClass('collapsed')) 156 ok(!target3.hasClass('collapsed')) 157 158 start() 159 }) 160 161 target3.click() 162 }) 163 164 })