X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=30324978bd1eb8a35caefd255cea501b3b6c5c03;hb=7367b524ec6c7cda0a4146e50a5dc6d7764bdef7;hp=9e1ac8922ae62b9761387544f655ea5d0818229f;hpb=1ba2df02d6242d734297344a85b7bea3788a0671;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index 9e1ac89..3032497 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -206,6 +206,45 @@ test("bind/one/unbind(Object)", function(){ equals( mouseoverCounter, 4, "bind(Object)" ); }); +test("live/die(Object), delegate/undelegate(String, Object)", function() { + expect(6); + + var clickCounter = 0, mouseoverCounter = 0, + $p = jQuery("#firstp"), $a = $p.find("a:first"); + + var events = { + click: function( event ) { + clickCounter += ( event.data || 1 ); + }, + mouseover: function( event ) { + mouseoverCounter += ( event.data || 1 ); + } + }; + + function trigger() { + $a.trigger("click").trigger("mouseover"); + } + + $a.live( events ); + $p.delegate( "a", events, 2 ); + + trigger(); + equals( clickCounter, 3, "live/delegate" ); + equals( mouseoverCounter, 3, "live/delegate" ); + + $p.undelegate( "a", events ); + + trigger(); + equals( clickCounter, 4, "undelegate" ); + equals( mouseoverCounter, 4, "undelegate" ); + + $a.die( events ); + + trigger(); + equals( clickCounter, 4, "die" ); + equals( mouseoverCounter, 4, "die" ); +}); + test("bind(), iframes", function() { // events don't work with iframes, see #939 - this test fails in IE because of contentDocument var doc = jQuery("#loadediframe").contents();