From 8ca9f931ec311b6f73990eac7665451a28bceac3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Go=C5=82=C4=99biowski?= Date: Mon, 4 Mar 2013 03:22:11 +0100 Subject: [PATCH] bind/unbind changed to on/off in unit tests; refs #13554 --- test/unit/ajax.js | 6 +- test/unit/data.js | 4 +- test/unit/event.js | 320 +++++++++++++++++++------------------- test/unit/manipulation.js | 14 +- 4 files changed, 171 insertions(+), 173 deletions(-) diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 79f410406..a0a2abf4a 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -1585,13 +1585,13 @@ module( "ajax", { type: "POST" }); - jQuery( document ).bind( "ajaxStart ajaxStop", function() { + jQuery( document ).on( "ajaxStart ajaxStop", function() { ok( false, "Global event triggered" ); }); jQuery("#qunit-fixture").append(""); - jQuery( document ).unbind("ajaxStart ajaxStop"); + jQuery( document ).off("ajaxStart ajaxStop"); }); asyncTest( "#11402 - jQuery.domManip() - script in comments are properly evaluated", 2, function() { @@ -1845,7 +1845,7 @@ module( "ajax", { }); jQuery( document ).ajaxComplete(function( e, xml, s ) { strictEqual( s.dataType, "html", "Verify the load() dataType was html" ); - jQuery( document ).unbind("ajaxComplete"); + jQuery( document ).off("ajaxComplete"); start(); }); jQuery("#first").load("data/test3.html"); diff --git a/test/unit/data.js b/test/unit/data.js index b308171b5..d813ec82d 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -133,7 +133,7 @@ test("jQuery.data({})", 25, function() { test("jQuery.data(window)", 25, function() { // remove bound handlers from window object to stop potential false positives caused by fix for #5280 in // transports/xhr.js - jQuery(window).unbind("unload"); + jQuery(window).off("unload"); dataTests(window); }); @@ -635,7 +635,7 @@ test(".removeData should not throw exceptions. (#10080)", function() { expect(1); stop(); var frame = jQuery("#loadediframe"); - jQuery(frame[0].contentWindow).bind("unload", function() { + jQuery(frame[0].contentWindow).on("unload", function() { ok(true, "called unload"); start(); }); diff --git a/test/unit/event.js b/test/unit/event.js index 67d87ded0..67e2ab891 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -14,21 +14,19 @@ test("null or undefined handler", function() { } catch (e) {} }); -test("bind(),on(),delegate() with non-null,defined data", function() { +test("on() with non-null,defined data", function() { - expect(3); + expect(2); var handler = function( event, data ) { equal( data, 0, "non-null, defined data (zero) is correctly passed" ); }; - jQuery("#foo").bind("foo.bind", handler); jQuery("#foo").on("foo.on", handler); jQuery("div").delegate("#foo", "foo.delegate", handler); jQuery("#foo").trigger("foo", 0); - jQuery("#foo").unbind("foo.bind", handler); jQuery("#foo").off("foo.on", handler); jQuery("div").undelegate("#foo", "foo.delegate"); @@ -60,35 +58,35 @@ test("Handler changes and .trigger() order", function() { markup.remove(); }); -test("bind(), with data", function() { +test("on(), with data", function() { expect(4); var handler = function(event) { - ok( event.data, "bind() with data, check passed data exists" ); - equal( event.data["foo"], "bar", "bind() with data, Check value of passed data" ); + ok( event.data, "on() with data, check passed data exists" ); + equal( event.data["foo"], "bar", "on() with data, Check value of passed data" ); }; - jQuery("#firstp").bind("click", {"foo": "bar"}, handler).trigger("click").unbind("click", handler); + jQuery("#firstp").on("click", {"foo": "bar"}, handler).trigger("click").off("click", handler); ok( !jQuery._data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." ); var test = function(){}; var handler2 = function(event) { - equal( event.data, test, "bind() with function data, Check value of passed data" ); + equal( event.data, test, "on() with function data, Check value of passed data" ); }; - jQuery("#firstp").bind("click", test, handler2).trigger("click").unbind("click", handler2); + jQuery("#firstp").on("click", test, handler2).trigger("click").off("click", handler2); }); test("click(), with data", function() { expect(3); var handler = function(event) { - ok( event.data, "bind() with data, check passed data exists" ); - equal( event.data["foo"], "bar", "bind() with data, Check value of passed data" ); + ok( event.data, "on() with data, check passed data exists" ); + equal( event.data["foo"], "bar", "on() with data, Check value of passed data" ); }; - jQuery("#firstp").on( "click", {"foo": "bar"}, handler).trigger("click").unbind("click", handler); + jQuery("#firstp").on( "click", {"foo": "bar"}, handler).trigger("click").off("click", handler); ok( !jQuery._data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." ); }); -test("bind(), with data, trigger with data", function() { +test("on(), with data, trigger with data", function() { expect(4); var handler = function(event, data) { ok( event.data, "check passed data exists" ); @@ -96,10 +94,10 @@ test("bind(), with data, trigger with data", function() { ok( data, "Check trigger data" ); equal( data.bar, "foo", "Check value of trigger data" ); }; - jQuery("#firstp").bind("click", {foo: "bar"}, handler).trigger("click", [{bar: "foo"}]).unbind("click", handler); + jQuery("#firstp").on("click", {foo: "bar"}, handler).trigger("click", [{bar: "foo"}]).off("click", handler); }); -test("bind(), multiple events at once", function() { +test("on(), multiple events at once", function() { expect(2); var clickCounter = 0, mouseoverCounter = 0; @@ -112,12 +110,12 @@ test("bind(), multiple events at once", function() { } }; - jQuery("#firstp").bind("click mouseover", handler).trigger("click").trigger("mouseover"); - equal( clickCounter, 1, "bind() with multiple events at once" ); - equal( mouseoverCounter, 1, "bind() with multiple events at once" ); + jQuery("#firstp").on("click mouseover", handler).trigger("click").trigger("mouseover"); + equal( clickCounter, 1, "on() with multiple events at once" ); + equal( mouseoverCounter, 1, "on() with multiple events at once" ); }); -test("bind(), five events at once", function() { +test("on(), five events at once", function() { expect(1); var count = 0, @@ -125,20 +123,20 @@ test("bind(), five events at once", function() { count++; }; - jQuery("#firstp").bind("click mouseover foo bar baz", handler) + jQuery("#firstp").on("click mouseover foo bar baz", handler) .trigger("click").trigger("mouseover") .trigger("foo").trigger("bar") .trigger("baz"); - equal( count, 5, "bind() five events at once" ); + equal( count, 5, "on() five events at once" ); }); -test("bind(), multiple events at once and namespaces", function() { +test("on(), multiple events at once and namespaces", function() { expect(7); var cur, obj = {}; - var div = jQuery("
").bind("focusin.a", function(e) { + var div = jQuery("
").on("focusin.a", function(e) { equal( e.type, cur, "Verify right single event was fired." ); }); @@ -148,7 +146,7 @@ test("bind(), multiple events at once and namespaces", function() { // manually clean up detached elements div.remove(); - div = jQuery("
").bind("click mouseover", obj, function(e) { + div = jQuery("
").on("click mouseover", obj, function(e) { equal( e.type, cur, "Verify right multi event was fired." ); equal( e.data, obj, "Make sure the data came in correctly." ); }); @@ -162,7 +160,7 @@ test("bind(), multiple events at once and namespaces", function() { // manually clean up detached elements div.remove(); - div = jQuery("
").bind("focusin.a focusout.b", function(e) { + div = jQuery("
").on("focusin.a focusout.b", function(e) { equal( e.type, cur, "Verify right multi event was fired." ); }); @@ -176,10 +174,10 @@ test("bind(), multiple events at once and namespaces", function() { div.remove(); }); -test("bind(), namespace with special add", function() { +test("on(), namespace with special add", function() { expect(27); - var div = jQuery("
").bind("test", function(e) { + var div = jQuery("
").on("test", function(e) { ok( true, "Test event fired." ); }); @@ -208,12 +206,12 @@ test("bind(), namespace with special add", function() { } }; - div.bind("test.a", {"x": 1}, function(e) { + div.on("test.a", {"x": 1}, function(e) { ok( !!e.xyz, "Make sure that the data is getting passed through." ); equal( e.data["x"], 1, "Make sure data is attached properly." ); }); - div.bind("test.b", {"x": 2}, function(e) { + div.on("test.b", {"x": 2}, function(e) { ok( !!e.xyz, "Make sure that the data is getting passed through." ); equal( e.data["x"], 2, "Make sure data is attached properly." ); }); @@ -228,9 +226,9 @@ test("bind(), namespace with special add", function() { div.trigger("test.b", { year: 1982 }); // Should trigger 4 - div.unbind("test"); + div.off("test"); - div = jQuery("
").bind("test", function(e) { + div = jQuery("
").on("test", function(e) { ok( true, "Test event fired." ); }); @@ -240,15 +238,15 @@ test("bind(), namespace with special add", function() { delete jQuery.event.special["test"]; }); -test("bind(), no data", function() { +test("on(), no data", function() { expect(1); var handler = function(event) { ok ( !event.data, "Check that no data is added to the event object" ); }; - jQuery("#firstp").bind("click", handler).trigger("click"); + jQuery("#firstp").on("click", handler).trigger("click"); }); -test("bind/one/unbind(Object)", function(){ +test("on/one/off(Object)", function(){ expect(6); var clickCounter = 0, mouseoverCounter = 0; @@ -278,7 +276,7 @@ test("bind/one/unbind(Object)", function(){ var $elem = jQuery("#firstp") // Regular bind - .bind({ + .on({ "click":handler, "mouseover":handler }) @@ -290,21 +288,21 @@ test("bind/one/unbind(Object)", function(){ trigger(); - equal( clickCounter, 3, "bind(Object)" ); - equal( mouseoverCounter, 3, "bind(Object)" ); + equal( clickCounter, 3, "on(Object)" ); + equal( mouseoverCounter, 3, "on(Object)" ); trigger(); - equal( clickCounter, 4, "bind(Object)" ); - equal( mouseoverCounter, 4, "bind(Object)" ); + equal( clickCounter, 4, "on(Object)" ); + equal( mouseoverCounter, 4, "on(Object)" ); - jQuery("#firstp").unbind({ + jQuery("#firstp").off({ "click":handler, "mouseover":handler }); trigger(); - equal( clickCounter, 4, "bind(Object)" ); - equal( mouseoverCounter, 4, "bind(Object)" ); + equal( clickCounter, 4, "on(Object)" ); + equal( mouseoverCounter, 4, "on(Object)" ); }); test("on/off(Object), delegate/undelegate(String, Object)", function() { @@ -380,7 +378,7 @@ test("on/delegate immediate propagation", function() { $p.undelegate( "click" ); }); -test("bind/delegate bubbling, isDefaultPrevented", function() { +test("on/delegate bubbling, isDefaultPrevented", function() { expect(2); var $anchor2 = jQuery( "#anchor2" ), $main = jQuery( "#qunit-fixture" ), @@ -410,7 +408,7 @@ test("bind/delegate bubbling, isDefaultPrevented", function() { } }); fakeClick( $anchor2 ); - $anchor2.unbind( "click" ); + $anchor2.off( "click" ); $main.undelegate( "click" ); $anchor2.on( "click", function(e) { // Let the default action occur @@ -419,45 +417,45 @@ test("bind/delegate bubbling, isDefaultPrevented", function() { equal( e.isDefaultPrevented(), false, "isDefaultPrevented false passed to bubbled event" ); }); fakeClick( $anchor2 ); - $anchor2.unbind( "click" ); + $anchor2.off( "click" ); $main.undelegate( "click" ); }); -test("bind(), iframes", function() { +test("on(), iframes", function() { expect( 1 ); // events don't work with iframes, see #939 - this test fails in IE because of contentDocument var doc = jQuery("#loadediframe").contents(); - jQuery("div", doc).bind("click", function() { + jQuery("div", doc).on("click", function() { ok( true, "Binding to element inside iframe" ); - }).trigger("click").unbind("click"); + }).trigger("click").off("click"); }); -test("bind(), trigger change on select", function() { +test("on(), trigger change on select", function() { expect(5); var counter = 0; function selectOnChange(event) { equal( event.data, counter++, "Event.data is not a global event object" ); } jQuery("#form select").each(function(i){ - jQuery(this).bind("change", i, selectOnChange); + jQuery(this).on("change", i, selectOnChange); }).trigger("change"); }); -test("bind(), namespaced events, cloned events", 18, function() { +test("on(), namespaced events, cloned events", 18, function() { var firstp = jQuery( "#firstp" ); - firstp.bind("custom.test",function(e){ + firstp.on("custom.test",function(e){ ok(false, "Custom event triggered"); }); - firstp.bind("click",function(e){ + firstp.on("click",function(e){ ok(true, "Normal click triggered"); equal( e.type + e.namespace, "click", "Check that only click events trigger this fn" ); }); - firstp.bind("click.test",function(e){ + firstp.on("click.test",function(e){ var check = "click"; ok( true, "Namespaced click triggered" ); if ( e.namespace ) { @@ -476,20 +474,20 @@ test("bind(), namespaced events, cloned events", 18, function() { firstp.trigger("click.test"); // Remove only the one fn - firstp.unbind("click.test"); + firstp.off("click.test"); // Trigger the remaining fn (4) firstp.trigger("click"); // Remove the remaining namespaced fn - firstp.unbind(".test"); + firstp.off(".test"); // Try triggering the custom event (0) firstp.trigger("custom"); // using contents will get comments regular, text, and comment nodes - jQuery("#nonnodes").contents().bind("tester", function () { - equal(this.nodeType, 1, "Check node,textnode,comment bind just does real nodes" ); + jQuery("#nonnodes").contents().on("tester", function () { + equal(this.nodeType, 1, "Check node,textnode,comment on just does real nodes" ); }).trigger("tester"); // Make sure events stick with appendTo'd elements (which are cloned) #2027 @@ -497,7 +495,7 @@ test("bind(), namespaced events, cloned events", 18, function() { ok( jQuery("a.test").eq(0).triggerHandler("click") === false, "Handler is bound to appendTo'd elements" ); }); -test("bind(), multi-namespaced events", function() { +test("on(), multi-namespaced events", function() { expect(6); var order = [ @@ -513,25 +511,25 @@ test("bind(), multi-namespaced events", function() { deepEqual(name, order.shift(), msg); } - jQuery("#firstp").bind("custom.test",function(e){ + jQuery("#firstp").on("custom.test",function(e){ check("custom.test", "Custom event triggered"); }); - jQuery("#firstp").bind("custom.test2",function(e){ + jQuery("#firstp").on("custom.test2",function(e){ check("custom.test2", "Custom event triggered"); }); - jQuery("#firstp").bind("click.test",function(e){ + jQuery("#firstp").on("click.test",function(e){ check("click.test", "Normal click triggered"); }); - jQuery("#firstp").bind("click.test.abc",function(e){ + jQuery("#firstp").on("click.test.abc",function(e){ check("click.test.abc", "Namespaced click triggered"); }); - // Those would not trigger/unbind (#5303) + // Those would not trigger/off (#5303) jQuery("#firstp").trigger("click.a.test"); - jQuery("#firstp").unbind("click.a.test"); + jQuery("#firstp").off("click.a.test"); // Trigger both bound fn (1) jQuery("#firstp").trigger("click.test.abc"); @@ -543,13 +541,13 @@ test("bind(), multi-namespaced events", function() { jQuery("#firstp").trigger("click.test"); // Remove only the one fn - jQuery("#firstp").unbind("click.abc"); + jQuery("#firstp").off("click.abc"); // Trigger the remaining fn (1) jQuery("#firstp").trigger("click"); // Remove the remaining fn - jQuery("#firstp").unbind(".test"); + jQuery("#firstp").off(".test"); // Trigger the remaining fn (1) jQuery("#firstp").trigger("custom"); @@ -571,31 +569,31 @@ test("namespace-only event binding is a no-op", function(){ .off("whoops"); }); -test("bind(), with same function", function() { +test("on(), with same function", function() { expect(2); var count = 0, func = function(){ count++; }; - jQuery("#liveHandlerOrder").bind("foo.bar", func).bind("foo.zar", func); + jQuery("#liveHandlerOrder").on("foo.bar", func).on("foo.zar", func); jQuery("#liveHandlerOrder").trigger("foo.bar"); equal(count, 1, "Verify binding function with multiple namespaces." ); - jQuery("#liveHandlerOrder").unbind("foo.bar", func).unbind("foo.zar", func); + jQuery("#liveHandlerOrder").off("foo.bar", func).off("foo.zar", func); jQuery("#liveHandlerOrder").trigger("foo.bar"); equal(count, 1, "Verify that removing events still work." ); }); -test("bind(), make sure order is maintained", function() { +test("on(), make sure order is maintained", function() { expect(1); var elem = jQuery("#firstp"), log = [], check = []; jQuery.each( new Array(100), function( i ) { - elem.bind( "click", function(){ + elem.on( "click", function(){ log.push( i ); }); @@ -607,48 +605,48 @@ test("bind(), make sure order is maintained", function() { equal( log.join(","), check.join(","), "Make sure order was maintained." ); - elem.unbind("click"); + elem.off("click"); }); -test("bind(), with different this object", function() { +test("on(), with different this object", function() { expect(4); var thisObject = { myThis: true }, data = { myData: true }, handler1 = function( event ) { - equal( this, thisObject, "bind() with different this object" ); + equal( this, thisObject, "on() with different this object" ); }, handler2 = function( event ) { - equal( this, thisObject, "bind() with different this object and data" ); - equal( event.data, data, "bind() with different this object and data" ); + equal( this, thisObject, "on() with different this object and data" ); + equal( event.data, data, "on() with different this object and data" ); }; jQuery("#firstp") - .bind("click", jQuery.proxy(handler1, thisObject)).trigger("click").unbind("click", handler1) - .bind("click", data, jQuery.proxy(handler2, thisObject)).trigger("click").unbind("click", handler2); + .on("click", jQuery.proxy(handler1, thisObject)).trigger("click").off("click", handler1) + .on("click", data, jQuery.proxy(handler2, thisObject)).trigger("click").off("click", handler2); ok( !jQuery._data(jQuery("#firstp")[0], "events"), "Event handler unbound when using different this object and data." ); }); -test("bind(name, false), unbind(name, false)", function() { +test("on(name, false), off(name, false)", function() { expect(3); var main = 0; - jQuery("#qunit-fixture").bind("click", function(e){ main++; }); + jQuery("#qunit-fixture").on("click", function(e){ main++; }); jQuery("#ap").trigger("click"); equal( main, 1, "Verify that the trigger happened correctly." ); main = 0; - jQuery("#ap").bind("click", false); + jQuery("#ap").on("click", false); jQuery("#ap").trigger("click"); equal( main, 0, "Verify that no bubble happened." ); main = 0; - jQuery("#ap").unbind("click", false); + jQuery("#ap").off("click", false); jQuery("#ap").trigger("click"); equal( main, 1, "Verify that the trigger happened correctly." ); // manually clean up events from elements outside the fixture - jQuery("#qunit-fixture").unbind("click"); + jQuery("#qunit-fixture").off("click"); }); test("delegate(selector, name, false), undelegate(selector, name, false)", function() { @@ -672,7 +670,7 @@ test("delegate(selector, name, false), undelegate(selector, name, false)", funct jQuery("#qunit-fixture").undelegate("#ap", "click"); }); -test("bind()/trigger()/unbind() on plain object", function() { +test("on()/trigger()/off() on plain object", function() { expect( 7 ); var obj = {}; @@ -681,9 +679,9 @@ test("bind()/trigger()/unbind() on plain object", function() { jQuery(obj).trigger("test"); // Make sure it doesn't complain when no events are found - jQuery(obj).unbind("test"); + jQuery(obj).off("test"); - jQuery(obj).bind({ + jQuery(obj).on({ "test": function() { ok( true, "Custom event run." ); }, @@ -702,21 +700,21 @@ test("bind()/trigger()/unbind() on plain object", function() { jQuery(obj).trigger("test"); jQuery(obj).trigger("submit"); - jQuery(obj).unbind("test"); - jQuery(obj).unbind("submit"); + jQuery(obj).off("test"); + jQuery(obj).off("submit"); // Should trigger 0 jQuery(obj).trigger("test"); // Make sure it doesn't complain when no events are found - jQuery(obj).unbind("test"); + jQuery(obj).off("test"); equal( obj && obj[ jQuery.expando ] && obj[ jQuery.expando ][ jQuery.expando ] && obj[ jQuery.expando ][ jQuery.expando ]["events"], undefined, "Make sure events object is removed" ); }); -test("unbind(type)", function() { +test("off(type)", function() { expect( 1 ); var $elem = jQuery("#firstp"), @@ -727,42 +725,42 @@ test("unbind(type)", function() { } message = "unbind passing function"; - $elem.bind("error1", error).unbind("error1", error).triggerHandler("error1"); + $elem.on("error1", error).off("error1", error).triggerHandler("error1"); message = "unbind all from event"; - $elem.bind("error1", error).unbind("error1").triggerHandler("error1"); + $elem.on("error1", error).off("error1").triggerHandler("error1"); message = "unbind all"; - $elem.bind("error1", error).unbind().triggerHandler("error1"); + $elem.on("error1", error).off().triggerHandler("error1"); message = "unbind many with function"; - $elem.bind("error1 error2",error) - .unbind("error1 error2", error ) + $elem.on("error1 error2",error) + .off("error1 error2", error ) .trigger("error1").triggerHandler("error2"); message = "unbind many"; // #3538 - $elem.bind("error1 error2", error) - .unbind("error1 error2") + $elem.on("error1 error2", error) + .off("error1 error2") .trigger("error1").triggerHandler("error2"); message = "unbind without a type or handler"; - $elem.bind("error1 error2.test",error) - .unbind() + $elem.on("error1 error2.test",error) + .off() .trigger("error1").triggerHandler("error2"); // Should only unbind the specified function - jQuery( document ).bind( "click", function(){ + jQuery( document ).on( "click", function(){ ok( true, "called handler after selective removal"); }); var func = function(){ }; jQuery( document ) - .bind( "click", func ) - .unbind( "click", func ) + .on( "click", func ) + .off( "click", func ) .trigger("click") - .unbind( "click" ); + .off( "click" ); }); -test("unbind(eventObject)", function() { +test("off(eventObject)", function() { expect(4); var $elem = jQuery("#firstp"), @@ -776,25 +774,25 @@ test("unbind(eventObject)", function() { $elem // This handler shouldn't be unbound - .bind("foo", function(){ + .on("foo", function(){ num += 1; }) - .bind("foo", function(e){ - $elem.unbind( e ); + .on("foo", function(e){ + $elem.off( e ); num += 2; }) // Neither this one - .bind("bar", function(){ + .on("bar", function(){ num += 4; }); assert( 7 ); assert( 5 ); - $elem.unbind("bar"); + $elem.off("bar"); assert( 1 ); - $elem.unbind(); + $elem.off(); assert( 0 ); }); @@ -809,11 +807,11 @@ if ( jQuery.fn.hover ) { jQuery("#firstp") .hover(handler1, handler2) .mouseenter().mouseleave() - .unbind("mouseenter", handler1) - .unbind("mouseleave", handler2) + .off("mouseenter", handler1) + .off("mouseleave", handler2) .hover(handler1) .mouseenter().mouseleave() - .unbind("mouseenter mouseleave", handler1) + .off("mouseenter mouseleave", handler1) .mouseenter().mouseleave(); equal( times, 4, "hover handlers fired" ); @@ -841,7 +839,7 @@ test("withinElement implemented with jQuery.contains()", function() { jQuery("#qunit-fixture").append("
"); - jQuery("#jc-outer").bind("mouseenter mouseleave", function( event ) { + jQuery("#jc-outer").on("mouseenter mouseleave", function( event ) { equal( this.id, "jc-outer", this.id + " " + event.type ); @@ -849,7 +847,7 @@ test("withinElement implemented with jQuery.contains()", function() { jQuery("#jc-inner").trigger("mousenter"); - jQuery("#jc-outer").unbind("mouseenter mouseleave").remove(); + jQuery("#jc-outer").off("mouseenter mouseleave").remove(); jQuery("#jc-inner").remove(); }); @@ -880,7 +878,7 @@ if ( jQuery.fn.click ) { expect(6); var elem = jQuery("
  • Change location
  • ").prependTo("#firstUL"); - elem.find("a").bind("click", function() { + elem.find("a").on("click", function() { var close = jQuery("spanx", this); // same with jQuery(this).find("span"); equal( close.length, 0, "Context element does not exist, length must be zero" ); ok( !close[0], "Context element does not exist, direct access to element must return undefined" ); @@ -928,12 +926,12 @@ test("trigger() bubbling", function() { var win = 0, doc = 0, html = 0, body = 0, main = 0, ap = 0; - jQuery(window).bind("click", function(e){ win++; }); - jQuery(document).bind("click", function(e){ if ( e.target !== document) { doc++; } }); - jQuery("html").bind("click", function(e){ html++; }); - jQuery("body").bind("click", function(e){ body++; }); - jQuery("#qunit-fixture").bind("click", function(e){ main++; }); - jQuery("#ap").bind("click", function(){ ap++; return false; }); + jQuery(window).on("click", function(e){ win++; }); + jQuery(document).on("click", function(e){ if ( e.target !== document) { doc++; } }); + jQuery("html").on("click", function(e){ html++; }); + jQuery("body").on("click", function(e){ body++; }); + jQuery("#qunit-fixture").on("click", function(e){ main++; }); + jQuery("#ap").on("click", function(){ ap++; return false; }); jQuery("html").trigger("click"); equal( win, 1, "HTML bubble" ); @@ -964,8 +962,8 @@ test("trigger() bubbling", function() { equal( win, 4, "doc bubble" ); // manually clean up events from elements outside the fixture - jQuery(document).unbind("click"); - jQuery("html, body, #qunit-fixture").unbind("click"); + jQuery(document).off("click"); + jQuery("html, body, #qunit-fixture").off("click"); }); test("trigger(type, [data], [fn])", function() { @@ -1003,7 +1001,7 @@ test("trigger(type, [data], [fn])", function() { // Triggers handlers and native // Trigger 5 - $elem.bind("click", handler).trigger("click", [1, "2", "abc"]); + $elem.on("click", handler).trigger("click", [1, "2", "abc"]); // Simulate a "native" click $elem[0].click = function(){ @@ -1026,7 +1024,7 @@ test("trigger(type, [data], [fn])", function() { pass = true; try { - jQuery("#qunit-fixture table").eq(0).bind("test:test", function(){}).trigger("test:test"); + jQuery("#qunit-fixture table").eq(0).on("test:test", function(){}).trigger("test:test"); } catch (e) { pass = false; } @@ -1036,14 +1034,14 @@ test("trigger(type, [data], [fn])", function() { // Make sure it can be prevented locally form.on( "submit", function(){ - ok( true, "Local bind still works." ); + ok( true, "Local `on` still works." ); return false; }); // Trigger 1 form.trigger("submit"); - form.unbind("submit"); + form.off("submit"); jQuery(document).on( "submit", function(){ ok( true, "Make sure bubble works up to document." ); @@ -1053,7 +1051,7 @@ test("trigger(type, [data], [fn])", function() { // Trigger 1 form.trigger("submit"); - jQuery(document).unbind("submit"); + jQuery(document).off("submit"); form.remove(); }); @@ -1152,7 +1150,7 @@ test("trigger(eventObject, [data], [fn])", function() { equal( event.isPropagationStopped(), true, "Verify isPropagationStopped" ); equal( event.isImmediatePropagationStopped(), true, "Verify isPropagationStopped" ); - $parent.bind("foo",function(e){ + $parent.on("foo",function(e){ // Tries bubbling equal( e.type, "foo", "Verify event type when passed passing an event object" ); equal( e.target.id, "child", "Verify event.target when passed passing an event object" ); @@ -1168,15 +1166,15 @@ test("trigger(eventObject, [data], [fn])", function() { // test with a literal object $child.trigger({"type": "foo", "secret": "boo!"}); - $parent.unbind(); + $parent.off(); function error(){ ok( false, "This assertion shouldn't be reached"); } - $parent.bind("foo", error ); + $parent.on("foo", error ); - $child.bind("foo",function(e, a, b, c ){ + $child.on("foo",function(e, a, b, c ){ equal( arguments.length, 4, "Check arguments length"); equal( a, 1, "Check first custom argument"); equal( b, 2, "Check second custom argument"); @@ -1194,17 +1192,17 @@ test("trigger(eventObject, [data], [fn])", function() { // We should add this back in when we want to test the order // in which event handlers are iterated. - //$child.bind("foo", error ); + //$child.on("foo", error ); event = new jQuery.Event("foo"); - $child.trigger( event, [1,2,3] ).unbind(); + $child.trigger( event, [1,2,3] ).off(); equal( event.result, "result", "Check event.result attribute"); // Will error if it bubbles $child.triggerHandler("foo"); - $child.unbind(); - $parent.unbind().remove(); + $child.off(); + $parent.off().remove(); // Ensure triggerHandler doesn't molest its event object (#xxx) event = jQuery.Event( "zowie" ); @@ -1426,9 +1424,9 @@ test("jQuery.Event( type, props )", function() { ok( "keyCode" in event, "Special 'keyCode' property exists" ); - jQuery("body").bind( "keydown", handler ).trigger( event ); + jQuery("body").on( "keydown", handler ).trigger( event ); - jQuery("body").unbind( "keydown" ); + jQuery("body").off( "keydown" ); }); @@ -1668,7 +1666,7 @@ test(".delegate()/.undelegate()", function() { jQuery("#body").undelegate("#nothiddendivchild", "click"); // Verify that .live() occurs and cancel bubble in the same order as - // we would expect .bind() and .click() without delegation + // we would expect .on() and .click() without delegation var lived = 0, livee = 0; // bind one pair in one order @@ -1828,7 +1826,7 @@ test("undelegate all bound events", function(){ div = jQuery("#body"); div.delegate( "div#nothiddendivchild", "click submit", function(){ count++; } ); - div.bind( "click", function(){ clicks++; } ); + div.on( "click", function(){ clicks++; } ); div.undelegate(); jQuery("div#nothiddendivchild").trigger("click"); @@ -1838,7 +1836,7 @@ test("undelegate all bound events", function(){ div.trigger("click"); equal( clicks, 2, "Make sure delegated and directly bound event occurred." ); - div.unbind("click"); + div.off("click"); }); test("delegate with multiple events", function(){ @@ -1986,7 +1984,7 @@ test("Non DOM element events", function() { var o = {}; - jQuery(o).bind("nonelementobj", function(e) { + jQuery(o).on("nonelementobj", function(e) { ok( true, "Event on non-DOM object triggered" ); }); @@ -2026,11 +2024,11 @@ test("focusin bubbles", function() { // focus the element so DOM focus won't fire input[0].focus(); - jQuery( "body" ).bind( "focusin.focusinBubblesTest", function(){ + jQuery( "body" ).on( "focusin.focusinBubblesTest", function(){ equal( 1, order++, "focusin on the body second" ); }); - input.bind( "focusin.focusinBubblesTest", function(){ + input.on( "focusin.focusinBubblesTest", function(){ equal( 0, order++, "focusin on the element first" ); }); @@ -2048,7 +2046,7 @@ test("focusin bubbles", function() { input.trigger( "focus" ); input.remove(); - jQuery( "body" ).unbind( "focusin.focusinBubblesTest" ); + jQuery( "body" ).off( "focusin.focusinBubblesTest" ); }); test("custom events with colons (#3533, #8272)", function() { @@ -2164,7 +2162,7 @@ test(".on and .off", function() { $onandoff.remove(); }); -test("special bind/delegate name mapping", function() { +test("special on/delegate name mapping", function() { expect( 7 ); jQuery.event.special["slap"] = { @@ -2389,11 +2387,11 @@ test("fixHooks extensions", function() { saved = jQuery.event.fixHooks.click; // Ensure the property doesn't exist - $fixture.bind( "click", function( event ) { + $fixture.on( "click", function( event ) { ok( !("blurrinessLevel" in event), "event.blurrinessLevel does not exist" ); }); fireNative( $fixture[0], "click" ); - $fixture.unbind( "click" ); + $fixture.off( "click" ); jQuery.event.fixHooks.click = { filter: function( event, originalEvent ) { @@ -2403,13 +2401,13 @@ test("fixHooks extensions", function() { }; // Trigger a native click and ensure the property is set - $fixture.bind( "click", function( event ) { + $fixture.on( "click", function( event ) { equal( event.blurrinessLevel, 42, "event.blurrinessLevel was set" ); }); fireNative( $fixture[0], "click" ); delete jQuery.event.fixHooks.click; - $fixture.unbind( "click" ).remove(); + $fixture.off( "click" ).remove(); jQuery.event.fixHooks.click = saved; }); @@ -2455,12 +2453,12 @@ if ( hasPHP ) { // Bind to the ready event in every possible way. jQuery(makeHandler("a")); jQuery(document).ready(makeHandler("b")); - jQuery(document).bind("ready.readytest", makeHandler("c")); + jQuery(document).on("ready.readytest", makeHandler("c")); // Do it twice, just to be sure. jQuery(makeHandler("d")); jQuery(document).ready(makeHandler("e")); - jQuery(document).bind("ready.readytest", makeHandler("f")); + jQuery(document).on("ready.readytest", makeHandler("f")); noEarlyExecution = order.length === 0; @@ -2471,12 +2469,12 @@ if ( hasPHP ) { ok(noEarlyExecution, "Handlers bound to DOM ready should not execute before DOM ready"); // Ensure execution order. - deepEqual(order, ["a", "b", "d", "e", "c", "f"], "Bound DOM ready handlers should execute in bind-order, but those bound with jQuery(document).bind( 'ready', fn ) will always execute last"); + deepEqual(order, ["a", "b", "d", "e", "c", "f"], "Bound DOM ready handlers should execute in on-order, but those bound with jQuery(document).on( 'ready', fn ) will always execute last"); // Ensure handler argument is correct. equal(args["a"], jQuery, "Argument passed to fn in jQuery( fn ) should be jQuery"); equal(args["b"], jQuery, "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"); - ok(args["c"] instanceof jQuery.Event, "Argument passed to fn in jQuery(document).bind( 'ready', fn ) should be an event object"); + ok(args["c"] instanceof jQuery.Event, "Argument passed to fn in jQuery(document).on( 'ready', fn ) should be an event object"); order = []; @@ -2490,11 +2488,11 @@ if ( hasPHP ) { equal(order.pop(), "h", "Event handler should execute immediately"); equal(args["h"], jQuery, "Argument passed to fn in jQuery(document).ready( fn ) should be jQuery"); - jQuery(document).bind("ready.readytest", makeHandler("never")); + jQuery(document).on("ready.readytest", makeHandler("never")); equal(order.length, 0, "Event handler should never execute since DOM ready has already passed"); // Cleanup. - jQuery(document).unbind("ready.readytest"); + jQuery(document).off("ready.readytest"); }); })(); @@ -2514,8 +2512,8 @@ test("change handler should be detached from element", function() { jQuery.removeEvent = wrapperRemoveEvent ; - $fixture.bind( "change", function( event ) {}); - $fixture.unbind( "change" ); + $fixture.on( "change", function( event ) {}); + $fixture.off( "change" ); $fixture.remove(); diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 2f882bf82..c9e6c8f9a 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -172,8 +172,8 @@ var testWrap = function( val ) { ok( true, "Event triggered." ); // Remove handlers on detached elements - result.unbind(); - jQuery(this).unbind(); + result.off(); + jQuery(this).off(); }); j = jQuery("").wrap( result ); @@ -1960,7 +1960,7 @@ test( "Cloned, detached HTML5 elems (#10667,10670)", function() { } // Bind an event - $section.bind( "click", function( event ) { + $section.on( "click", function( event ) { ok( true, "clone fired event" ); }); @@ -1969,7 +1969,7 @@ test( "Cloned, detached HTML5 elems (#10667,10670)", function() { // Trigger an event from the first clone $clone.trigger("click"); - $clone.unbind("click"); + $clone.off("click"); // Add a child node with text to the original $section.append("

    Hello

    "); @@ -1981,7 +1981,7 @@ test( "Cloned, detached HTML5 elems (#10667,10670)", function() { // Trigger an event from the third clone $clone.trigger("click"); - $clone.unbind("click"); + $clone.off("click"); // Add attributes to copy $section.attr({ @@ -2008,8 +2008,8 @@ test( "Cloned, detached HTML5 elems (#10667,10670)", function() { $section.trigger("click"); // Unbind any remaining events - $section.unbind("click"); - $clone.unbind("click"); + $section.off("click"); + $clone.off("click"); }); test( "Guard against exceptions when clearing safeChildNodes", function() { -- 2.39.5