Made sure that return false works in .live() along with the event object being passed...
[jquery.git] / test / unit / event.js
index 296c092..e80774f 100644 (file)
@@ -270,7 +270,7 @@ test("unbind(event)", function() {
 });
 
 test("trigger(event, [data], [fn])", function() {
-       expect(67);
+       expect(69);
 
        var handler = function(event, a, b, c) {
                equals( event.type, "click", "check passed data" );
@@ -330,8 +330,13 @@ test("trigger(event, [data], [fn])", function() {
        // Triggers 8
        equals( $elem.triggerHandler("click", [1, "2", "abc"], handler2), false, "Verify handler response" );
 
+       var eventObj = jQuery.Event("noNew");
+       
+       ok( eventObj != window, "Instantiate jQuery.Event without the 'new' keyword" );
+       equals( eventObj.type, "noNew", "Verify its type" );
+       
        // Build fake click event to pass in
-       var eventObj = new jQuery.Event("click");
+       eventObj = new jQuery.Event("click");
 
        // Trigger only the handlers (no native), with external event obj
        // Triggers 5
@@ -434,7 +439,7 @@ test("toggle(Function, Function, ...)", function() {
 });
 
 test(".live()/.die()", function() {
-       expect(28);
+       expect(30);
 
        var submit = 0, div = 0, livea = 0, liveb = 0;
 
@@ -496,6 +501,20 @@ test(".live()/.die()", function() {
        jQuery("div#nothiddendiv").die("click");
        jQuery("div").die("click");
        jQuery("div").die("submit");
+
+       // Verify that return false prevents default action
+       jQuery("#anchor2").live("click", function(){ return false; });
+       var hash = window.location.hash;
+       jQuery("#anchor2").trigger("click");
+       equals( window.location.hash, hash, "return false worked" );
+       jQuery("#anchor2").die("click");
+
+       // Verify that .preventDefault() prevents default action
+       jQuery("#anchor2").live("click", function(e){ e.preventDefault(); });
+       var hash = window.location.hash;
+       jQuery("#anchor2").trigger("click");
+       equals( window.location.hash, hash, "e.preventDefault() worked" );
+       jQuery("#anchor2").die("click");
 });
 
 /*