Changeset 27752 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Nov 13, 2007, 9:25:26 AM (18 years ago)
Author:
Darin Adler
Message:

JavaScriptCore:

Reviewed by Geoff.

+ single-digit sequences like \4 should be treated as octal

character constants, unless there is a sufficient number
of brackets for them to be treated as backreferences

+ \8 turns into the character "8", not a binary zero character

followed by "8" (same for 9)

+ only the first 3 digits should be considered part of an

octal character constant (the old behavior was to decode
an arbitrarily long sequence and then mask with 0xFF)

+ if \x is followed by anything other than two valid hex digits,

then it should simply be treated a the letter "x"; that includes
not supporting the \x{41} syntax

+ if \u is followed by anything less than four valid hex digits,

then it should simply be treated a the letter "u"

+ an extra "+" should be a syntax error, rather than being treated

as the "possessive quantifier"

+ if a "]" character appears immediately after a "[" character that

starts a character class, then that's an empty character class,
rather than being the start of a character class that includes a
"]" character

+ a "$" should not match a terminating newline; we could have gotten

PCRE to handle this the way we wanted by passing an appropriate option

Test: fast/js/regexp-no-extensions.html

  • pcre/pcre_compile.cpp: (check_escape): Check backreferences against bracount to catch both overflows and things that should be treated as octal. Rewrite octal loop to not go on indefinitely. Rewrite both hex loops to match and remove \x{} support. (compile_branch): Restructure loops so that we don't special-case a "]" at the beginning of a character class. Remove code that treated "+" as the possessive quantifier. (jsRegExpCompile): Change the "]" handling here too.
  • pcre/pcre_exec.cpp: (match): Changed CIRC to match the DOLL implementation. Changed DOLL to remove handling of "terminating newline", a Perl concept which we don't need.
  • tests/mozilla/expected.html: Two tests are fixed now: ecma_3/RegExp/regress-100199.js and ecma_3/RegExp/regress-188206.js. One test fails now: ecma_3/RegExp/perlstress-002.js -- our success before was due to a bug (we treated all 1-character numeric escapes as backreferences). The date tests also now both expect success -- whatever was making them fail before was probably due to the time being close to a DST shift; maybe we need to get rid of those tests.

LayoutTests:

Reviewed by Geoff.

  • fast/js/regexp-no-extensions-expected.txt: Added.
  • fast/js/regexp-no-extensions.html: Added.
  • fast/js/resources/regexp-no-extensions.js: Added.
Location:
trunk/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r27751 r27752  
     12007-11-13  Darin Adler  <[email protected]>
     2
     3        Reviewed by Geoff.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=11231
     6          RegExp bug when handling newline characters
     7          and a number of other differences between PCRE behvior
     8          and JavaScript regular expressions:
     9
     10          + single-digit sequences like \4 should be treated as octal
     11            character constants, unless there is a sufficient number
     12            of brackets for them to be treated as backreferences
     13
     14          + \8 turns into the character "8", not a binary zero character
     15            followed by "8" (same for 9)
     16
     17          + only the first 3 digits should be considered part of an
     18            octal character constant (the old behavior was to decode
     19            an arbitrarily long sequence and then mask with 0xFF)
     20
     21          + if \x is followed by anything other than two valid hex digits,
     22            then it should simply be treated a the letter "x"; that includes
     23            not supporting the \x{41} syntax
     24
     25          + if \u is followed by anything less than four valid hex digits,
     26            then it should simply be treated a the letter "u"
     27
     28          + an extra "+" should be a syntax error, rather than being treated
     29            as the "possessive quantifier"
     30
     31          + if a "]" character appears immediately after a "[" character that
     32            starts a character class, then that's an empty character class,
     33            rather than being the start of a character class that includes a
     34            "]" character
     35
     36          + a "$" should not match a terminating newline; we could have gotten
     37            PCRE to handle this the way we wanted by passing an appropriate option
     38
     39        Test: fast/js/regexp-no-extensions.html
     40
     41        * pcre/pcre_compile.cpp:
     42        (check_escape): Check backreferences against bracount to catch both
     43        overflows and things that should be treated as octal. Rewrite octal
     44        loop to not go on indefinitely. Rewrite both hex loops to match and
     45        remove \x{} support.
     46        (compile_branch): Restructure loops so that we don't special-case a "]"
     47        at the beginning of a character class. Remove code that treated "+" as
     48        the possessive quantifier.
     49        (jsRegExpCompile): Change the "]" handling here too.
     50
     51        * pcre/pcre_exec.cpp: (match): Changed CIRC to match the DOLL implementation.
     52        Changed DOLL to remove handling of "terminating newline", a Perl concept
     53        which we don't need.
     54
     55        * tests/mozilla/expected.html: Two tests are fixed now:
     56        ecma_3/RegExp/regress-100199.js and ecma_3/RegExp/regress-188206.js.
     57        One test fails now: ecma_3/RegExp/perlstress-002.js -- our success before
     58        was due to a bug (we treated all 1-character numeric escapes as backreferences).
     59        The date tests also now both expect success -- whatever was making them fail
     60        before was probably due to the time being close to a DST shift; maybe we need
     61        to get rid of those tests.
     62
    1632007-11-13  Darin Adler  <[email protected]>
    264
  • trunk/JavaScriptCore/pcre/pcre_compile.cpp

    r27730 r27752  
    162162{
    163163const pcre_uchar *ptr = *ptrptr + 1;
    164 int c, i;
     164int i;
    165165
    166166/* If backslash is at the end of the pattern, it's an error. */
     
    171171}
    172172
    173 c = *ptr;
     173int c = *ptr;
    174174
    175175/* Non-alphamerics are literals. For digits or letters, do an initial lookup in
     
    184184else
    185185  {
    186   const pcre_uchar *oldptr;
    187186  switch (c)
    188187    {
    189     /* A number of Perl escapes are not handled by PCRE. We give an explicit
    190     error. */
    191 
    192     /* The handling of escape sequences consisting of a string of digits
    193     starting with one that is not zero is not straightforward. By experiment,
    194     the way Perl works seems to be as follows:
    195 
    196     Outside a character class, the digits are read as a decimal number. If the
    197     number is less than 10, or if there are that many previous extracting
    198     left brackets, then it is a back reference. Otherwise, up to three octal
    199     digits are read to form an escaped byte. Thus \123 is likely to be octal
    200     123 (cf \0123, which is octal 012 followed by the literal 3). If the octal
    201     value is greater than 377, the least significant 8 bits are taken. Inside a
    202     character class, \ followed by a digit is always an octal number. */
     188    /* Escape sequences starting with a non-zero digit are backreferences,
     189    unless there are insufficient brackets, in which case they are octal
     190    escape sequences. Those sequences end on the first non-octal character
     191    or when we overflow 0-255, whichever comes first. */
    203192
    204193    case '1': case '2': case '3': case '4': case '5':
     
    207196    if (!isclass)
    208197      {
    209       oldptr = ptr;
     198      const pcre_uchar *oldptr = ptr;
    210199      c -= '0';
    211       while (ptr + 1 < patternEnd && isASCIIDigit(ptr[1]))
     200      while (ptr + 1 < patternEnd && isASCIIDigit(ptr[1]) && c <= bracount)
    212201        c = c * 10 + *(++ptr) - '0';
    213       if (c < 10 || c <= bracount)
     202      if (c <= bracount)
    214203        {
    215204        c = -(ESC_REF + c);
     
    219208      }
    220209
    221     /* Handle an octal number following \. If the first digit is 8 or 9, Perl
    222     generates a binary zero byte and treats the digit as a following literal.
    223     Thus we have to pull back the pointer by one. */
     210    /* Handle an octal number following \. If the first digit is 8 or 9,
     211    this is not octal. */
    224212
    225213    if ((c = *ptr) >= '8')
    226       {
    227       ptr--;
    228       c = 0;
    229214      break;
    230       }
    231215
    232216    /* \0 always starts an octal number, but we may drop through to here with a
     
    235219    case '0':
    236220    c -= '0';
    237     while (i++ < 2 && ptr + 1 < patternEnd && ptr[1] >= '0' && ptr[1] <= '7')
    238         c = c * 8 + *(++ptr) - '0';
    239     c &= 255;     /* Take least significant 8 bits */
     221    for (i = 1; i <= 2; ++i)
     222      {
     223      if (ptr + i >= patternEnd || ptr[i] < '0' || ptr[i] > '7')
     224        break;
     225      int cc = c * 8 + ptr[i] - '0';
     226      if (cc > 255)
     227        break;
     228      c = cc;
     229      }
     230    ptr += i - 1;
    240231    break;
    241232
    242     /* \x is complicated. \x{ddd} is a character number which can be greater
    243     than 0xff in utf8 mode, but only if the ddd are hex digits. If not, { is
    244     treated as a data character. */
    245 
    246233    case 'x':
    247     if (ptr + 1 < patternEnd && ptr[1] == '{')
    248       {
    249       const pcre_uchar *pt = ptr + 2;
    250       int count = 0;
    251 
    252       c = 0;
    253       while (pt < patternEnd && isASCIIHexDigit(*pt))
    254         {
    255         register int cc = *pt++;
    256         if (c == 0 && cc == '0') continue;     /* Leading zeroes */
    257         count++;
    258 
    259         if (cc >= 'a') cc -= 32;               /* Convert to upper case */
    260         c = (c << 4) + cc - ((cc < 'A')? '0' : ('A' - 10));
    261         }
    262 
    263       if (pt < patternEnd && *pt == '}')
    264         {
    265         if (c < 0 || count > 8) *errorcodeptr = ERR3;
    266         else if (c >= 0xD800 && c <= 0xDFFF) *errorcodeptr = ERR3; // half of surrogate pair
    267         else if (c >= 0xFDD0 && c <= 0xFDEF) *errorcodeptr = ERR3; // ?
    268         else if (c == 0xFFFE) *errorcodeptr = ERR3; // not a character
    269         else if (c == 0xFFFF)  *errorcodeptr = ERR3; // not a character
    270         else if (c > 0x10FFFF) *errorcodeptr = ERR3; // out of Unicode character range
    271         ptr = pt;
     234    c = 0;
     235    for (i = 1; i <= 2; ++i)
     236      {
     237      if (ptr + i >= patternEnd || !isASCIIHexDigit(ptr[i]))
     238        {
     239        c = 'x';
     240        i = 1;
    272241        break;
    273242        }
    274 
    275       /* If the sequence of hex digits does not end with '}', then we don't
    276       recognize this construct; fall through to the normal \x handling. */
    277       }
    278 
    279     /* Read just a single-byte hex-defined char */
    280 
     243      int cc = ptr[i];
     244      if (cc >= 'a') cc -= 32;             /* Convert to upper case */
     245      c = c * 16 + cc - ((cc < 'A') ? '0' : ('A' - 10));
     246      }
     247    ptr += i - 1;
     248    break;
     249
     250    case 'u':
    281251    c = 0;
    282     while (i++ < 2 && ptr + 1 < patternEnd && isASCIIHexDigit(ptr[1]))
    283       {
    284       int cc;                               /* Some compilers don't like ++ */
    285       cc = *(++ptr);                        /* in initializers */
    286       if (cc >= 'a') cc -= 32;              /* Convert to upper case */
     252    for (i = 1; i <= 4; ++i)
     253      {
     254      if (ptr + i >= patternEnd || !isASCIIHexDigit(ptr[i]))
     255        {
     256        c = 'u';
     257        i = 1;
     258        break;
     259        }
     260      int cc = ptr[i];
     261      if (cc >= 'a') cc -= 32;             /* Convert to upper case */
    287262      c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));
    288263      }
     264    ptr += i - 1;
    289265    break;
    290 
    291     case 'u': {
    292     const pcre_uchar *pt = ptr;
    293     c = 0;
    294     while (i++ < 4)
    295       {
    296       if (pt + 1 >= patternEnd || !isASCIIHexDigit(pt[1]))
    297         {
    298         pt = ptr;
    299         c = 'u';
    300         break;
    301         }
    302       else
    303         {
    304         int cc;                              /* Some compilers don't like ++ */
    305         cc = *(++pt);                        /* in initializers */
    306         if (cc >= 'a') cc -= 32;             /* Convert to upper case */
    307         c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));
    308         }
    309       }
    310     ptr = pt;
    311     break;
    312     }
    313266
    314267    /* Other special escapes not starting with a digit are straightforward */
     
    934887  BOOL negate_class;
    935888  BOOL should_flip_negation; /* If a negative special such as \S is used, we should negate the whole class to properly support Unicode. */
    936   BOOL possessive_quantifier;
    937889  BOOL is_quantifier;
    938890  int class_charcount;
     
    1026978    /* If the first character is '^', set the negation flag and skip it. */
    1027979
    1028     if ((c = *(++ptr)) == '^')
     980    if (ptr[1] == '^')
    1029981      {
    1030982      negate_class = true;
    1031       c = *(++ptr);
     983      ++ptr;
    1032984      }
    1033985    else
     
    10531005    memset(classbits, 0, 32 * sizeof(uschar));
    10541006
    1055     /* Process characters until ] is reached. By writing this as a "do" it
    1056     means that an initial ] is taken as a data character. The first pass
     1007    /* Process characters until ] is reached. The first pass
    10571008    through the regex checked the overall syntax, so we don't need to be very
    10581009    strict here. At the start of the loop, c contains the first byte of the
    10591010    character. */
    10601011
    1061     do
     1012    while ((c = *(++ptr)) != ']')
    10621013      {
    10631014      if (c > 127)
     
    12861237      }
    12871238
    1288     /* Loop until ']' reached; the check for end of string happens inside the
    1289     loop. This "while" is the end of the "do" above. */
    1290 
    1291     while ((c = *(++ptr)) != ']');
    1292 
    12931239    /* If class_charcount is 1, we saw precisely one character whose value is
    12941240    less than 256. In non-UTF-8 mode we can always optimize. In UTF-8 mode, we
     
    14311377
    14321378    op_type = 0;                    /* Default single-char op codes */
    1433     possessive_quantifier = false;  /* Default not possessive quantifier */
    14341379
    14351380    /* Save start of previous item, in case we have to move it up to make space
     
    14441389    repeat type to the non-default. */
    14451390
    1446     if (ptr + 1 < patternEnd && ptr[1] == '+')
    1447       {
    1448       repeat_type = 0;                  /* Force greedy */
    1449       possessive_quantifier = true;
    1450       ptr++;
    1451       }
    1452     else if (ptr + 1 < patternEnd && ptr[1] == '?')
     1391    if (ptr + 1 < patternEnd && ptr[1] == '?')
    14531392      {
    14541393      repeat_type = 1;
     
    18291768      *errorcodeptr = ERR11;
    18301769      goto FAILED;
    1831       }
    1832 
    1833     /* If the character following a repeat is '+', we wrap the entire repeated
    1834     item inside OP_ONCE brackets. This is just syntactic sugar, taken from
    1835     Sun's Java package. The repeated item starts at tempcode, not at previous,
    1836     which might be the first part of a string whose (former) last char we
    1837     repeated. However, we don't support '+' after a greediness '?'. */
    1838 
    1839     if (possessive_quantifier)
    1840       {
    1841       int len = code - tempcode;
    1842       memmove(tempcode + 1+LINK_SIZE, tempcode, len);
    1843       code += 1 + LINK_SIZE;
    1844       len += 1 + LINK_SIZE;
    1845       tempcode[0] = OP_ONCE;
    1846       *code++ = OP_KET;
    1847       PUTINC(code, 0, len);
    1848       PUT(tempcode, 1, len);
    18491770      }
    18501771
     
    27362657    class_utf8 = false;
    27372658
    2738     /* Written as a "do" so that an initial ']' is taken as data */
    2739 
    2740     if (*ptr != 0) do
    2741       {
    2742       /* Outside \Q...\E, check for escapes */
     2659    for (; ptr < patternEnd && *ptr != ']'; ++ptr)
     2660      {
     2661      /* Check for escapes */
    27432662
    27442663      if (*ptr == '\\')
     
    28902809        }
    28912810      }
    2892     while (++ptr < patternEnd && *ptr != ']'); /* Concludes "do" above */
    28932811
    28942812    if (ptr >= patternEnd)                          /* Missing terminating ']' */
  • trunk/JavaScriptCore/pcre/pcre_exec.cpp

    r27733 r27752  
    604604    BEGIN_OPCODE(KETRMIN):
    605605    BEGIN_OPCODE(KETRMAX):
    606       {
    607606      frame->prev = frame->ecode - GET(frame->ecode, 1);
    608607      frame->saved_eptr = frame->eptrb->epb_saved_eptr;
     
    682681        if (is_match) RRETURN;
    683682        }
    684       }
    685683    RRETURN;
    686684
    687     /* Start of subject unless notbol, or after internal newline if multiline */
     685    /* Start of subject, or after internal newline if multiline. */
    688686
    689687    BEGIN_OPCODE(CIRC):
    690     if (md->multiline)
    691       {
    692       if (frame->eptr != md->start_subject && !IS_NEWLINE(frame->eptr[-1]))
    693         RRETURN_NO_MATCH;
    694       frame->ecode++;
    695       NEXT_OPCODE;
    696       }
    697     if (frame->eptr != md->start_subject) RRETURN_NO_MATCH;
     688    if (frame->eptr != md->start_subject && (!md->multiline || !IS_NEWLINE(frame->eptr[-1])))
     689      RRETURN_NO_MATCH;
    698690    frame->ecode++;
    699691    NEXT_OPCODE;
    700692
    701     /* Assert before internal newline if multiline, or before a terminating
    702     newline unless endonly is set, else end of subject unless noteol is set. */
     693    /* End of subject, or before internal newline if multiline. */
    703694
    704695    BEGIN_OPCODE(DOLL):
    705     if (md->multiline)
    706       {
    707       if (frame->eptr < md->end_subject)
    708         { if (!IS_NEWLINE(*frame->eptr)) RRETURN_NO_MATCH; }
    709       frame->ecode++;
    710       }
    711     else
    712       {
    713       if (frame->eptr < md->end_subject - 1 ||
    714          (frame->eptr == md->end_subject - 1 && !IS_NEWLINE(*frame->eptr)))
    715         RRETURN_NO_MATCH;
    716       frame->ecode++;
    717       }
     696    if (frame->eptr < md->end_subject && (!md->multiline || !IS_NEWLINE(*frame->eptr)))
     697      RRETURN_NO_MATCH;
     698    frame->ecode++;
    718699    NEXT_OPCODE;
    719700
     
    722703    BEGIN_OPCODE(NOT_WORD_BOUNDARY):
    723704    BEGIN_OPCODE(WORD_BOUNDARY):
    724       {
    725705      /* Find out if the previous and current characters are "word" characters.
    726706      It takes a bit more work in UTF-8 mode. Characters > 128 are assumed to
    727707      be "non-word" characters. */
    728708
    729         {
    730709        if (frame->eptr == md->start_subject) prev_is_word = false; else
    731710          {
     
    740719          cur_is_word = c < 128 && (md->ctypes[c] & ctype_word) != 0;
    741720          }
    742         }
    743721
    744722      /* Now see if the situation is what we want */
     
    747725           cur_is_word == prev_is_word : cur_is_word != prev_is_word)
    748726        RRETURN_NO_MATCH;
    749       }
    750727    NEXT_OPCODE;
    751728
  • trunk/JavaScriptCore/tests/mozilla/expected.html

    r27412 r27752  
    88Test List: All tests<br>
    99Skip List: (none)<br>
    10 1135 test(s) selected, 1127 test(s) completed, 56 failures reported (4.96% failed)<br>
    11 Engine command line: /Build/symroots/Debug/testkjs <br>
    12 OS type: Darwin il0301a-dhcp64.apple.com 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct  9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386 i386<br>
    13 Testcase execution time: 1 minutes, 41 seconds.<br>
    14 Tests completed on Sat Nov  3 17:02:52 2007.<br><br>
     101135 test(s) selected, 1127 test(s) completed, 53 failures reported (4.7% failed)<br>
     11Engine command line: /Users/darin/Build/Debug/testkjs <br>
     12OS type: Darwin il0301a-dhcp126.apple.com 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct  9 21:37:58 PDT 2007; root:xnu-1228~1/RELEASE_PPC Power Macintosh<br>
     13Testcase execution time: 4 minutes, 38 seconds.<br>
     14Tests completed on Mon Nov 12 16:13:45 2007.<br><br>
    1515[ <a href='#fail_detail'>Failure Details</a> | <a href='#retest_list'>Retest List</a> | <a href='menu.html'>Test Selection Page</a> ]<br>
    1616<hr>
    1717<a name='fail_detail'></a>
    1818<h2>Failure Details</h2><br>
    19 <dl><a name='failure1'></a><dd><b>Testcase <a target='other_window' href='./ecma/Date/15.9.5.14.js'>ecma/Date/15.9.5.14.js</a> failed</b> <br>
     19<dl><a name='failure1'></a><dd><b>Testcase <a target='other_window' href='./ecma/TypeConversion/9.3.1-3.js'>ecma/TypeConversion/9.3.1-3.js</a> failed</b> <br>
    2020 [ <a href='#failure2'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    21 <tt><br>
    22 Failure messages were:<br>
    23 (new Date(1194138115746)).getHours() = 18 FAILED! expected: 17<br>
    24 (new Date(1194141715746)).getHours() = 19 FAILED! expected: 18<br>
    25 (new Date(1194145315746)).getHours() = 20 FAILED! expected: 19<br>
    26 (new Date(1194148915746)).getHours() = 21 FAILED! expected: 20<br>
    27 (new Date(1194152515746)).getHours() = 22 FAILED! expected: 21<br>
    28 (new Date(1194156115746)).getHours() = 23 FAILED! expected: 22<br>
    29 </tt><br>
    30 <a name='failure2'></a><dd><b>Testcase <a target='other_window' href='./ecma/Date/15.9.5.34-1.js'>ecma/Date/15.9.5.34-1.js</a> failed</b> <br>
    31  [ <a href='#failure1'>Previous Failure</a> | <a href='#failure3'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    32 <tt><br>
    33 Failure messages were:<br>
    34 TDATE = new Date(now); (TDATE).setMonth(11,31); TDATE.getTime() = 1199149325796 FAILED! expected: 1199145725796<br>
    35 TDATE = new Date(now); (TDATE).setMonth(11,31); TDATE.valueOf() = 1199149325796 FAILED! expected: 1199145725796<br>
    36 TDATE = new Date(now); (TDATE).setMonth(11,31); TDATE.getUTCHours() = 1 FAILED! expected: 0<br>
    37 TDATE = new Date(now); (TDATE).setMonth(11,31); TDATE.getHours() = 17 FAILED! expected: 16<br>
    38 </tt><br>
    39 <a name='failure3'></a><dd><b>Testcase <a target='other_window' href='./ecma/TypeConversion/9.3.1-3.js'>ecma/TypeConversion/9.3.1-3.js</a> failed</b> <br>
    40  [ <a href='#failure2'>Previous Failure</a> | <a href='#failure4'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    4121<tt><br>
    4222Failure messages were:<br>
     
    4525-"\u20001234\u2001" = NaN FAILED! expected: -1234<br>
    4626</tt><br>
    47 <a name='failure4'></a><dd><b>Testcase <a target='other_window' href='./ecma_2/Exceptions/function-001.js'>ecma_2/Exceptions/function-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
    48  [ <a href='#failure3'>Previous Failure</a> | <a href='#failure5'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     27<a name='failure2'></a><dd><b>Testcase <a target='other_window' href='./ecma_2/Exceptions/function-001.js'>ecma_2/Exceptions/function-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
     28 [ <a href='#failure1'>Previous Failure</a> | <a href='#failure3'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    4929<tt><br>
    5030Failure messages were:<br>
    5131eval("function f(){}function g(){}") (threw no exception thrown = fail FAILED! expected: pass<br>
    5232</tt><br>
    53 <a name='failure5'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Date/15.9.5.7.js'>ecma_3/Date/15.9.5.7.js</a> failed</b> <br>
    54  [ <a href='#failure4'>Previous Failure</a> | <a href='#failure6'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     33<a name='failure3'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Date/15.9.5.7.js'>ecma_3/Date/15.9.5.7.js</a> failed</b> <br>
     34 [ <a href='#failure2'>Previous Failure</a> | <a href='#failure4'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    5535<tt><br>
    5636Failure messages were:<br>
     
    6444(Mon Feb 28 2000 15:59:59 GMT-0800 (PST)).toLocaleTimeString() = 3:59:59 PM PST FAILED! expected: 15:59:59<br>
    6545(Tue Feb 29 2000 00:00:00 GMT-0800 (PST)).toLocaleTimeString() = 12:00:00 AM PST FAILED! expected: 00:00:00<br>
    66 (Sat Nov 03 2007 17:02:35 GMT-0700 (PDT)).toLocaleTimeString() = 5:02:35 PM PDT FAILED! expected: 17:02:35<br>
    67 (Sun Nov 04 2007 01:02:35 GMT-0700 (PDT)).toLocaleTimeString() = 1:02:35 AM PDT FAILED! expected: 01:02:35<br>
     46(Mon Nov 12 2007 16:12:41 GMT-0800 (PST)).toLocaleTimeString() = 4:12:41 PM PST FAILED! expected: 16:12:41<br>
     47(Tue Nov 13 2007 00:12:41 GMT-0800 (PST)).toLocaleTimeString() = 12:12:41 AM PST FAILED! expected: 00:12:41<br>
    6848(Fri Dec 31 2004 16:00:00 GMT-0800 (PST)).toLocaleTimeString() = 4:00:00 PM PST FAILED! expected: 16:00:00<br>
    6949(Fri Dec 31 2004 15:59:59 GMT-0800 (PST)).toLocaleTimeString() = 3:59:59 PM PST FAILED! expected: 15:59:59<br>
    7050(Sat Jan 01 2005 00:00:00 GMT-0800 (PST)).toLocaleTimeString() = 12:00:00 AM PST FAILED! expected: 00:00:00<br>
    7151</tt><br>
    72 <a name='failure6'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/FunExpr/fe-001.js'>ecma_3/FunExpr/fe-001.js</a> failed</b> <br>
    73  [ <a href='#failure5'>Previous Failure</a> | <a href='#failure7'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     52<a name='failure4'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/FunExpr/fe-001.js'>ecma_3/FunExpr/fe-001.js</a> failed</b> <br>
     53 [ <a href='#failure3'>Previous Failure</a> | <a href='#failure5'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    7454<tt>Expected exit code 0, got 3<br>
    7555Testcase terminated with signal 0<br>
    7656Complete testcase output was:<br>
    7757Testcase produced no output!</tt><br>
    78 <a name='failure7'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/15.10.2-1.js'>ecma_3/RegExp/15.10.2-1.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=(none)' target='other_window'>Bug Number (none)</a><br>
    79  [ <a href='#failure6'>Previous Failure</a> | <a href='#failure8'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     58<a name='failure5'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/15.10.2-1.js'>ecma_3/RegExp/15.10.2-1.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=(none)' target='other_window'>Bug Number (none)</a><br>
     59 [ <a href='#failure4'>Previous Failure</a> | <a href='#failure6'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    8060<tt>STATUS: RegExp conformance test<br>
    8161Failure messages were:<br>
     
    10282FAILED!: [reported from test()] <br>
    10383</tt><br>
    104 <a name='failure8'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/perlstress-001.js'>ecma_3/RegExp/perlstress-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=85721' target='other_window'>Bug Number 85721</a><br>
    105  [ <a href='#failure7'>Previous Failure</a> | <a href='#failure9'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     84<a name='failure6'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/perlstress-001.js'>ecma_3/RegExp/perlstress-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=85721' target='other_window'>Bug Number 85721</a><br>
     85 [ <a href='#failure5'>Previous Failure</a> | <a href='#failure7'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    10686<tt>STATUS: Testing regular expression edge cases<br>
    10787Failure messages were:<br>
     
    142122FAILED!: [reported from test()] <br>
    143123</tt><br>
    144 <a name='failure9'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/regress-100199.js'>ecma_3/RegExp/regress-100199.js</a> failed</b> <br>
    145  [ <a href='#failure8'>Previous Failure</a> | <a href='#failure10'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    146 <tt>Expected exit code 0, got 3<br>
    147 Testcase terminated with signal 0<br>
    148 Complete testcase output was:<br>
    149 [19243] ./ecma_3/RegExp/regress-100199.js line 48: SyntaxError: Invalid regular expression: missing terminating ] for character class<br>
    150 </tt><br>
    151 <a name='failure10'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/regress-188206.js'>ecma_3/RegExp/regress-188206.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=188206' target='other_window'>Bug Number 188206</a><br>
    152  [ <a href='#failure9'>Previous Failure</a> | <a href='#failure11'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    153 <tt>STATUS: Invalid use of regexp quantifiers should generate SyntaxErrors<br>
    154 Failure messages were:<br>
    155 FAILED!: [reported from test()] Section 3 of test -<br>
    156 FAILED!: [reported from test()] Expected value 'SyntaxError', Actual value 'Did not generate ANY error!!!'<br>
    157 FAILED!: [reported from test()] <br>
    158 </tt><br>
    159 <a name='failure11'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/regress-209919.js'>ecma_3/RegExp/regress-209919.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=209919' target='other_window'>Bug Number 209919</a><br>
    160  [ <a href='#failure10'>Previous Failure</a> | <a href='#failure12'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     124<a name='failure7'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/perlstress-002.js'>ecma_3/RegExp/perlstress-002.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=85721' target='other_window'>Bug Number 85721</a><br>
     125 [ <a href='#failure6'>Previous Failure</a> | <a href='#failure8'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     126<tt>STATUS: Testing regular expression edge cases<br>
     127Failure messages were:<br>
     128FAILED!: [reported from test()] Section 41 of test -<br>
     129FAILED!: [reported from test()] regexp = /((\3|b)\2(a)x)+/<br>
     130FAILED!: [reported from test()] string = 'aaxabxbaxbbx'<br>
     131FAILED!: [reported from test()] ERROR !!! regexp FAILED to match anything !!!<br>
     132FAILED!: [reported from test()] Expect: ["ax", "ax", "", "a"]<br>
     133FAILED!: [reported from test()] Actual: null<br>
     134FAILED!: [reported from test()] <br>
     135</tt><br>
     136<a name='failure8'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/RegExp/regress-209919.js'>ecma_3/RegExp/regress-209919.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=209919' target='other_window'>Bug Number 209919</a><br>
     137 [ <a href='#failure7'>Previous Failure</a> | <a href='#failure9'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    161138<tt>STATUS: Testing regexp submatches with quantifiers<br>
    162139Failure messages were:<br>
     
    197174FAILED!: [reported from test()] <br>
    198175</tt><br>
    199 <a name='failure12'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Statements/regress-194364.js'>ecma_3/Statements/regress-194364.js</a> failed</b> <br>
    200  [ <a href='#failure11'>Previous Failure</a> | <a href='#failure13'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     176<a name='failure9'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Statements/regress-194364.js'>ecma_3/Statements/regress-194364.js</a> failed</b> <br>
     177 [ <a href='#failure8'>Previous Failure</a> | <a href='#failure10'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    201178<tt>Expected exit code 0, got 3<br>
    202179Testcase terminated with signal 0<br>
    203180Complete testcase output was:<br>
    204181LEAK: 2 KJS::Node<br>
    205 [19269] ./ecma_3/Statements/regress-194364.js line 1: SyntaxError: Parse error<br>
    206 </tt><br>
    207 <a name='failure13'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-001.js'>ecma_3/Unicode/uc-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23610' target='other_window'>Bug Number 23610</a><br>
    208  [ <a href='#failure12'>Previous Failure</a> | <a href='#failure14'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     182[40396] ./ecma_3/Statements/regress-194364.js line 1: SyntaxError: Parse error<br>
     183</tt><br>
     184<a name='failure10'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-001.js'>ecma_3/Unicode/uc-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23610' target='other_window'>Bug Number 23610</a><br>
     185 [ <a href='#failure9'>Previous Failure</a> | <a href='#failure11'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    209186<tt>STATUS: Unicode format-control character (Category Cf) test.<br>
    210187Failure messages were:<br>
     
    213190FAILED!: [reported from test()] <br>
    214191</tt><br>
    215 <a name='failure14'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-002.js'>ecma_3/Unicode/uc-002.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23613' target='other_window'>Bug Number 23613</a><br>
    216  [ <a href='#failure13'>Previous Failure</a> | <a href='#failure15'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     192<a name='failure11'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-002.js'>ecma_3/Unicode/uc-002.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23613' target='other_window'>Bug Number 23613</a><br>
     193 [ <a href='#failure10'>Previous Failure</a> | <a href='#failure12'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    217194<tt>STATUS: Unicode non-breaking space character test.<br>
    218195Failure messages were:<br>
     
    221198FAILED!: [reported from test()] <br>
    222199</tt><br>
    223 <a name='failure15'></a><dd><b>Testcase <a target='other_window' href='./js1_2/Objects/toString-001.js'>js1_2/Objects/toString-001.js</a> failed</b> <br>
    224  [ <a href='#failure14'>Previous Failure</a> | <a href='#failure16'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     200<a name='failure12'></a><dd><b>Testcase <a target='other_window' href='./js1_2/Objects/toString-001.js'>js1_2/Objects/toString-001.js</a> failed</b> <br>
     201 [ <a href='#failure11'>Previous Failure</a> | <a href='#failure13'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    225202<tt><br>
    226203Failure messages were:<br>
     
    229206o = { name:"object", length:0, value:"hello" }; o.toString() = false FAILED! expected: true<br>
    230207</tt><br>
    231 <a name='failure16'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/Function_object.js'>js1_2/function/Function_object.js</a> failed</b> <br>
    232  [ <a href='#failure15'>Previous Failure</a> | <a href='#failure17'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     208<a name='failure13'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/Function_object.js'>js1_2/function/Function_object.js</a> failed</b> <br>
     209 [ <a href='#failure12'>Previous Failure</a> | <a href='#failure14'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    233210<tt><br>
    234211Failure messages were:<br>
     
    238215} FAILED! expected: <br>
    239216</tt><br>
    240 <a name='failure17'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/function-001-n.js'>js1_2/function/function-001-n.js</a> failed</b> <br>
    241  [ <a href='#failure16'>Previous Failure</a> | <a href='#failure18'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     217<a name='failure14'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/function-001-n.js'>js1_2/function/function-001-n.js</a> failed</b> <br>
     218 [ <a href='#failure13'>Previous Failure</a> | <a href='#failure15'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    242219<tt>Expected exit code 3, got 0<br>
    243220Testcase terminated with signal 0<br>
    244221Complete testcase output was:<br>
     222LEAK: 280 KJS::Node<br>
    245223function-001.js functions not separated by semicolons are errors in version 120 and higher<br>
    246224eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
    247225</tt><br>
    248 <a name='failure18'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-1.js'>js1_2/function/tostring-1.js</a> failed</b> <br>
    249  [ <a href='#failure17'>Previous Failure</a> | <a href='#failure19'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    250 <tt><br>
    251 Failure messages were:<br>
    252 } FAILED! expected: <br>
    253 } FAILED! expected: <br>
    254 } FAILED! expected: <br>
    255 } FAILED! expected: <br>
    256 } FAILED! expected: <br>
    257 </tt><br>
    258 <a name='failure19'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-2.js'>js1_2/function/tostring-2.js</a> failed</b> <br>
    259  [ <a href='#failure18'>Previous Failure</a> | <a href='#failure20'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    260 <tt><br>
    261 Failure messages were:<br>
    262 } FAILED! expected: <br>
    263 } FAILED! expected: <br>
    264 } FAILED! expected: <br>
    265 } FAILED! expected: <br>
    266 } FAILED! expected: <br>
    267 } FAILED! expected: <br>
    268 } FAILED! expected: <br>
    269 } FAILED! expected: <br>
    270 } FAILED! expected: <br>
    271 </tt><br>
    272 <a name='failure20'></a><dd><b>Testcase <a target='other_window' href='./js1_2/operator/equality.js'>js1_2/operator/equality.js</a> failed</b> <br>
    273  [ <a href='#failure19'>Previous Failure</a> | <a href='#failure21'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     226<a name='failure15'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-1.js'>js1_2/function/tostring-1.js</a> failed</b> <br>
     227 [ <a href='#failure14'>Previous Failure</a> | <a href='#failure16'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     228<tt><br>
     229Failure messages were:<br>
     230} FAILED! expected: <br>
     231} FAILED! expected: <br>
     232} FAILED! expected: <br>
     233} FAILED! expected: <br>
     234} FAILED! expected: <br>
     235</tt><br>
     236<a name='failure16'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-2.js'>js1_2/function/tostring-2.js</a> failed</b> <br>
     237 [ <a href='#failure15'>Previous Failure</a> | <a href='#failure17'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     238<tt><br>
     239Failure messages were:<br>
     240} FAILED! expected: <br>
     241} FAILED! expected: <br>
     242} FAILED! expected: <br>
     243} FAILED! expected: <br>
     244} FAILED! expected: <br>
     245} FAILED! expected: <br>
     246} FAILED! expected: <br>
     247} FAILED! expected: <br>
     248} FAILED! expected: <br>
     249</tt><br>
     250<a name='failure17'></a><dd><b>Testcase <a target='other_window' href='./js1_2/operator/equality.js'>js1_2/operator/equality.js</a> failed</b> <br>
     251 [ <a href='#failure16'>Previous Failure</a> | <a href='#failure18'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    274252<tt><br>
    275253Failure messages were:<br>
     
    277255('x' == new String('x'))                  = true FAILED! expected: false<br>
    278256</tt><br>
    279 <a name='failure21'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_lastIndex.js'>js1_2/regexp/RegExp_lastIndex.js</a> failed</b> <br>
    280  [ <a href='#failure20'>Previous Failure</a> | <a href='#failure22'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     257<a name='failure18'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_lastIndex.js'>js1_2/regexp/RegExp_lastIndex.js</a> failed</b> <br>
     258 [ <a href='#failure17'>Previous Failure</a> | <a href='#failure19'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    281259<tt><br>
    282260Failure messages were:<br>
     
    284262re.exec('xyabcdef') = xy FAILED! expected: ["xy"]<br>
    285263</tt><br>
    286 <a name='failure22'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_multiline.js'>js1_2/regexp/RegExp_multiline.js</a> failed</b> <br>
    287  [ <a href='#failure21'>Previous Failure</a> | <a href='#failure23'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     264<a name='failure19'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_multiline.js'>js1_2/regexp/RegExp_multiline.js</a> failed</b> <br>
     265 [ <a href='#failure18'>Previous Failure</a> | <a href='#failure20'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    288266<tt><br>
    289267Failure messages were:<br>
     
    294272(multiline == true) 'a11\na22\na23\na24'.match(new RegExp('a..$','g')) = a24 FAILED! expected: a11,a22,a23,a24<br>
    295273</tt><br>
    296 <a name='failure23'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_multiline_as_array.js'>js1_2/regexp/RegExp_multiline_as_array.js</a> failed</b> <br>
    297  [ <a href='#failure22'>Previous Failure</a> | <a href='#failure24'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     274<a name='failure20'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_multiline_as_array.js'>js1_2/regexp/RegExp_multiline_as_array.js</a> failed</b> <br>
     275 [ <a href='#failure19'>Previous Failure</a> | <a href='#failure21'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    298276<tt><br>
    299277Failure messages were:<br>
     
    304282(['$*'] == true) 'a11\na22\na23\na24'.match(new RegExp('a..$','g')) = a24 FAILED! expected: a11,a22,a23,a24<br>
    305283</tt><br>
    306 <a name='failure24'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/beginLine.js'>js1_2/regexp/beginLine.js</a> failed</b> <br>
    307  [ <a href='#failure23'>Previous Failure</a> | <a href='#failure25'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     284<a name='failure21'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/beginLine.js'>js1_2/regexp/beginLine.js</a> failed</b> <br>
     285 [ <a href='#failure20'>Previous Failure</a> | <a href='#failure22'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    308286<tt><br>
    309287Failure messages were:<br>
    310288123xyz'.match(new RegExp('^\d+')) = null FAILED! expected: 123<br>
    311289</tt><br>
    312 <a name='failure25'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/endLine.js'>js1_2/regexp/endLine.js</a> failed</b> <br>
    313  [ <a href='#failure24'>Previous Failure</a> | <a href='#failure26'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     290<a name='failure22'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/endLine.js'>js1_2/regexp/endLine.js</a> failed</b> <br>
     291 [ <a href='#failure21'>Previous Failure</a> | <a href='#failure23'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    314292<tt><br>
    315293Failure messages were:<br>
    316294xyz'.match(new RegExp('\d+$')) = null FAILED! expected: 890<br>
    317295</tt><br>
    318 <a name='failure26'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/string_split.js'>js1_2/regexp/string_split.js</a> failed</b> <br>
    319  [ <a href='#failure25'>Previous Failure</a> | <a href='#failure27'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     296<a name='failure23'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/string_split.js'>js1_2/regexp/string_split.js</a> failed</b> <br>
     297 [ <a href='#failure22'>Previous Failure</a> | <a href='#failure24'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    320298<tt><br>
    321299Failure messages were:<br>
     
    325303'abc'.split(new RegExp('[a-z]')) = ,,, FAILED! expected: ,,<br>
    326304</tt><br>
    327 <a name='failure27'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/boolean-001.js'>js1_2/version120/boolean-001.js</a> failed</b> <br>
    328  [ <a href='#failure26'>Previous Failure</a> | <a href='#failure28'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     305<a name='failure24'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/boolean-001.js'>js1_2/version120/boolean-001.js</a> failed</b> <br>
     306 [ <a href='#failure23'>Previous Failure</a> | <a href='#failure25'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    329307<tt><br>
    330308Failure messages were:<br>
    331309new Boolean(false) = true FAILED! expected: false<br>
    332310</tt><br>
    333 <a name='failure28'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/regress-99663.js'>js1_2/version120/regress-99663.js</a> failed</b> <br>
    334  [ <a href='#failure27'>Previous Failure</a> | <a href='#failure29'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     311<a name='failure25'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/regress-99663.js'>js1_2/version120/regress-99663.js</a> failed</b> <br>
     312 [ <a href='#failure24'>Previous Failure</a> | <a href='#failure26'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    335313<tt>STATUS: Regression test for Bugzilla bug 99663<br>
    336314Failure messages were:<br>
     
    339317Section 3 of test - got Error: Can't find variable: it FAILED! expected: a "read-only" error<br>
    340318</tt><br>
    341 <a name='failure29'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/function-001-n.js'>js1_3/Script/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
    342  [ <a href='#failure28'>Previous Failure</a> | <a href='#failure30'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     319<a name='failure26'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/function-001-n.js'>js1_3/Script/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
     320 [ <a href='#failure25'>Previous Failure</a> | <a href='#failure27'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    343321<tt>Expected exit code 3, got 0<br>
    344322Testcase terminated with signal 0<br>
    345323Complete testcase output was:<br>
     324LEAK: 330 KJS::Node<br>
    346325BUGNUMBER: 10278<br>
    347326function-001.js functions not separated by semicolons are errors in version 120 and higher<br>
    348327eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
    349328</tt><br>
    350 <a name='failure30'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/script-001.js'>js1_3/Script/script-001.js</a> failed</b> <br>
    351  [ <a href='#failure29'>Previous Failure</a> | <a href='#failure31'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     329<a name='failure27'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/script-001.js'>js1_3/Script/script-001.js</a> failed</b> <br>
     330 [ <a href='#failure26'>Previous Failure</a> | <a href='#failure28'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    352331<tt>Expected exit code 0, got 3<br>
    353332Testcase terminated with signal 0<br>
    354333Complete testcase output was:<br>
    355334script-001 NativeScript<br>
    356 [19374] ./js1_3/Script/script-001.js line 133: ReferenceError: Can't find variable: Script<br>
    357 </tt><br>
    358 <a name='failure31'></a><dd><b>Testcase <a target='other_window' href='./js1_3/regress/function-001-n.js'>js1_3/regress/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
    359  [ <a href='#failure30'>Previous Failure</a> | <a href='#failure32'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     335[40502] ./js1_3/Script/script-001.js line 133: ReferenceError: Can't find variable: Script<br>
     336</tt><br>
     337<a name='failure28'></a><dd><b>Testcase <a target='other_window' href='./js1_3/regress/function-001-n.js'>js1_3/regress/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
     338 [ <a href='#failure27'>Previous Failure</a> | <a href='#failure29'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    360339<tt>Expected exit code 3, got 0<br>
    361340Testcase terminated with signal 0<br>
    362341Complete testcase output was:<br>
     342LEAK: 330 KJS::Node<br>
    363343BUGNUMBER: 10278<br>
    364344function-001.js functions not separated by semicolons are errors in version 120 and higher<br>
    365345eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
    366346</tt><br>
    367 <a name='failure32'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-001.js'>js1_5/Exceptions/catchguard-001.js</a> failed</b> <br>
     347<a name='failure29'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-001.js'>js1_5/Exceptions/catchguard-001.js</a> failed</b> <br>
     348 [ <a href='#failure28'>Previous Failure</a> | <a href='#failure30'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     349<tt>Expected exit code 0, got 3<br>
     350Testcase terminated with signal 0<br>
     351Complete testcase output was:<br>
     352LEAK: 25 KJS::Node<br>
     353</tt><br>
     354<a name='failure30'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-002.js'>js1_5/Exceptions/catchguard-002.js</a> failed</b> <br>
     355 [ <a href='#failure29'>Previous Failure</a> | <a href='#failure31'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     356<tt>Expected exit code 0, got 3<br>
     357Testcase terminated with signal 0<br>
     358Complete testcase output was:<br>
     359LEAK: 23 KJS::Node<br>
     360</tt><br>
     361<a name='failure31'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-003.js'>js1_5/Exceptions/catchguard-003.js</a> failed</b> <br>
     362 [ <a href='#failure30'>Previous Failure</a> | <a href='#failure32'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     363<tt>Expected exit code 0, got 3<br>
     364Testcase terminated with signal 0<br>
     365Complete testcase output was:<br>
     366LEAK: 28 KJS::Node<br>
     367</tt><br>
     368<a name='failure32'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/errstack-001.js'>js1_5/Exceptions/errstack-001.js</a> failed</b> <br>
    368369 [ <a href='#failure31'>Previous Failure</a> | <a href='#failure33'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    369370<tt>Expected exit code 0, got 3<br>
    370371Testcase terminated with signal 0<br>
    371372Complete testcase output was:<br>
    372 LEAK: 25 KJS::Node<br>
    373 </tt><br>
    374 <a name='failure33'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-002.js'>js1_5/Exceptions/catchguard-002.js</a> failed</b> <br>
     373[40549] ./js1_5/Exceptions/errstack-001.js line 247: TypeError: Undefined value<br>
     374</tt><br>
     375<a name='failure33'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/regress-50447.js'>js1_5/Exceptions/regress-50447.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=50447' target='other_window'>Bug Number 50447</a><br>
    375376 [ <a href='#failure32'>Previous Failure</a> | <a href='#failure34'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    376 <tt>Expected exit code 0, got 3<br>
    377 Testcase terminated with signal 0<br>
    378 Complete testcase output was:<br>
    379 LEAK: 23 KJS::Node<br>
    380 </tt><br>
    381 <a name='failure34'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-003.js'>js1_5/Exceptions/catchguard-003.js</a> failed</b> <br>
    382  [ <a href='#failure33'>Previous Failure</a> | <a href='#failure35'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    383 <tt>Expected exit code 0, got 3<br>
    384 Testcase terminated with signal 0<br>
    385 Complete testcase output was:<br>
    386 LEAK: 28 KJS::Node<br>
    387 </tt><br>
    388 <a name='failure35'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/errstack-001.js'>js1_5/Exceptions/errstack-001.js</a> failed</b> <br>
    389  [ <a href='#failure34'>Previous Failure</a> | <a href='#failure36'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    390 <tt>Expected exit code 0, got 3<br>
    391 Testcase terminated with signal 0<br>
    392 Complete testcase output was:<br>
    393 [19419] ./js1_5/Exceptions/errstack-001.js line 247: TypeError: Undefined value<br>
    394 </tt><br>
    395 <a name='failure36'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/regress-50447.js'>js1_5/Exceptions/regress-50447.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=50447' target='other_window'>Bug Number 50447</a><br>
    396  [ <a href='#failure35'>Previous Failure</a> | <a href='#failure37'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    397377<tt>Expected exit code 0, got 3<br>
    398378Testcase terminated with signal 0<br>
     
    400380BUGNUMBER: 50447<br>
    401381STATUS: Test (non-ECMA) Error object properties fileName, lineNumber<br>
    402 [19420] ./js1_5/Exceptions/regress-50447.js line 65: TypeError: Undefined value<br>
    403 </tt><br>
    404 <a name='failure37'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-001.js'>js1_5/GetSet/getset-001.js</a> failed</b> <br>
     382[40550] ./js1_5/Exceptions/regress-50447.js line 65: TypeError: Undefined value<br>
     383</tt><br>
     384<a name='failure34'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-001.js'>js1_5/GetSet/getset-001.js</a> failed</b> <br>
     385 [ <a href='#failure33'>Previous Failure</a> | <a href='#failure35'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     386<tt>Expected exit code 0, got 3<br>
     387Testcase terminated with signal 0<br>
     388Complete testcase output was:<br>
     389LEAK: 7 KJS::Node<br>
     390</tt><br>
     391<a name='failure35'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-002.js'>js1_5/GetSet/getset-002.js</a> failed</b> <br>
     392 [ <a href='#failure34'>Previous Failure</a> | <a href='#failure36'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     393<tt>Expected exit code 0, got 3<br>
     394Testcase terminated with signal 0<br>
     395Complete testcase output was:<br>
     396Testcase produced no output!</tt><br>
     397<a name='failure36'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-003.js'>js1_5/GetSet/getset-003.js</a> failed</b> <br>
     398 [ <a href='#failure35'>Previous Failure</a> | <a href='#failure37'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     399<tt>Expected exit code 0, got 3<br>
     400Testcase terminated with signal 0<br>
     401Complete testcase output was:<br>
     402LEAK: 73 KJS::Node<br>
     403</tt><br>
     404<a name='failure37'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-001.js'>js1_5/Object/regress-90596-001.js</a> failed</b> <br>
    405405 [ <a href='#failure36'>Previous Failure</a> | <a href='#failure38'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    406406<tt>Expected exit code 0, got 3<br>
    407407Testcase terminated with signal 0<br>
    408408Complete testcase output was:<br>
    409 LEAK: 7 KJS::Node<br>
    410 </tt><br>
    411 <a name='failure38'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-002.js'>js1_5/GetSet/getset-002.js</a> failed</b> <br>
     409[40565] ./js1_5/Object/regress-90596-001.js line 48: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
     410</tt><br>
     411<a name='failure38'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-002.js'>js1_5/Object/regress-90596-002.js</a> failed</b> <br>
    412412 [ <a href='#failure37'>Previous Failure</a> | <a href='#failure39'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    413413<tt>Expected exit code 0, got 3<br>
    414414Testcase terminated with signal 0<br>
    415415Complete testcase output was:<br>
    416 Testcase produced no output!</tt><br>
    417 <a name='failure39'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-003.js'>js1_5/GetSet/getset-003.js</a> failed</b> <br>
     416[40566] ./js1_5/Object/regress-90596-002.js line 48: ReferenceError: Can't find variable: uneval<br>
     417</tt><br>
     418<a name='failure39'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-001.js'>js1_5/Object/regress-96284-001.js</a> failed</b> <br>
    418419 [ <a href='#failure38'>Previous Failure</a> | <a href='#failure40'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    419420<tt>Expected exit code 0, got 3<br>
    420421Testcase terminated with signal 0<br>
    421422Complete testcase output was:<br>
    422 LEAK: 73 KJS::Node<br>
    423 </tt><br>
    424 <a name='failure40'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-001.js'>js1_5/Object/regress-90596-001.js</a> failed</b> <br>
     423[40568] ./js1_5/Object/regress-96284-001.js line 49: TypeError: Value undefined (result of expression obj1.toSource) is not object.<br>
     424</tt><br>
     425<a name='failure40'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-002.js'>js1_5/Object/regress-96284-002.js</a> failed</b> <br>
    425426 [ <a href='#failure39'>Previous Failure</a> | <a href='#failure41'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    426427<tt>Expected exit code 0, got 3<br>
    427428Testcase terminated with signal 0<br>
    428429Complete testcase output was:<br>
    429 [19435] ./js1_5/Object/regress-90596-001.js line 48: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
    430 </tt><br>
    431 <a name='failure41'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-002.js'>js1_5/Object/regress-90596-002.js</a> failed</b> <br>
     430[40569] ./js1_5/Object/regress-96284-002.js line 49: ReferenceError: Can't find variable: uneval<br>
     431</tt><br>
     432<a name='failure41'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-44009.js'>js1_5/Regress/regress-44009.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=44009' target='other_window'>Bug Number 44009</a><br>
    432433 [ <a href='#failure40'>Previous Failure</a> | <a href='#failure42'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    433 <tt>Expected exit code 0, got 3<br>
    434 Testcase terminated with signal 0<br>
    435 Complete testcase output was:<br>
    436 [19436] ./js1_5/Object/regress-90596-002.js line 48: ReferenceError: Can't find variable: uneval<br>
    437 </tt><br>
    438 <a name='failure42'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-001.js'>js1_5/Object/regress-96284-001.js</a> failed</b> <br>
    439  [ <a href='#failure41'>Previous Failure</a> | <a href='#failure43'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    440 <tt>Expected exit code 0, got 3<br>
    441 Testcase terminated with signal 0<br>
    442 Complete testcase output was:<br>
    443 [19438] ./js1_5/Object/regress-96284-001.js line 49: TypeError: Value undefined (result of expression obj1.toSource) is not object.<br>
    444 </tt><br>
    445 <a name='failure43'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-002.js'>js1_5/Object/regress-96284-002.js</a> failed</b> <br>
    446  [ <a href='#failure42'>Previous Failure</a> | <a href='#failure44'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    447 <tt>Expected exit code 0, got 3<br>
    448 Testcase terminated with signal 0<br>
    449 Complete testcase output was:<br>
    450 [19439] ./js1_5/Object/regress-96284-002.js line 49: ReferenceError: Can't find variable: uneval<br>
    451 </tt><br>
    452 <a name='failure44'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-44009.js'>js1_5/Regress/regress-44009.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=44009' target='other_window'>Bug Number 44009</a><br>
    453  [ <a href='#failure43'>Previous Failure</a> | <a href='#failure45'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    454434<tt>Expected exit code 0, got 3<br>
    455435Testcase terminated with signal 0<br>
     
    457437BUGNUMBER: 44009<br>
    458438STATUS: Testing that we don't crash on obj.toSource()<br>
    459 [19444] ./js1_5/Regress/regress-44009.js line 60: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
    460 </tt><br>
    461 <a name='failure45'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-68498-003.js'>js1_5/Regress/regress-68498-003.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=68498' target='other_window'>Bug Number 68498</a><br>
    462  [ <a href='#failure44'>Previous Failure</a> | <a href='#failure46'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     439[40574] ./js1_5/Regress/regress-44009.js line 60: TypeError: Value undefined (result of expression obj.toSource) is not object.<br>
     440</tt><br>
     441<a name='failure42'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-68498-003.js'>js1_5/Regress/regress-68498-003.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=68498' target='other_window'>Bug Number 68498</a><br>
     442 [ <a href='#failure41'>Previous Failure</a> | <a href='#failure43'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    463443<tt>STATUS: Testing calling obj.eval(str)<br>
    464444Failure messages were:<br>
     
    468448FAILED!: [reported from test()] <br>
    469449</tt><br>
    470 <a name='failure46'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-103602.js'>js1_5/Regress/regress-103602.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=103602' target='other_window'>Bug Number 103602</a><br>
    471  [ <a href='#failure45'>Previous Failure</a> | <a href='#failure47'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     450<a name='failure43'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-103602.js'>js1_5/Regress/regress-103602.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=103602' target='other_window'>Bug Number 103602</a><br>
     451 [ <a href='#failure42'>Previous Failure</a> | <a href='#failure44'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    472452<tt>STATUS: Reassignment to a const is NOT an error per ECMA<br>
    473453Failure messages were:<br>
     
    479459FAILED!: [reported from test()] <br>
    480460</tt><br>
    481 <a name='failure47'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-104077.js'>js1_5/Regress/regress-104077.js</a> failed</b> <br>
     461<a name='failure44'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-104077.js'>js1_5/Regress/regress-104077.js</a> failed</b> <br>
     462 [ <a href='#failure43'>Previous Failure</a> | <a href='#failure45'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     463<tt>Expected exit code 0, got 3<br>
     464Testcase terminated with signal 0<br>
     465Complete testcase output was:<br>
     466LEAK: 457 KJS::Node<br>
     467</tt><br>
     468<a name='failure45'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-127557.js'>js1_5/Regress/regress-127557.js</a> failed</b> <br>
     469 [ <a href='#failure44'>Previous Failure</a> | <a href='#failure46'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     470<tt>Expected exit code 0, got 3<br>
     471Testcase terminated with signal 0<br>
     472Complete testcase output was:<br>
     473[40601] ./js1_5/Regress/regress-127557.js line 75: ReferenceError: Can't find variable: clone<br>
     474</tt><br>
     475<a name='failure46'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-172699.js'>js1_5/Regress/regress-172699.js</a> failed</b> <br>
     476 [ <a href='#failure45'>Previous Failure</a> | <a href='#failure47'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     477<tt>Expected exit code 0, got 3<br>
     478Testcase terminated with signal 0<br>
     479Complete testcase output was:<br>
     480[40610] ./js1_5/Regress/regress-172699.js line 61: URIError: URI error<br>
     481</tt><br>
     482<a name='failure47'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-179524.js'>js1_5/Regress/regress-179524.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=179524' target='other_window'>Bug Number 179524</a><br>
    482483 [ <a href='#failure46'>Previous Failure</a> | <a href='#failure48'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    483 <tt>Expected exit code 0, got 3<br>
    484 Testcase terminated with signal 0<br>
    485 Complete testcase output was:<br>
    486 LEAK: 457 KJS::Node<br>
    487 </tt><br>
    488 <a name='failure48'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-127557.js'>js1_5/Regress/regress-127557.js</a> failed</b> <br>
    489  [ <a href='#failure47'>Previous Failure</a> | <a href='#failure49'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    490 <tt>Expected exit code 0, got 3<br>
    491 Testcase terminated with signal 0<br>
    492 Complete testcase output was:<br>
    493 [19470] ./js1_5/Regress/regress-127557.js line 75: ReferenceError: Can't find variable: clone<br>
    494 </tt><br>
    495 <a name='failure49'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-172699.js'>js1_5/Regress/regress-172699.js</a> failed</b> <br>
    496  [ <a href='#failure48'>Previous Failure</a> | <a href='#failure50'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    497 <tt>Expected exit code 0, got 3<br>
    498 Testcase terminated with signal 0<br>
    499 Complete testcase output was:<br>
    500 [19492] ./js1_5/Regress/regress-172699.js line 61: URIError: URI error<br>
    501 </tt><br>
    502 <a name='failure50'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-179524.js'>js1_5/Regress/regress-179524.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=179524' target='other_window'>Bug Number 179524</a><br>
    503  [ <a href='#failure49'>Previous Failure</a> | <a href='#failure51'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    504484<tt>STATUS: Don't crash on extraneous arguments to str.match(), etc.<br>
    505485Failure messages were:<br>
     
    551531FAILED!: [reported from test()] <br>
    552532</tt><br>
    553 <a name='failure51'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
    554  [ <a href='#failure50'>Previous Failure</a> | <a href='#failure52'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    555 <tt>Expected exit code 0, got 3<br>
    556 Testcase terminated with signal 0<br>
    557 Complete testcase output was:<br>
    558 [19517] ./js1_5/Scope/regress-220584.js line 56: ReferenceError: Can't find variable: Script<br>
    559 </tt><br>
    560 <a name='failure52'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
    561  [ <a href='#failure51'>Previous Failure</a> | <a href='#failure53'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     533<a name='failure48'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
     534 [ <a href='#failure47'>Previous Failure</a> | <a href='#failure49'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     535<tt>Expected exit code 0, got 3<br>
     536Testcase terminated with signal 0<br>
     537Complete testcase output was:<br>
     538[40635] ./js1_5/Scope/regress-220584.js line 56: ReferenceError: Can't find variable: Script<br>
     539</tt><br>
     540<a name='failure49'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
     541 [ <a href='#failure48'>Previous Failure</a> | <a href='#failure50'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    562542<tt>STATUS: Testing scope after changing obj.__proto__<br>
    563543Failure messages were:<br>
     
    570550FAILED!: [reported from test()] <br>
    571551</tt><br>
    572 <a name='failure53'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
    573  [ <a href='#failure52'>Previous Failure</a> | <a href='#failure54'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     552<a name='failure50'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
     553 [ <a href='#failure49'>Previous Failure</a> | <a href='#failure51'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    574554<tt>STATUS: E4X should be enabled even when e4x=1 not specified<br>
    575555Failure messages were:<br>
     
    581561FAILED!: <br>
    582562</tt><br>
    583 <a name='failure54'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
    584  [ <a href='#failure53'>Previous Failure</a> | <a href='#failure55'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     563<a name='failure51'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
     564 [ <a href='#failure50'>Previous Failure</a> | <a href='#failure52'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    585565<tt>Expected exit code 0, got 3<br>
    586566Testcase terminated with signal 0<br>
     
    588568LEAK: 63 KJS::Node<br>
    589569</tt><br>
    590 <a name='failure55'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
    591  [ <a href='#failure54'>Previous Failure</a> | <a href='#failure56'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     570<a name='failure52'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
     571 [ <a href='#failure51'>Previous Failure</a> | <a href='#failure53'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    592572<tt>Expected exit code 0, got 3<br>
    593573Testcase terminated with signal 0<br>
    594574Complete testcase output was:<br>
    595575Testcase produced no output!</tt><br>
    596 <a name='failure56'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
    597  [ <a href='#failure55'>Previous Failure</a> | <a href='#failure57'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
     576<a name='failure53'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
     577 [ <a href='#failure52'>Previous Failure</a> | <a href='#failure54'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
    598578<tt>Expected exit code 0, got 3<br>
    599579Testcase terminated with signal 0<br>
     
    602582STATUS: String static methods<br>
    603583STATUS: See https://bugzilla.mozilla.org/show_bug.cgi?id=304828<br>
    604 [19539] ./js1_6/String/regress-306591.js line 48: TypeError: Value undefined (result of expression String.split) is not object.<br>
     584[40657] ./js1_6/String/regress-306591.js line 48: TypeError: Value undefined (result of expression String.split) is not object.<br>
    605585</tt><br>
    606586</dl>
     
    610590<a name='retest_list'></a>
    611591<h2>Retest List</h2><br>
    612 # Retest List, kjs, generated Sat Nov  3 17:02:52 2007.
     592# Retest List, kjs, generated Mon Nov 12 16:13:45 2007.
    613593# Original test base was: All tests.
    614 # 1127 of 1135 test(s) were completed, 56 failures reported.
    615 ecma/Date/15.9.5.14.js
    616 ecma/Date/15.9.5.34-1.js
     594# 1127 of 1135 test(s) were completed, 53 failures reported.
    617595ecma/TypeConversion/9.3.1-3.js
    618596ecma_2/Exceptions/function-001.js
     
    621599ecma_3/RegExp/15.10.2-1.js
    622600ecma_3/RegExp/perlstress-001.js
    623 ecma_3/RegExp/regress-100199.js
    624 ecma_3/RegExp/regress-188206.js
     601ecma_3/RegExp/perlstress-002.js
    625602ecma_3/RegExp/regress-209919.js
    626603ecma_3/Statements/regress-194364.js
Note: See TracChangeset for help on using the changeset viewer.