diff --git a/TODO b/TODO index d6618cf..af96fb8 100644 --- a/TODO +++ b/TODO @@ -63,4 +63,4 @@ Test262o: 0/11262 errors, 463 excluded Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch) Test262: -Result: 63/83149 errors, 1645 excluded, 5538 skipped +Result: 61/83149 errors, 1645 excluded, 5538 skipped diff --git a/quickjs.c b/quickjs.c index 3c28cf7..9d416d3 100644 --- a/quickjs.c +++ b/quickjs.c @@ -53839,11 +53839,11 @@ static BOOL js_date_parse_otherstring(const uint8_t *sp, *is_local = FALSE; } } else { - if (p - p_start > 2) { + if (p - p_start > 2 && !has_year) { fields[0] = val; has_year = TRUE; } else - if (val < 1 || val > 31) { + if ((val < 1 || val > 31) && !has_year) { fields[0] = val + (val < 100) * 1900 + (val < 50) * 100; has_year = TRUE; } else { diff --git a/test262_errors.txt b/test262_errors.txt index df0e8fe..ec3df0f 100644 --- a/test262_errors.txt +++ b/test262_errors.txt @@ -7,8 +7,6 @@ test262/test/annexB/language/expressions/assignmenttargettype/callexpression.js: test262/test/annexB/language/expressions/assignmenttargettype/cover-callexpression-and-asyncarrowhead.js:20: SyntaxError: invalid assignment left-hand side test262/test/language/identifier-resolution/assign-to-global-undefined.js:20: strict mode: expected error test262/test/language/module-code/top-level-await/rejection-order.js:20: TypeError: $DONE() not called -test262/test/staging/sm/Date/two-digit-years.js:26: Test262Error: Expected SameValue(«915177600000», «NaN») to be true -test262/test/staging/sm/Date/two-digit-years.js:26: strict mode: Test262Error: Expected SameValue(«915177600000», «NaN») to be true test262/test/staging/sm/Function/arguments-parameter-shadowing.js:14: Test262Error: Expected SameValue(«true», «false») to be true test262/test/staging/sm/Function/constructor-binding.js:11: Test262Error: Expected SameValue(«"function"», «"undefined"») to be true test262/test/staging/sm/Function/constructor-binding.js:11: strict mode: Test262Error: Expected SameValue(«"function"», «"undefined"») to be true