github.com/kayoticsully/syncthing@v0.8.9-0.20140724133906-c45a2fdc03f8/assets/bootstrap-3.1.1/js/tests/unit/modal.js (about) 1 $(function () { 2 3 module('modal') 4 5 test('should provide no conflict', function () { 6 var modal = $.fn.modal.noConflict() 7 ok(!$.fn.modal, 'modal was set back to undefined (org value)') 8 $.fn.modal = modal 9 }) 10 11 test('should be defined on jquery object', function () { 12 var div = $('<div id="modal-test"></div>') 13 ok(div.modal, 'modal method is defined') 14 }) 15 16 test('should return element', function () { 17 var div = $('<div id="modal-test"></div>') 18 ok(div.modal() == div, 'document.body returned') 19 $('#modal-test').remove() 20 }) 21 22 test('should expose defaults var for settings', function () { 23 ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed') 24 }) 25 26 test('should insert into dom when show method is called', function () { 27 stop() 28 $.support.transition = false 29 $('<div id="modal-test"></div>') 30 .on('shown.bs.modal', function () { 31 ok($('#modal-test').length, 'modal inserted into dom') 32 $(this).remove() 33 start() 34 }) 35 .modal('show') 36 }) 37 38 test('should fire show event', function () { 39 stop() 40 $.support.transition = false 41 $('<div id="modal-test"></div>') 42 .on('show.bs.modal', function () { 43 ok(true, 'show was called') 44 }) 45 .on('shown.bs.modal', function () { 46 $(this).remove() 47 start() 48 }) 49 .modal('show') 50 }) 51 52 test('should not fire shown when default prevented', function () { 53 stop() 54 $.support.transition = false 55 $('<div id="modal-test"></div>') 56 .on('show.bs.modal', function (e) { 57 e.preventDefault() 58 ok(true, 'show was called') 59 start() 60 }) 61 .on('shown.bs.modal', function () { 62 ok(false, 'shown was called') 63 }) 64 .modal('show') 65 }) 66 67 test('should hide modal when hide is called', function () { 68 stop() 69 $.support.transition = false 70 71 $('<div id="modal-test"></div>') 72 .on('shown.bs.modal', function () { 73 ok($('#modal-test').is(':visible'), 'modal visible') 74 ok($('#modal-test').length, 'modal inserted into dom') 75 $(this).modal('hide') 76 }) 77 .on('hidden.bs.modal', function () { 78 ok(!$('#modal-test').is(':visible'), 'modal hidden') 79 $('#modal-test').remove() 80 start() 81 }) 82 .modal('show') 83 }) 84 85 test('should toggle when toggle is called', function () { 86 stop() 87 $.support.transition = false 88 var div = $('<div id="modal-test"></div>') 89 div 90 .on('shown.bs.modal', function () { 91 ok($('#modal-test').is(':visible'), 'modal visible') 92 ok($('#modal-test').length, 'modal inserted into dom') 93 div.modal('toggle') 94 }) 95 .on('hidden.bs.modal', function () { 96 ok(!$('#modal-test').is(':visible'), 'modal hidden') 97 div.remove() 98 start() 99 }) 100 .modal('toggle') 101 }) 102 103 test('should remove from dom when click [data-dismiss=modal]', function () { 104 stop() 105 $.support.transition = false 106 var div = $('<div id="modal-test"><span class="close" data-dismiss="modal"></span></div>') 107 div 108 .on('shown.bs.modal', function () { 109 ok($('#modal-test').is(':visible'), 'modal visible') 110 ok($('#modal-test').length, 'modal inserted into dom') 111 div.find('.close').click() 112 }) 113 .on('hidden.bs.modal', function () { 114 ok(!$('#modal-test').is(':visible'), 'modal hidden') 115 div.remove() 116 start() 117 }) 118 .modal('toggle') 119 }) 120 121 test('should allow modal close with "backdrop:false"', function () { 122 stop() 123 $.support.transition = false 124 var div = $('<div>', { id: 'modal-test', 'data-backdrop': false }) 125 div 126 .on('shown.bs.modal', function () { 127 ok($('#modal-test').is(':visible'), 'modal visible') 128 div.modal('hide') 129 }) 130 .on('hidden.bs.modal', function () { 131 ok(!$('#modal-test').is(':visible'), 'modal hidden') 132 div.remove() 133 start() 134 }) 135 .modal('show') 136 }) 137 138 test('should close modal when clicking outside of modal-content', function () { 139 stop() 140 $.support.transition = false 141 var div = $('<div id="modal-test"><div class="contents"></div></div>') 142 div 143 .bind('shown.bs.modal', function () { 144 ok($('#modal-test').length, 'modal insterted into dom') 145 $('.contents').click() 146 ok($('#modal-test').is(':visible'), 'modal visible') 147 $('#modal-test').click() 148 }) 149 .bind('hidden.bs.modal', function () { 150 ok(!$('#modal-test').is(':visible'), 'modal hidden') 151 div.remove() 152 start() 153 }) 154 .modal('show') 155 }) 156 157 test('should trigger hide event once when clicking outside of modal-content', function () { 158 stop() 159 $.support.transition = false 160 161 var triggered 162 var div = $('<div id="modal-test"><div class="contents"></div></div>') 163 164 div 165 .bind('shown.bs.modal', function () { 166 triggered = 0 167 $('#modal-test').click() 168 }) 169 .bind('hide.bs.modal', function () { 170 triggered += 1 171 ok(triggered === 1, 'modal hide triggered once') 172 start() 173 }) 174 .modal('show') 175 }) 176 177 test('should close reopened modal with [data-dismiss=modal] click', function () { 178 stop() 179 $.support.transition = false 180 var div = $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"></div></div></div>') 181 div 182 .bind('shown.bs.modal', function () { 183 $('#close').click() 184 ok(!$('#modal-test').is(':visible'), 'modal hidden') 185 }) 186 .one('hidden.bs.modal', function () { 187 div.one('hidden.bs.modal', function () { 188 start() 189 }).modal('show') 190 }) 191 .modal('show') 192 193 div.remove() 194 }) 195 })