reportFailure( 
reportCompare(lExpect, lActual, 
function testRegExp(statuses, patterns, strings, actualmatches, expectedmatches){  var status = '';  var pattern = new RegExp();  var string = '';  var actualmatch = new Array();  var expectedmatch = new Array();  var state = '';  var lActual = -1;  var lExpect = -1;  for (var i=0; i != patterns.length; i++)  {    status = statuses[i];    pattern = patterns[i];    string = strings[i];    actualmatch=actualmatches[i];    expectedmatch=expectedmatches[i];    state = getState(status, pattern, string);    description = status;    if(actualmatch)    {      actual = formatArray(actualmatch);      if(expectedmatch)      {        // expectedmatch and actualmatch are arrays -        lExpect = expectedmatch.length;        lActual = actualmatch.length;         expected = formatArray(expectedmatch);        if (lActual != lExpect)        {          reportFailure(                        state + ERR_LENGTH +                        MSG_EXPECT + expected +                        MSG_ACTUAL + actual +                        CHAR_NL                       );          continue;        }        // OK, the arrays have same length -        if (expected != actual)        {          reportFailure(                        state + ERR_MATCH +                        MSG_EXPECT + expected +                        MSG_ACTUAL + actual +                        CHAR_NL                       );        }        else        {          reportCompare(expected, actual, state)        }      }      else //expectedmatch is null - that is, we did not expect a match -      {        expected = expectedmatch;        reportFailure(                      state + ERR_UNEXP_MATCH +                      MSG_EXPECT + expectedmatch +                      MSG_ACTUAL + actual +                      CHAR_NL                     );      }    }    else // actualmatch is null    {      if (expectedmatch)      {        actual = actualmatch;        reportFailure(                      state + ERR_NO_MATCH +                      MSG_EXPECT + expectedmatch +                      MSG_ACTUAL + actualmatch +                      CHAR_NL                     );      }      else // we did not expect a match      {        // Being ultra-cautious. Presumably expectedmatch===actualmatch===null        expected = expectedmatch;        actual   = actualmatch;        reportCompare (expectedmatch, actualmatch, state);      }    }  }}
5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5872/3703c3c05f398a63e55992f7687ef65273b26d6a/shell.js/clean/js/tests/ecma_3/RegExp/shell.js