X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=3c77e3445c975d43e0982d3f9156bccd727f18d0;hb=2c4b20809e5d32e916c479c9b63a6b7528c880ce;hp=9e1ac8922ae62b9761387544f655ea5d0818229f;hpb=d54014ed91f05af50be8c6ed2bcf3fb78604e82b;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index 9e1ac89..3c77e34 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(); @@ -216,7 +255,7 @@ test("bind(), iframes", function() { }); test("bind(), trigger change on select", function() { - expect(3); + expect(4); var counter = 0; function selectOnChange(event) { equals( event.data, counter++, "Event.data is not a global event object" );