$(function () { module("bootstrap-modal") test("should be defined on jquery object", function () { var div = $("") ok(div.modal, 'modal method is defined') }) test("should return element", function () { var div = $("") ok(div.modal() == div, 'document.body returned') }) test("should expose defaults var for settings", function () { ok($.fn.modal.defaults, 'default object exposed') }) test("should insert into dom when show method is called", function () { stop() $.support.transition = false var div = $("") div .modal() .modal("show") .bind("shown", function () { ok($('#modal-test').length, 'modal insterted into dom') start() div.remove() }) }) test("should hide modal when hide is called", function () { stop() $.support.transition = false var div = $("") div .modal() .bind("shown", function () { ok($('#modal-test').is(":visible"), 'modal visible') ok($('#modal-test').length, 'modal insterted into dom') div.modal("hide") }) .bind("hidden", function() { ok(!$('#modal-test').is(":visible"), 'modal hidden') start() div.remove() }) .modal("show") }) test("should toggle when toggle is called", function () { stop() $.support.transition = false var div = $("") div .modal() .bind("shown", function () { ok($('#modal-test').is(":visible"), 'modal visible') ok($('#modal-test').length, 'modal insterted into dom') div.modal("toggle") }) .bind("hidden", function() { ok(!$('#modal-test').is(":visible"), 'modal hidden') start() div.remove() }) .modal("toggle") }) test("should remove from dom when click .close", function () { stop() $.support.transition = false var div = $("") div .modal() .bind("shown", function () { ok($('#modal-test').is(":visible"), 'modal visible') ok($('#modal-test').length, 'modal insterted into dom') div.find('.close').click() }) .bind("hidden", function() { ok(!$('#modal-test').is(":visible"), 'modal hidden') start() div.remove() }) .modal("toggle") }) test("should add backdrop when desired", function () { stop() $.support.transition = false var div = $("") div .modal({backdrop:true}) .modal("show") .bind("shown", function () { equal($('.modal-backdrop').length, 1, 'modal backdrop inserted into dom') start() div.remove() $('.modal-backdrop').remove() }) }) test("should not add backdrop when not desired", function () { stop() $.support.transition = false var div = $("") div .modal({backdrop:false}) .modal("show") .bind("shown", function () { equal($('.modal-backdrop').length, 0, 'modal backdrop not inserted into dom') start() div.remove() }) }) test("should close backdrop when clicked", function () { stop() $.support.transition = false var div = $("") div .modal({backdrop:true}) .modal("show") .bind("shown", function () { equal($('.modal-backdrop').length, 1, 'modal backdrop inserted into dom') $('.modal-backdrop').click() equal($('.modal-backdrop').length, 0, 'modal backdrop removed from dom') start() div.remove() }) }) test("should not close backdrop when click disabled", function () { stop() $.support.transition = false var div = $("") div .modal({backdrop: 'static'}) .modal("show") .bind("shown", function () { equal($('.modal-backdrop').length, 1, 'modal backdrop inserted into dom') $('.modal-backdrop').click() equal($('.modal-backdrop').length, 1, 'modal backdrop still in dom') start() div.remove() $('.modal-backdrop').remove() }) }) })