rem: reportCompare(true, expectP === actualP, summary); 
add: reportCompare(expectP, actualP, summary); 
context: 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');    writeLineToLog('expect:\n' + expectP);    writeLineToLog('actual:\n' + actualP);    reportCompare(true, 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)    {    }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/cbce000cb5c3074139402163ff3b86fd89dce982/shell.js/buggy/js/tests/js1_6/shell.js