Tags: tc39/test262
Tags
Split IANA timezone test from built-ins to intl402
Add export-defer to features.txt
Classify additoinal Iterator and Map web-features
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.
Remove substr in Temporal tests
update esvu
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).
[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.
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>
PreviousNext