diff options
Diffstat (limited to 'tests/unit/dialog/dialog_methods.js')
-rw-r--r-- | tests/unit/dialog/dialog_methods.js | 72 |
1 files changed, 41 insertions, 31 deletions
diff --git a/tests/unit/dialog/dialog_methods.js b/tests/unit/dialog/dialog_methods.js index ba0c2bd41..7048a76a9 100644 --- a/tests/unit/dialog/dialog_methods.js +++ b/tests/unit/dialog/dialog_methods.js @@ -24,8 +24,8 @@ test("init", function() { $('<div></div>').appendTo('body').remove().dialog().remove(); ok(true, '.dialog() called on disconnected DOMElement - removed'); - el = $('<div></div>').dialog(); - var foo = el.dialog("option", "foo"); + var el = $('<div></div>').dialog(); + el.dialog("option", "foo"); el.remove(); ok(true, 'arbitrary option getter after init'); @@ -53,46 +53,49 @@ test("destroy", function() { test("enable", function() { expect( 3 ); - var expected = $('<div></div>').dialog(), + var el, + expected = $('<div></div>').dialog(), actual = expected.dialog('enable'); equal(actual, expected, 'enable is chainable'); el = $('<div></div>').dialog({ disabled: true }); el.dialog('enable'); equal(el.dialog('option', 'disabled'), false, 'enable method sets disabled option to false'); - ok(!dlg().hasClass('ui-dialog-disabled'), 'enable method removes ui-dialog-disabled class from ui-dialog element'); + ok(!el.dialog('widget').hasClass('ui-dialog-disabled'), 'enable method removes ui-dialog-disabled class from ui-dialog element'); }); test("disable", function() { expect( 3 ); - var expected = $('<div></div>').dialog(), + var el, + expected = $('<div></div>').dialog(), actual = expected.dialog('disable'); equal(actual, expected, 'disable is chainable'); el = $('<div></div>').dialog({ disabled: false }); el.dialog('disable'); equal(el.dialog('option', 'disabled'), true, 'disable method sets disabled option to true'); - ok(dlg().hasClass('ui-dialog-disabled'), 'disable method adds ui-dialog-disabled class to ui-dialog element'); + ok(el.dialog('widget').hasClass('ui-dialog-disabled'), 'disable method adds ui-dialog-disabled class to ui-dialog element'); }); test("close", function() { expect( 3 ); - var expected = $('<div></div>').dialog(), + var el, + expected = $('<div></div>').dialog(), actual = expected.dialog('close'); equal(actual, expected, 'close is chainable'); el = $('<div></div>').dialog(); - ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible before close method called'); + ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible before close method called'); el.dialog('close'); - ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden after close method called'); + ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden after close method called'); }); test("isOpen", function() { expect(4); - el = $('<div></div>').dialog(); + var el = $('<div></div>').dialog(); equal(el.dialog('isOpen'), true, "dialog is open after init"); el.dialog('close'); equal(el.dialog('isOpen'), false, "dialog is closed"); @@ -106,36 +109,43 @@ test("isOpen", function() { }); test("moveToTop", function() { - expect( 3 ); - - var d1, d2, dlg1, dlg2, - expected = $('<div></div>').dialog(), - actual = expected.dialog('moveToTop'); - equal(actual, expected, 'moveToTop is chainable'); - - d1 = $('<div></div>').dialog(); - dlg1 = d1.parents('.ui-dialog'); - d1.dialog('close'); - d1.dialog('open'); - d2 = $('<div></div>').dialog(); - dlg2 = d2.parents('.ui-dialog'); - d2.dialog('close'); - d2.dialog('open'); - ok(dlg1.css('zIndex') < dlg2.css('zIndex'), 'dialog 1 under dialog 2 before moveToTop method called'); - d1.dialog('moveToTop'); - ok(dlg1.css('zIndex') > dlg2.css('zIndex'), 'dialog 1 above dialog 2 after moveToTop method called'); + expect( 5 ); + function order() { + var actual = $( ".ui-dialog" ).map(function() { + return +$( this ).find( ".ui-dialog-content" ).attr( "id" ).replace( /\D+/, "" ); + }).get().reverse(); + deepEqual( actual, $.makeArray( arguments ) ); + } + var dialog1, dialog2, + focusOn = "dialog1"; + dialog1 = $( "#dialog1" ).dialog({ + focus: function() { + equal( focusOn, "dialog1" ); + } + }); + focusOn = "dialog2"; + dialog2 = $( "#dialog2" ).dialog({ + focus: function() { + equal( focusOn, "dialog2" ); + } + }); + order( 2, 1 ); + focusOn = "dialog1"; + dialog1.dialog( "moveToTop" ); + order( 1, 2 ); }); test("open", function() { expect( 3 ); - var expected = $('<div></div>').dialog(), + var el, + expected = $('<div></div>').dialog(), actual = expected.dialog('open'); equal(actual, expected, 'open is chainable'); el = $('<div></div>').dialog({ autoOpen: false }); - ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden before open method called'); + ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden before open method called'); el.dialog('open'); - ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible after open method called'); + ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible after open method called'); }); })(jQuery); |