diff options
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/dialog/dialog_events.js | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/tests/unit/dialog/dialog_events.js b/tests/unit/dialog/dialog_events.js index c60e47f22..a0ff2abce 100644 --- a/tests/unit/dialog/dialog_events.js +++ b/tests/unit/dialog/dialog_events.js @@ -186,8 +186,40 @@ test("close", function() { el.remove(); }); +//handling of deprecated beforeclose (vs beforeClose) option +//Ticket #4669 http://dev.jqueryui.com/ticket/4669 +//TODO: remove in 1.9pre +test("beforeclose", function() { + expect(10); + + el = $('<div></div>').dialog({ + beforeclose: function(ev, ui) { + ok(true, '.dialog("close") fires beforeClose callback'); + equals(this, el[0], "context of callback"); + equals(ev.type, 'dialogbeforeclose', 'event type in callback'); + same(ui, {}, 'ui hash in callback'); + return false; + } + }); + el.dialog('close'); + isOpen('beforeclose (deprecated) callback should prevent dialog from closing'); + el.remove(); + + el = $('<div></div>').dialog(); + el.dialog('option', 'beforeclose', function(ev, ui) { + ok(true, '.dialog("close") fires beforeClose callback'); + equals(this, el[0], "context of callback"); + equals(ev.type, 'dialogbeforeclose', 'event type in callback'); + same(ui, {}, 'ui hash in callback'); + return false; + }); + el.dialog('close'); + isOpen('beforeclose (deprecated) callback should prevent dialog from closing'); + el.remove(); +}); + test("beforeClose", function() { - expect(9); + expect(14); el = $('<div></div>').dialog({ beforeClose: function(ev, ui) { @@ -202,6 +234,18 @@ test("beforeClose", function() { isOpen('beforeClose callback should prevent dialog from closing'); el.remove(); + el = $('<div></div>').dialog(); + el.dialog('option', 'beforeClose', function(ev, ui) { + ok(true, '.dialog("close") fires beforeClose callback'); + equals(this, el[0], "context of callback"); + equals(ev.type, 'dialogbeforeclose', 'event type in callback'); + same(ui, {}, 'ui hash in callback'); + return false; + }); + el.dialog('close'); + isOpen('beforeClose callback should prevent dialog from closing'); + el.remove(); + el = $('<div></div>').dialog().bind('dialogbeforeclose', function(ev, ui) { ok(true, '.dialog("close") triggers dialogbeforeclose event'); equals(this, el[0], "context of event"); |