Skip to content

test262 intl402/Temporal toLocaleString — 61 fails (dateStyle/timeStyle rendering) #5580

Closed

Description

@proggeramlug

Current state — 61 failing. Snapshot from the 2026-06-29 full sweep (perry 0.5.1208, node v26.3.0). Supersedes the original body; the complete current failing-test list is inline below — no re-run needed to start.

Temporal toLocaleString formatting detail (dateStyle/timeStyle/calendar rendering); the Insufficient fields field-resolution cluster is already fixed.

Failure reasons

n reason
9 Uncaught exception: default locale is determined by Intl.DateTimeForma
6 Uncaught exception: dateStyle: long writes month of March out in full
4 Uncaught exception: dateStyle undefined is the same as being absent Ex
4 Uncaught exception: output for hour12: false should include 00:00:00 E
4 Uncaught exception: Expected a TypeError to be thrown but no exception
2 Uncaught exception: Instant.toLocaleString should format lone option {
2 Uncaught exception: datetime.toLocaleString("en", { weekday: "short",
2 Uncaught exception: calendar mismatch even when instance has the ISO c
2 Uncaught exception: Expected SameValue(«0», «1n») to be true
1 Uncaught exception: locale="undefined", options="undefined", duration=
1 Uncaught exception: Expected SameValue(«"11/18/1976, 2:23:30 PM"», «"1
1 Uncaught exception: expected "11/18/1976, 2:23:30 PM" to be shorter th

All 61 failing tests (path — reason)

full list — click to expand
intl402/Temporal/Duration/prototype/toLocaleString/returns-same-results-as-DurationFormat.js    Uncaught exception: locale="undefined", options="undefined", duration=""P1Y2M3W4DT5H6M7.00
intl402/Temporal/Instant/prototype/toLocaleString/basic.js    Uncaught exception: Expected SameValue(«"11/18/1976, 2:23:30 PM"», «"11/18/1976"») to be t
intl402/Temporal/Instant/prototype/toLocaleString/dateStyle-timeStyle-undefined.js    Uncaught exception: dateStyle undefined is the same as being absent Expected SameValue(«"5
intl402/Temporal/Instant/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/Instant/prototype/toLocaleString/hourcycle.js    Uncaught exception: output for hour12: false should include 00:00:00 Expected SameValue(«f
intl402/Temporal/Instant/prototype/toLocaleString/locales-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/Instant/prototype/toLocaleString/option-timezonename-short.js    Uncaught exception: expected "11/18/1976, 2:23:30 PM" to be shorter than "11/18/1976, 2:23
intl402/Temporal/Instant/prototype/toLocaleString/options-conflict.js    Uncaught exception: instant.toLocaleString("en", { weekday: "short",  dateStyle: "short" }
intl402/Temporal/Instant/prototype/toLocaleString/options-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainDate/from/hebrew-keviah.js    Uncaught exception: Expected SameValue(«false», «true») to be true
intl402/Temporal/PlainDate/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/PlainDate/prototype/toLocaleString/datestyle-and-timestyle.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
intl402/Temporal/PlainDate/prototype/toLocaleString/datestyle-not-adjusted-when-no-conflicting-options.js    Uncaught exception: Expected SameValue(«"1/1/1970, 12:00:00 AM"», «"1/1/1970"») to be true
intl402/Temporal/PlainDate/prototype/toLocaleString/lone-options-accepted.js    Uncaught exception: Instant.toLocaleString should format lone option {"year":"numeric"} Ex
intl402/Temporal/PlainDate/prototype/toLocaleString/options-conflict.js    Uncaught exception: timeStyle conflicts with PlainDate Expected a TypeError to be thrown b
intl402/Temporal/PlainDateTime/prototype/toLocaleString/basic.js    Uncaught exception: Expected SameValue(«"11/18/1976, 3:23:30 PM"», «"11/18/1976"») to be t
intl402/Temporal/PlainDateTime/prototype/toLocaleString/dateStyle-timeStyle-undefined.js    Uncaught exception: dateStyle undefined is the same as being absent Expected SameValue(«"5
intl402/Temporal/PlainDateTime/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/PlainDateTime/prototype/toLocaleString/hourcycle.js    Uncaught exception: output for hour12: false should include 00:00:00 Expected SameValue(«f
intl402/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-conflict.js    Uncaught exception: datetime.toLocaleString("en", { weekday: "short",  dateStyle: "short" 
intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone.js    Uncaught exception: Expected SameValue(«"8/4/2021, 12:30:45 AM"», «"8/4/2021, 00:30:45"») 
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/basic.js    Uncaught exception: Expected SameValue(«"11/18"», «"11/18/1970"») to be true
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/calendar-mismatch.js    Uncaught exception: calendar mismatch even when instance has the ISO calendar Expected a R
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/dateStyle-timeStyle-undefined.js    Uncaught exception: dateStyle undefined is the same as being absent Expected SameValue(«"5
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/datestyle-and-timestyle.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/lone-options-accepted.js    Uncaught exception: PlainMonthDay.toLocaleString should format lone option {"month":"long"
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-conflict.js    Uncaught exception: timeStyle conflicts with PlainMonthDay Expected a TypeError to be thro
intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainTime/prototype/toLocaleString/basic.js    Uncaught exception: Expected SameValue(«"3:23:30 PM"», «"1/1/1970"») to be true
intl402/Temporal/PlainTime/prototype/toLocaleString/datestyle-and-timestyle.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
intl402/Temporal/PlainTime/prototype/toLocaleString/hourcycle.js    Uncaught exception: output for hour12: false should include 00:00:00 Expected SameValue(«f
intl402/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainTime/prototype/toLocaleString/lone-options-accepted.js    Uncaught exception: PlainTime.toLocaleString should format lone option {"hour":"numeric"} 
intl402/Temporal/PlainTime/prototype/toLocaleString/options-conflict.js    Uncaught exception: dateStyle conflicts with PlainTime Expected a TypeError to be thrown b
intl402/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js    Uncaught exception: default options are determined by Intl.DateTimeFormat Expected SameVal
intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone.js    Uncaught exception: Expected SameValue(«"12:30:45 AM"», «"00:30:45"») to be true
intl402/Temporal/PlainTime/prototype/toLocaleString/timeStyle-undefined.js    Uncaught exception: timeStyle undefined is the same as being absent Expected SameValue(«"1
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/basic.js    Uncaught exception: Expected SameValue(«"11/1976"», «"11/1/1976"») to be true
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/calendar-mismatch.js    Uncaught exception: calendar mismatch even when instance has the ISO calendar Expected a R
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/dateStyle-undefined.js    Uncaught exception: dateStyle undefined is the same as being absent Expected SameValue(«"5
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/datestyle-and-timestyle.js    Uncaught exception: Expected a TypeError to be thrown but no exception was thrown at all
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/lone-options-accepted.js    Uncaught exception: Instant.toLocaleString should format lone option {"year":"numeric"} Ex
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-conflict.js    Uncaught exception: timeStyle conflicts with PlainYearMonth Expected a TypeError to be thr
intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js    Uncaught exception: default locale is determined by Intl.DateTimeFormat Expected SameValue
intl402/Temporal/ZonedDateTime/prototype/round/round-dst-boundaries.js    Uncaught exception: Expected SameValue(«0», «1n») to be true
intl402/Temporal/ZonedDateTime/prototype/round/same-date-starts-twice.js    RangeError: ZonedDateTime is outside the expected day bounds
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/dateStyle.js    Uncaught exception: dateStyle: long writes month of March out in full
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/default-includes-time-and-time-zone-name.js    Uncaught exception: ZonedDateTime formatted with no options 12/26/2024, 11:46:40 AM should
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/hourcycle.js    Uncaught exception: output for hour12: false should include 00:00:00 Expected SameValue(«f
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/offset-time-zones.js    Uncaught exception: Expected true but got false
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-conflict.js    Uncaught exception: datetime.toLocaleString("en", { weekday: "short",  dateStyle: "short" 
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-timeZone.js    Uncaught exception: timeZone option disallowed Expected a TypeError to be thrown but no ex
intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-timeZoneName-affects-instance-time-zone.js    Uncaught exception: formats with different timeZoneName options should be different Expect
intl402/Temporal/ZonedDateTime/prototype/toString/dst-roundingmode-halfexpand.js    Uncaught exception: Expected SameValue(«0», «1n») to be true
intl402/Temporal/ZonedDateTime/prototype/with/dst-defaults.js    RangeError: Offsets could not be determined without disambiguation

Reproduce

scripts/test262_subset.py --root vendor/test262 --dir intl402/Temporal --jobs 6

Each path is under vendor/test262/test/; assemble harness + case per test-compat/test262/README.md to run one under perry compile.

Activity

  1. added
    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem
    on Jun 23, 2026
  2. added a commit that references this issue on Jun 24, 2026
  3. proggeramlug commented on Jun 25, 2026

    @proggeramlug
    ContributorAuthor

    Re-measure 2026-06-25 (main @ 9a3d246): #5635 (era/eraYear for non-ISO calendars) landed — Temporal↔Intl 243 → 106, and the core Insufficient fields cluster is fully cleared (84 → 0). Remaining 106 are Temporal toLocaleString formatting (dateStyle/timeStyle) — different from the field-resolution scope of this ticket.

  4. proggeramlug commented on Jun 27, 2026

    @proggeramlug
    ContributorAuthor

    Partially addressed by #5730: rejects the bare islamic Temporal calendar identifier and renders Temporal.*.prototype.toLocaleString (calendar-mismatch RangeError + per-type formatting) instead of [object Object]. Local intl402/Temporal sweep: 105 → 76 runtime-fails (+29, parity 94.8% → 96.3%), no regressions.

    Remaining 76 split into: (a) option-conflict TypeErrors + explicit calendar/dateStyle/timeStyle handling — blocked on the locales/options args being dropped by the Expr::DateToLocaleString HIR lowering before they reach the runtime; and (b) real locale-aware (ICU) formatting (dateStyle: "long" month names, default-locale-via-Intl.DateTimeFormat self-consistency). Both are follow-ups.

  5. added a commit that references this issue on Jun 27, 2026
  6. proggeramlug commented on Jun 27, 2026

    @proggeramlug
    ContributorAuthor

    Re-measure 2026-06-27: #5730 (Temporal toLocaleString rendering + reject bare islamic calendar) landed — Temporal↔Intl 105 → 73. Remaining ~68 are toLocaleString dateStyle/timeStyle formatting detail.

  7. changed the title [-]test262 intl402: Temporal ↔ Intl field resolution (243) — Insufficient fields / toLocaleString[/-] [+]test262 intl402/Temporal toLocaleString — 73 fails (dateStyle/timeStyle rendering)[/+] on Jun 27, 2026
  8. added 2 commits that reference this issue on Jun 28, 2026
  9. changed the title [-]test262 intl402/Temporal toLocaleString — 73 fails (dateStyle/timeStyle rendering)[/-] [+]test262 intl402/Temporal toLocaleString — 61 fails (dateStyle/timeStyle rendering)[/+] on Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    parityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions