unignore bower_components
[bootswatch] / bower_components / bootstrap / js / tests / unit / modal.js
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 })