Skip to content

Replace BalanceISODate(Time) and rearrange time zone offset checks#3184

Closed
catamorphism wants to merge 36 commits intotc39:mainfrom
catamorphism:anba-balance-iso-date
Closed

Replace BalanceISODate(Time) and rearrange time zone offset checks#3184
catamorphism wants to merge 36 commits intotc39:mainfrom
catamorphism:anba-balance-iso-date

Conversation

@catamorphism
Copy link
Contributor

This takes #3014 and adds a commit implementing each spec change in the polyfill, following each of the spec commits.

Some test262 failures were revealed in the process, and the spec is changed accordingly, in separate commits so that it's easy to track what's different from #3014.

anba and others added 30 commits November 5, 2025 16:37
This spec change caused the following test failures:
FAIL: (intl) ZonedDateTime/p/since/argument-at-limits.js
FAIL: (intl) ZonedDateTime/p/until/argument-at-limits.js
The check in the "timeZone === 'UTC'" case in GetPossibleEpochNanoseconds
is necessary to make
ZonedDateTime/p/since/roundingincrement-addition-out-of-range.js
and
ZonedDateTime/p/until/roundingincrement-addition-out-of-range.js
pass. If it's changed to CheckISODaysRange(isoDateTime), that causes
other test failures.

Also changed and moved CheckISODaysRange(isoDateTime) test
in InterpretISODateTimeOffset; this was to fix the following failures:
FAIL: Duration/compare/relativeto-string-limits.js
FAIL: Duration/p/round/relativeto-string-limits.js
FAIL: Duration/p/total/relativeto-string-limits.js
FAIL: ZonedDateTime/compare/argument-string-limits.js
FAIL: ZonedDateTime/from/argument-string-limits.js
FAIL: ZonedDateTime/p/equals/argument-string-limits.js
FAIL: ZonedDateTime/p/since/argument-string-limits.js
FAIL: ZonedDateTime/p/until/argument-string-limits.js
@catamorphism catamorphism force-pushed the anba-balance-iso-date branch 2 times, most recently from ff0e8db to 21fedcc Compare November 13, 2025 02:50
@codecov
Copy link

codecov bot commented Nov 13, 2025

Codecov Report

❌ Patch coverage is 97.31544% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.99%. Comparing base (53731c2) to head (b37b572).
⚠️ Report is 32 commits behind head on main.

Files with missing lines Patch % Lines
polyfill/lib/calendar.mjs 87.50% 2 Missing ⚠️
polyfill/lib/ecmascript.mjs 98.42% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3184      +/-   ##
==========================================
+ Coverage   96.96%   96.99%   +0.03%     
==========================================
  Files          22       22              
  Lines       10219    10196      -23     
  Branches     1841     1850       +9     
==========================================
- Hits         9909     9890      -19     
+ Misses        261      257       -4     
  Partials       49       49              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@catamorphism
Copy link
Contributor Author

Note: not every step passes tests on its own. The first step breaks these tests:

FAIL: Instant/compare/argument-string-limits.js
FAIL: Instant/from/argument-string-limits.js
FAIL: Instant/p/equals/argument-string-limits.js
FAIL: Instant/p/since/argument-string-limits.js
FAIL: Instant/p/until/argument-string-limits.js
FAIL: ZonedDateTime/from/argument-string-limits.js

which are fixed in a later step.

@ptomato
Copy link
Collaborator

ptomato commented Dec 11, 2025

Closing, see #3014 (comment)

@ptomato ptomato closed this Dec 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants