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)')
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')
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()
22 test("should expose defaults var for settings", function () {
23 ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed')
26 test("should insert into dom when show method is called", function () {
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')
38 test("should fire show event", function () {
40 $.support.transition = false
41 $("<div id='modal-test'></div>")
42 .on("show.bs.modal", function () {
43 ok(true, "show was called")
45 .on("shown.bs.modal", function () {
52 test("should not fire shown when default prevented", function () {
54 $.support.transition = false
55 $("<div id='modal-test'></div>")
56 .on("show.bs.modal", function (e) {
58 ok(true, "show was called")
61 .on("shown.bs.modal", function () {
62 ok(false, "shown was called")
67 test("should hide modal when hide is called", function () {
69 $.support.transition = false
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')
77 .on("hidden.bs.modal", function() {
78 ok(!$('#modal-test').is(":visible"), 'modal hidden')
79 $('#modal-test').remove()
85 test("should toggle when toggle is called", function () {
87 $.support.transition = false
88 var div = $("<div id='modal-test'></div>")
90 .on("shown.bs.modal", function () {
91 ok($('#modal-test').is(":visible"), 'modal visible')
92 ok($('#modal-test').length, 'modal inserted into dom')
95 .on("hidden.bs.modal", function() {
96 ok(!$('#modal-test').is(":visible"), 'modal hidden')
103 test("should remove from dom when click [data-dismiss=modal]", function () {
105 $.support.transition = false
106 var div = $("<div id='modal-test'><span class='close' data-dismiss='modal'></span></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()
113 .on("hidden.bs.modal", function() {
114 ok(!$('#modal-test').is(":visible"), 'modal hidden')
121 test("should allow modal close with 'backdrop:false'", function () {
123 $.support.transition = false
124 var div = $("<div>", { id: 'modal-test', "data-backdrop": false })
126 .on("shown.bs.modal", function () {
127 ok($('#modal-test').is(":visible"), 'modal visible')
130 .on("hidden.bs.modal", function() {
131 ok(!$('#modal-test').is(":visible"), 'modal hidden')
138 test("should close modal when clicking outside of modal-content", function () {
140 $.support.transition = false
141 var div = $("<div id='modal-test'><div class='contents'></div></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()
149 .bind("hidden.bs.modal", function() {
150 ok(!$('#modal-test').is(":visible"), 'modal hidden')
157 test("should trigger hide event once when clicking outside of modal-content", function () {
159 $.support.transition = false
160 var div = $("<div id='modal-test'><div class='contents'></div></div>")
163 .bind("shown.bs.modal", function () {
165 $('#modal-test').click()
167 .one("hidden.bs.modal", function() {
170 .bind("hide.bs.modal", function () {
172 ok(triggered === 1, 'modal hide triggered once')
178 test("should close reopened modal with [data-dismiss=modal] click", function () {
180 $.support.transition = false
181 var div = $("<div id='modal-test'><div class='contents'><div id='close' data-dismiss='modal'></div></div></div>")
183 .bind("shown.bs.modal", function () {
185 ok(!$('#modal-test').is(":visible"), 'modal hidden')
187 .one("hidden.bs.modal", function() {
188 div.one('hidden.bs.modal', function () {