;(function(){
window.patch_date = function patch(f){
var NativeDate = window.Date;
var date = function date(y,m,d,h,i,s,j){
switch(arguments.length){
case 0: return date.now ? new NativeDate(date.now) : new NativeDate();
case 1: return new NativeDate(y);
case 2: return new NativeDate(y,m);
case 3: return new NativeDate(y,m,d);
case 4: return new NativeDate(y,m,d,h);
case 5: return new NativeDate(y,m,d,h,i);
case 6: return new NativeDate(y,m,d,h,i,s);
case 7: return new NativeDate(y,y,m,d,h,i,s,j);
}
};
date.UTC = NativeDate.UTC;
return function(){
Array.prototype.push.call(arguments, date);
window.Date = date;
f.apply(this, arguments);
window.Date = NativeDate;
};
};
window.patch_show_hide = function patch(f){
var oldShow = $.fn.show,
newShow = function () {
$(this).removeClass('foo');
return oldShow.apply(this, arguments);
};
var oldHide = $.fn.hide,
newHide = function () {
$(this).addClass('foo');
return oldHide.apply(this, arguments);
};
return function(){
$.fn.show = newShow;
$.fn.hide = newHide;
f.apply(this, arguments);
$.fn.show = oldShow;
$.fn.hide = oldHide;
};
};
}());
|