X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fevent.js;h=98833ece87d9267fb025ae840a92be19467b7972;hb=8f042d8be34fe2d197e45d6fa398456759a4c007;hp=b2270ad9266c3724f2790334e3f67c58ebd4a9bb;hpb=71efbdd3b26f3a283f8d4bfdcc7b6343142027b9;p=jquery.git diff --git a/test/unit/event.js b/test/unit/event.js index b2270ad..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(53); + expect(54); var submit = 0, div = 0, livea = 0, liveb = 0; @@ -583,6 +601,10 @@ test(".live()/.die()", function() { 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; }); var hash = window.location.hash; @@ -684,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();