info@54: $(function () { info@54: info@54: module("modal") info@54: info@54: test("should provide no conflict", function () { info@54: var modal = $.fn.modal.noConflict() info@54: ok(!$.fn.modal, 'modal was set back to undefined (org value)') info@54: $.fn.modal = modal info@54: }) info@54: info@54: test("should be defined on jquery object", function () { info@54: var div = $("") info@54: ok(div.modal, 'modal method is defined') info@54: }) info@54: info@54: test("should return element", function () { info@54: var div = $("") info@54: ok(div.modal() == div, 'document.body returned') info@54: $('#modal-test').remove() info@54: }) info@54: info@54: test("should expose defaults var for settings", function () { info@54: ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed') info@54: }) info@54: info@54: test("should insert into dom when show method is called", function () { info@54: stop() info@54: $.support.transition = false info@54: $("") info@54: .on("shown.bs.modal", function () { info@54: ok($('#modal-test').length, 'modal inserted into dom') info@54: $(this).remove() info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should fire show event", function () { info@54: stop() info@54: $.support.transition = false info@54: $("") info@54: .on("show.bs.modal", function () { info@54: ok(true, "show was called") info@54: }) info@54: .on("shown.bs.modal", function () { info@54: $(this).remove() info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should not fire shown when default prevented", function () { info@54: stop() info@54: $.support.transition = false info@54: $("") info@54: .on("show.bs.modal", function (e) { info@54: e.preventDefault() info@54: ok(true, "show was called") info@54: start() info@54: }) info@54: .on("shown.bs.modal", function () { info@54: ok(false, "shown was called") info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should hide modal when hide is called", function () { info@54: stop() info@54: $.support.transition = false info@54: info@54: $("") info@54: .on("shown.bs.modal", function () { info@54: ok($('#modal-test').is(":visible"), 'modal visible') info@54: ok($('#modal-test').length, 'modal inserted into dom') info@54: $(this).modal("hide") info@54: }) info@54: .on("hidden.bs.modal", function() { info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: $('#modal-test').remove() info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should toggle when toggle is called", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("") info@54: div info@54: .on("shown.bs.modal", function () { info@54: ok($('#modal-test').is(":visible"), 'modal visible') info@54: ok($('#modal-test').length, 'modal inserted into dom') info@54: div.modal("toggle") info@54: }) info@54: .on("hidden.bs.modal", function() { info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: div.remove() info@54: start() info@54: }) info@54: .modal("toggle") info@54: }) info@54: info@54: test("should remove from dom when click [data-dismiss=modal]", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("") info@54: div info@54: .on("shown.bs.modal", function () { info@54: ok($('#modal-test').is(":visible"), 'modal visible') info@54: ok($('#modal-test').length, 'modal inserted into dom') info@54: div.find('.close').click() info@54: }) info@54: .on("hidden.bs.modal", function() { info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: div.remove() info@54: start() info@54: }) info@54: .modal("toggle") info@54: }) info@54: info@54: test("should allow modal close with 'backdrop:false'", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("
", { id: 'modal-test', "data-backdrop": false }) info@54: div info@54: .on("shown.bs.modal", function () { info@54: ok($('#modal-test').is(":visible"), 'modal visible') info@54: div.modal("hide") info@54: }) info@54: .on("hidden.bs.modal", function() { info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: div.remove() info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should close modal when clicking outside of modal-content", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("") info@54: div info@54: .bind("shown.bs.modal", function () { info@54: ok($('#modal-test').length, 'modal insterted into dom') info@54: $('.contents').click() info@54: ok($('#modal-test').is(":visible"), 'modal visible') info@54: $('#modal-test').click() info@54: }) info@54: .bind("hidden.bs.modal", function() { info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: div.remove() info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should trigger hide event once when clicking outside of modal-content", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("") info@54: var triggered info@54: div info@54: .bind("shown.bs.modal", function () { info@54: triggered = 0 info@54: $('#modal-test').click() info@54: }) info@54: .one("hidden.bs.modal", function() { info@54: div.modal("show") info@54: }) info@54: .bind("hide.bs.modal", function () { info@54: triggered += 1 info@54: ok(triggered === 1, 'modal hide triggered once') info@54: start() info@54: }) info@54: .modal("show") info@54: }) info@54: info@54: test("should close reopened modal with [data-dismiss=modal] click", function () { info@54: stop() info@54: $.support.transition = false info@54: var div = $("") info@54: div info@54: .bind("shown.bs.modal", function () { info@54: $('#close').click() info@54: ok(!$('#modal-test').is(":visible"), 'modal hidden') info@54: }) info@54: .one("hidden.bs.modal", function() { info@54: div.one('hidden.bs.modal', function () { info@54: start() info@54: }).modal("show") info@54: }) info@54: .modal("show") info@54: info@54: div.remove() info@54: }) info@54: })