rem: var passed = ( expect == actual ) ?  true : false;   if ( !passed  &&  typeof(actual) == "number"  &&  typeof(expect) == "number" ) { if ( Math.abs(actual-expect) < 0.0000001 ) {passed = true;} 
add:  if ( typeof(expect) != typeof(actual) ) { passed = false; 
context: function getTestCaseResult(expect, actual ) {  //because ( NaN == NaN ) always returns false, need to do  //a special compare to see if we got the right result.  if ( actual != actual )   {    if ( typeof actual == "object" ) {actual = "NaN object";}     else {actual = "NaN number";}  }  if ( expect != expect )   {    if ( typeof expect == "object" ) {expect = "NaN object";}     else {expect = "NaN number";}  }  var passed = ( expect == actual ) ?  true : false;  // if both objects are numbers, need to replace w/ IEEE standard for rounding  if ( !passed  &&  typeof(actual) == "number"  &&  typeof(expect) == "number" )   {    if ( Math.abs(actual-expect) < 0.0000001 ) {passed = true;}  }  //verify type is the same  if ( typeof(expect) != typeof(actual) ) {passed = false;}  return passed;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/4218d0f5950d93cb2609d946f6af7ce1b2e89575/shell.js/buggy/js/tests/ecma_3/Date/shell.js