Skip to content

Tags: tc39/test262

Tags

web-features-manifest-for-4a1e96230008fe27367233f7e4947ace176aac5a

Toggle web-features-manifest-for-4a1e96230008fe27367233f7e4947ace176aac5a's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add missing features (#5019)

web-features-manifest-for-1775ee48c9d71fbd1ec6a1a66ac23efcbd627f8f

Toggle web-features-manifest-for-1775ee48c9d71fbd1ec6a1a66ac23efcbd627f8f's commit message
Split IANA timezone test from built-ins to intl402

web-features-manifest-for-458e815737ed5f6023b765bda50e9deeb7109925

Toggle web-features-manifest-for-458e815737ed5f6023b765bda50e9deeb7109925's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add export-defer to features.txt

web-features-manifest-for-be10a74689375b3f19451b7b2f49e2a8ffe6c18a

Toggle web-features-manifest-for-be10a74689375b3f19451b7b2f49e2a8ffe6c18a's commit message
Classify additoinal Iterator and Map web-features

web-features-manifest-for-b66872a92487694396fb082343e08dd7cca5ddf4

Toggle web-features-manifest-for-b66872a92487694396fb082343e08dd7cca5ddf4's commit message
Add ResolveExport tests for star exports with cyclic indirect re-exports

Star export resolution must skip cyclic paths that go through indirect
named re-exports (export { foo } from "mod") and continue resolving
through other star export entries. This adds two tests covering the case
where the same export name cycles back via indirect re-exports while
another star-export path provides the actual binding.

web-features-manifest-for-a9af758c4fb6d31eee5683b3a8a6d55525ac9a77

Toggle web-features-manifest-for-a9af758c4fb6d31eee5683b3a8a6d55525ac9a77's commit message
Remove substr in Temporal tests

web-features-manifest-for-a8bc723ce8d675275d043c901f87a44427b3ad9d

Toggle web-features-manifest-for-a8bc723ce8d675275d043c901f87a44427b3ad9d's commit message
update esvu

web-features-manifest-for-1cd9571a64154437465ad68492b65a3a64109fa9

Toggle web-features-manifest-for-1cd9571a64154437465ad68492b65a3a64109fa9's commit message
Use $DETACHBUFFER helper in test/staging/sm/

Switch the tests in test/staging/sm/ that use `$262.detachArrayBuffer` directly
to the style in non-staging tests: add `includes: detachArrayBuffer.js` and use
`$DETACHBUFFER` helper (except for a few cross-realm calls).

web-features-manifest-for-b9a76ebe41c575572af3c75bea6bf7cef169bae2

Toggle web-features-manifest-for-b9a76ebe41c575572af3c75bea6bf7cef169bae2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[await-dictionary] add runtime keyed Promise combinator tests (#4932)

* [await-dictionary] add runtime keyed Promise combinator tests

Cover shared failure/success behavior for Promise.allKeyed and Promise.allSettledKeyed, including non-object rejection, non-constructor context, key ordering, and allSettled result-shape outcomes.

* address review feedback: settlement order, exhaustive key check, BigInt coverage

- Change key-order-preserved settle sequence to 2nd, 3rd, 1st to avoid false
  passes from reverse-order implementations
- Use Reflect.ownKeys instead of Object.keys in empty-object assertions for
  exhaustive own-key verification
- Add separate BigInt rejection tests gated behind BigInt feature flag

* add tests for prototype keys, symbol keys, and function arguments

- prototype-keys-ignored: inherited enumerable properties are excluded
  ([[OwnPropertyKeys]] returns only own keys)
- symbol-keys: enumerable symbol-keyed properties are included in the
  result alongside string keys
- arg-is-function: functions with enumerable own properties are accepted
  as valid object arguments; built-in non-enumerable properties excluded

* convert all async tests to use asyncTest / assert.throwsAsync

- Adopt asyncHelpers.js across all 23 async test files
- Replace manual .then($DONE, $DONE) with asyncTest wrapper
- Convert TypeError rejection tests to assert.throwsAsync for
  more robust error checking
- Fixes double-$DONE bug in resolve-not-callable-reject-with-typeerror

* add non-enumerable symbol key to symbol-keys tests

Covers all 4 combinations of string/symbol and enumerable/non-enumerable.

web-features-manifest-for-2b2ecead6e828dd9af13a9ec72065e645724a50f

Toggle web-features-manifest-for-2b2ecead6e828dd9af13a9ec72065e645724a50f's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add Temporal half-rounding boundary tests across all units (#4996)

* Add Temporal PlainDate tests for rounding half-boundary, leap years, and dayOfWeek

The existing rounding mode tests for PlainDate.prototype.since() and
PlainDate.prototype.until() use dates that produce ~31.97 months of
difference, well above the 0.5 boundary. All half-* rounding modes
produce identical results, making it impossible to distinguish halfExpand
from halfTrunc, or halfEven from halfCeil.

These new tests use dates that produce exactly 0.5 fractional progress
(183/366 days in a leap year), causing all nine rounding modes to produce
distinct result patterns. The 2.5-year case specifically distinguishes
halfEven (rounds to nearest even integer 2) from halfExpand (rounds away
from zero to 3).

Also adds:
- inLeapYear century-year tests (1700, 1800, 1900, 2100, 2200) exercising
  the 100/400 rule that the basic test does not cover
- dayOfWeek tests across all 12 months of a year, since the basic test
  only checks 7 consecutive days within a single month

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Refocus PR on half-boundary rounding tests across Temporal types

Remove unrelated dayOfWeek and inLeapYear tests. Add RoundRelativeDuration
spec references to info blocks. Extend half-boundary coverage to
PlainDateTime, PlainYearMonth, and ZonedDateTime (until + since).

PlainYearMonth uses June-starting dates because RoundRelativeDuration
converts month remainders to days: Jun-Nov = 183 days in a 366-day year
span (Jun 2019 - Jun 2020 crossing Feb 29), giving exactly 183/366 = 0.5.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update copyright name to Rudolph Gottesheim

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Use "breaks ties" instead of "rounds 0.5" in assertion messages

Clarifies the half-* rounding mode assertion messages by using standard
tie-breaking terminology for consistency with non-half mode phrasing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add .total() boundary assertions to verify 0.5 fractional progress

Adds assert.sameValue checks using .until().total() at the start of
each test to prove the test data produces exactly x.5 years, as
suggested by @ptomato.

Uses .until().total() rather than .since().total() for the since tests
because .total() with a negative duration traverses backward from
relativeTo into a non-leap year (2018, 365 days), yielding
183/365 ≈ 0.5014 instead of 183/366 = 0.5.

Verified against V8 14.8.37 via test262-harness.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add all applicable units to half-boundary rounding tests

Extend roundingmode-half-boundary.js tests to cover all units where
an exact 0.5 fractional boundary can be achieved, not just years.
Loop over rounding modes with identical outcomes to keep tests concise.

Units by type:
- PlainDate: years, months
- PlainDateTime/ZonedDateTime: years, months, weeks, days, hours,
  minutes, seconds, milliseconds, microseconds
- PlainYearMonth: years (months always exact for this type)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>