});
test("bind(), trigger change on select", function() {
- expect(3);
+ expect(5);
var counter = 0;
function selectOnChange(event) {
equals( event.data, counter++, "Event.data is not a global event object" );
});
test("bind()/trigger()/unbind() on plain object", function() {
- expect( 2 );
+ expect( 7 );
var obj = {};
ok( true, "Custom event run." );
});
- ok( jQuery(obj).data("events"), "Object has events bound." );
+ 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." );
// Should trigger 1
jQuery(obj).trigger("test");
// 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() {
jQuery(o).trigger('nonelementobj');
});
+test("window resize", function() {
+ 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.appendTo(document.body);
+ jQuery(document.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(document.body).unbind("focusin.focusinBubblesTest");
+})
/*
test("jQuery(function($) {})", function() {
stop();