+test("Ajax events with context", function() {
+ expect(6);
+
+ stop();
+ var context = {};
+
+ function event(e){
+ equals( this, context, e.type );
+ }
+
+ function callback(){
+ equals( this, context, "context is preserved on callback" );
+ }
+
+ jQuery('#foo').add(context)
+ .ajaxSend(event)
+ .ajaxComplete(event)
+ .ajaxError(event)
+ .ajaxSuccess(event);
+
+ jQuery.ajax({
+ url: url("data/name.html"),
+ beforeSend: callback,
+ success: callback,
+ error: callback,
+ complete:function(){
+ callback.call(this);
+ setTimeout(proceed, 300);
+ },
+ context:context
+ });
+
+ function proceed(){
+ jQuery('#foo').add(context).unbind();
+ start();
+ }
+});
+