 var myfunction = { "function": "test" }; ok( !jQuery.isFunction(myfunction), "Function Object" );   var fn = function(){}; ok( jQuery.isFunction(fn), "Normal Function" );  var obj = document.createElement("object");   ok( !jQuery.isFunction(obj), "Object Element" );   ok( jQuery.isFunction(obj.getAttribute), "getAttribute Function" );  var nodes = document.body.childNodes;   ok( !jQuery.isFunction(nodes), "childNodes Property" );  var first = document.body.firstChild;   ok( !jQuery.isFunction(first), "A normal DOM Element" );  var input = document.createElement("input"); input.type = "text"; document.body.appendChild( input );   ok( jQuery.isFunction(input.focus), "A default function property" );  document.body.removeChild( input );  var a = document.createElement("a"); a.href = "some-function"; document.body.appendChild( a );   ok( !jQuery.isFunction(a), "Anchor Element" );  document.body.removeChild( a );   function callme(callback){ function fn(response){ callback(response); }  ok( jQuery.isFunction(fn), "Recursive Function Call" );  fn({ some: "data" }); };  callme(function(){ callme(function(){}); }); 
jQuery = $ = old; 
test("isFunction", function() {	expect(21);	// Make sure that false values return false	ok( !jQuery.isFunction(), "No Value" );	ok( !jQuery.isFunction( null ), "null Value" );	ok( !jQuery.isFunction( undefined ), "undefined Value" );	ok( !jQuery.isFunction( "" ), "Empty String Value" );	ok( !jQuery.isFunction( 0 ), "0 Value" );	// Check built-ins	// Safari uses "(Internal Function)"	ok( jQuery.isFunction(String), "String Function" );	ok( jQuery.isFunction(Array), "Array Function" );	ok( jQuery.isFunction(Object), "Object Function" );	ok( jQuery.isFunction(Function), "Function Function" );	// When stringified, this could be misinterpreted	var mystr = "function";	ok( !jQuery.isFunction(mystr), "Function String" );	// When stringified, this could be misinterpreted	var myarr = [ "function" ];	ok( !jQuery.isFunction(myarr), "Function Array" );	// When stringified, this could be misinterpreted	var myfunction = { "function": "test" };	ok( !jQuery.isFunction(myfunction), "Function Object" );	// Make sure normal functions still work	var fn = function(){};	ok( jQuery.isFunction(fn), "Normal Function" );	var obj = document.createElement("object");	// Firefox says this is a function	ok( !jQuery.isFunction(obj), "Object Element" );	// IE says this is an object	ok( jQuery.isFunction(obj.getAttribute), "getAttribute Function" );	var nodes = document.body.childNodes;	// Safari says this is a function	ok( !jQuery.isFunction(nodes), "childNodes Property" );	var first = document.body.firstChild;		// Normal elements are reported ok everywhere	ok( !jQuery.isFunction(first), "A normal DOM Element" );	var input = document.createElement("input");	input.type = "text";	document.body.appendChild( input );	// IE says this is an object	ok( jQuery.isFunction(input.focus), "A default function property" );	document.body.removeChild( input );	var a = document.createElement("a");	a.href = "some-function";	document.body.appendChild( a );	// This serializes with the word 'function' in it	ok( !jQuery.isFunction(a), "Anchor Element" );	document.body.removeChild( a );	// Recursive function calls have lengths and array-like properties	function callme(callback){		function fn(response){			callback(response);		}		ok( jQuery.isFunction(fn), "Recursive Function Call" );    	fn({ some: "data" });	};	callme(function(){    	callme(function(){});	});});
6056	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6056/1ac9d6fbeed214d59ea5c31a87ff2c19bb08dbc8/core.js/buggy/test/unit/core.js