X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=54431dd33e094d4fe8f9267bf41683c92e796c3c;hb=974b5aeab7a3788ff5fb9db87b9567784e0249fc;hp=f3d314884f952acf7aac4bff3ce90485db650f01;hpb=0564553bf15cd54eb5af18810bf2e9300628ccc1;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index f3d3148..54431dd 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -1,5 +1,25 @@ module("event"); +test("null or undefined handler", function() { + expect(2); + // Supports Fixes bug #7229 + try { + + jQuery("#firstp").click(null); + + ok(true, "Passing a null handler will not throw an exception"); + + } catch (e) {} + + try { + + jQuery("#firstp").click(undefined); + + ok(true, "Passing an undefined handler will not throw an exception"); + + } catch (e) {} +}); + test("bind(), with data", function() { expect(3); var handler = function(event) { @@ -245,6 +265,36 @@ test("live/die(Object), delegate/undelegate(String, Object)", function() { equals( mouseoverCounter, 4, "die" ); }); +test("live/delegate immediate propagation", function() { + expect(2); + + var $p = jQuery("#firstp"), $a = $p.find("a:first"), lastClick; + + lastClick = ""; + $a.live( "click", function(e) { + lastClick = "click1"; + e.stopImmediatePropagation(); + }); + $a.live( "click", function(e) { + lastClick = "click2"; + }); + $a.trigger( "click" ); + equals( lastClick, "click1", "live stopImmediatePropagation" ); + $a.die( "click" ); + + lastClick = ""; + $p.delegate( "a", "click", function(e) { + lastClick = "click1"; + e.stopImmediatePropagation(); + }); + $p.delegate( "a", "click", function(e) { + lastClick = "click2"; + }); + $a.trigger( "click" ); + equals( lastClick, "click1", "delegate stopImmediatePropagation" ); + $p.undelegate( "click" ); +}); + 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();