});
test("bind()/trigger()/unbind() on plain object", function() {
- expect( 5 );
+ expect( 7 );
var obj = {};
ok( true, "Custom event run." );
});
- var events = jQuery(obj).data("events");
+ var events = jQuery(obj).data("__events__");
ok( events, "Object has events bound." );
+ equals( obj.events, undefined, "Events object on plain objects is not events" );
equals( typeof events, "function", "'events' expando is a function on plain objects." );
equals( obj.test, undefined, "Make sure that test event is not on the plain object." );
equals( obj.handle, undefined, "Make sure that the event handler is not on the plain object." );
// Make sure it doesn't complain when no events are found
jQuery(obj).unbind("test");
+
+ equals( obj.__events__, undefined, "Make sure events object is removed" );
});
test("unbind(type)", function() {
});
test("window resize", function() {
- expect(1);
+ expect(2);
+
+ jQuery(window).unbind();
jQuery(window).bind("resize", function(){
ok( true, "Resize event fired." );
}).resize().unbind("resize");
+
+ ok( !jQuery(window).data("__events__"), "Make sure all the events are gone." );
+});
+
+test("focusin bubbles", function() {
+ //create an input and focusin on it
+ var input = jQuery("<input/>"), order = 0;
+
+ input.prependTo("body");
+
+ jQuery("body").bind("focusin.focusinBubblesTest",function(){
+ equals(1,order++,"focusin on the body second")
+ });
+
+ input.bind("focusin.focusinBubblesTest",function(){
+ equals(0,order++,"focusin on the element first")
+ });
+
+ input[0].focus();
+ input.remove();
+
+ jQuery("body").unbind("focusin.focusinBubblesTest");
});
/*