summary + ': compile actual'); 
summary + ': compile actual'); 
function compareSource(expect, actual, summary){  // compare source  var expectP = expect.    replace(/([(){},.:\[\]])/mg, ' $1 ').    replace(/(\w+)/mg, ' $1 ').    replace(/<(\/)? (\w+) (\/)?>/mg, '<$1$2$3>').    replace(/\s+/mg, ' ').    replace(/new (\w+)\s*\(\s*\)/mg, 'new $1');  var actualP = actual.    replace(/([(){},.:\[\]])/mg, ' $1 ').    replace(/(\w+)/mg, ' $1 ').    replace(/<(\/)? (\w+) (\/)?>/mg, '<$1$2$3>').    replace(/\s+/mg, ' ').    replace(/new (\w+)\s*\(\s*\)/mg, 'new $1');  print('expect:\n' + expectP);  print('actual:\n' + actualP);  reportCompare(expectP, actualP, summary);  // actual must be compilable if expect is?  try  {    var expectCompile = 'No Error';    var actualCompile;    eval(expect);    try    {      eval(actual);      actualCompile = 'No Error';    }    catch(ex1)    {      actualCompile = ex1 + '';    }    reportCompare(expectCompile, actualCompile,		  summary + ': compile actual');  }  catch(ex)  {  }}
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/95b8b76815e479bfa2b2ccec359469b2ff7ca741/shell.js/buggy/js/tests/shell.js