X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=70c721f823d0160631dd329b66d9d535b2bf35ee;hb=5dc6b7ce3469eaadb37a151d449e8d36571d1894;hp=1ad7c3d0ca876b578d68a7746ef8fdfddae8a268;hpb=d42afd0f657d12d6daba6894d40226bea83fe1b6;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index 1ad7c3d..70c721f 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -608,7 +608,7 @@ test("toggle(Function, Function, ...)", function() { }); test(".live()/.die()", function() { - expect(58); + expect(61); var submit = 0, div = 0, livea = 0, liveb = 0; @@ -818,6 +818,43 @@ test(".live()/.die()", function() { jQuery('span#liveSpan1 a').click(); jQuery('span#liveSpan1').die('click'); + + // Work with deep selectors + livee = 0; + + function clickB(){ livee++; } + + jQuery("#nothiddendiv div").live("click", function(){ livee++; }); + jQuery("#nothiddendiv div").live("click", clickB); + jQuery("#nothiddendiv div").live("mouseover", function(){ livee++; }); + + equals( livee, 0, "No clicks, deep selector." ); + + livee = 0; + jQuery("#nothiddendivchild").trigger("click"); + equals( livee, 2, "Click, deep selector." ); + + livee = 0; + jQuery("#nothiddendivchild").trigger("mouseover"); + equals( livee, 1, "Mouseover, deep selector." ); + + jQuery("#nothiddendiv div").die("mouseover"); + + livee = 0; + jQuery("#nothiddendivchild").trigger("click"); + equals( livee, 2, "Click, deep selector." ); + + livee = 0; + jQuery("#nothiddendivchild").trigger("mouseover"); + equals( livee, 0, "Mouseover, deep selector." ); + + jQuery("#nothiddendiv div").die("click", clickB); + + livee = 0; + jQuery("#nothiddendivchild").trigger("click"); + equals( livee, 1, "Click, deep selector." ); + + jQuery("#nothiddendiv div").die("click"); }); test("live with change", function(){ @@ -836,26 +873,20 @@ test("live with change", function(){ // test click on select - // first click sets data - if ( !jQuery.support.changeBubbles ) { - select[0].selectedIndex = 1; - select.trigger("keyup"); - } - // second click that changed it selectChange = 0; select[0].selectedIndex = select[0].selectedIndex ? 0 : 1; - select.trigger(jQuery.support.changeBubbles ? "change" : "click"); + select.trigger("change"); equals( selectChange, 1, "Change on click." ); // test keys on select selectChange = 0; select[0].selectedIndex = select[0].selectedIndex ? 0 : 1; - select.trigger(jQuery.support.changeBubbles ? "change" : "keyup"); + select.trigger("change"); equals( selectChange, 1, "Change on keyup." ); // test click on checkbox - checkbox.trigger(jQuery.support.changeBubbles ? "change" : "click"); + checkbox.trigger("change"); equals( checkboxChange, 1, "Change on checkbox." ); // test before activate on radio @@ -866,12 +897,8 @@ test("live with change", function(){ textareaChange++; }); - if ( !jQuery.support.changeBubbles ) { - textarea.trigger("focus"); - } - textarea.val(oldVal + "foo"); - textarea.trigger(jQuery.support.changeBubbles ? "change" : "blur"); + textarea.trigger("change"); equals( textareaChange, 1, "Change on textarea." ); textarea.val(oldVal); @@ -883,12 +910,8 @@ test("live with change", function(){ textChange++; }); - if ( !jQuery.support.changeBubbles ) { - text.trigger("focus"); - } - text.val(oldVal+"foo"); - text.trigger(jQuery.support.changeBubbles ? "change" : "blur"); + text.trigger("change"); equals( textChange, 1, "Change on text input." ); text.val(oldTextVal); @@ -900,12 +923,8 @@ test("live with change", function(){ passwordChange++; }); - if ( !jQuery.support.changeBubbles ) { - password.trigger("focus"); - } - password.val(oldPasswordVal + "foo"); - password.trigger(jQuery.support.changeBubbles ? "change" : "blur"); + password.trigger("change"); equals( passwordChange, 1, "Change on password input." ); password.val(oldPasswordVal); @@ -917,17 +936,17 @@ test("live with change", function(){ selectChange = 0; select.die("change"); select[0].selectedIndex = select[0].selectedIndex ? 0 : 1; - select.trigger(jQuery.support.changeBubbles ? "change" : "click"); + select.trigger("change"); equals( selectChange, 0, "Die on click works." ); selectChange = 0; select[0].selectedIndex = select[0].selectedIndex ? 0 : 1; - select.trigger(jQuery.support.changeBubbles ? "change" : "keyup"); + select.trigger("change"); equals( selectChange, 0, "Die on keyup works." ); // die specific checkbox checkbox.die("change", checkboxFunction); - checkbox.trigger(jQuery.support.changeBubbles ? "change" : "click"); + checkbox.trigger("change"); equals( checkboxChange, 1, "Die on checkbox." ); });