X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=98833ece87d9267fb025ae840a92be19467b7972;hb=8f042d8be34fe2d197e45d6fa398456759a4c007;hp=89067288386cea43ab822950a2cf8b27cd32407e;hpb=45b8d2531ef6a7c775ca3bac06bcad6ffc5419e3;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index 8906728..98833ec 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -233,6 +233,24 @@ test("unbind(eventObject)", function() { assert( 0 ); }); +test("hover()", function() { + var times = 0, + handler1 = function( event ) { ++times; }, + handler2 = function( event ) { ++times; }; + + jQuery("#firstp") + .hover(handler1, handler2) + .mouseenter().mouseleave() + .unbind("mouseenter", handler1) + .unbind("mouseleave", handler2) + .hover(handler1) + .mouseenter().mouseleave() + .unbind("mouseenter mouseleave", handler1) + .mouseenter().mouseleave(); + + equals( times, 4, "hover handlers fired" ); +}); + test("trigger() shortcuts", function() { expect(6); jQuery('
  • Change location
  • ').prependTo('#firstUL').find('a').bind('click', function() { @@ -490,7 +508,7 @@ test("toggle(Function, Function, ...)", function() { }); test(".live()/.die()", function() { - expect(52); + expect(54); var submit = 0, div = 0, livea = 0, liveb = 0; @@ -579,6 +597,13 @@ test(".live()/.die()", function() { jQuery("#foo").trigger('click'); equals( clicked, 2, "die with a context"); + // Test binding with event data + jQuery("#foo").live("click", true, function(e){ equals( e.data, true, "live with event data" ); }); + jQuery("#foo").trigger("click").die("click"); + + // Test binding with trigger data + jQuery("#foo").live("click", function(e, data){ equals( data, true, "live with trigger data" ); }); + jQuery("#foo").trigger("click", true).die("click"); // Verify that return false prevents default action jQuery("#anchor2").live("click", function(){ return false; }); @@ -681,6 +706,27 @@ test(".live()/.die()", function() { jQuery('span#liveSpan1').die('click'); }); +test("Non DOM element events", function() { + expect(3); + + jQuery({}) + .bind('nonelementglobal', function(e) { + ok( true, "Global event on non-DOM annonymos object triggered" ); + }); + + var o = {}; + + jQuery(o) + .bind('nonelementobj', function(e) { + ok( true, "Event on non-DOM object triggered" ); + }).bind('nonelementglobal', function() { + ok( true, "Global event on non-DOM object triggered" ); + }); + + jQuery(o).trigger('nonelementobj'); + jQuery.event.trigger('nonelementglobal'); +}); + /* test("jQuery(function($) {})", function() { stop();