Skip to content

Tests for Thenable-curtailment - #5123

Open
mgaudet wants to merge 3 commits into
tc39:mainfrom
mgaudet:thenable-curtailment-testing
Open

Tests for Thenable-curtailment#5123
mgaudet wants to merge 3 commits into
tc39:mainfrom
mgaudet:thenable-curtailment-testing

Conversation

@mgaudet

@mgaudet mgaudet commented Sep 1, 2026

Copy link
Copy Markdown

I just want to call out the commit message on c3386c6, esp. in light of #5115

These tests were authored with the assistance of an LLM, however they were
targeted and reviewed by myself.

The tests were validated on the prototype implemenation of SafePromiseResolve
in the Firefox tree; the tests highlight a current divergence between the
SpiderMonkey implementation and the spec-text as written (specfically
SpiderMonkey will currently defer on a then setter even with no getter,
which is not correct by specification).

(Of course, seeing that in the Github editor I realize how badly I typo'd some of that message 🤦 )

@mgaudet
mgaudet requested review from a team as code owners September 1, 2026 16:57
These tests were authored with the assistance of an LLM, however they were 
targeted and reviewed by myself. 

The tests were validated on the prototype implemetnation of SafePromiseResolve 
in the Firefox tree; the tests highlight a current divergence between the 
SpiderMonkey implementation and the spec-text as written (specifically 
SpiderMonkey will currently defer on a `then` setter even with no getter, 
which is not correct by specification).
@mgaudet
mgaudet force-pushed the thenable-curtailment-testing branch from c3386c6 to 99c60be Compare September 1, 2026 16:58
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

32 new or modified tests were run on 7 engines.

View workflow run

Test results
Test Engine262 GraalJS JavaScriptCore QuickJS SpiderMonkey V8 XS
built-ins/Promise/safe-resolve-promise/deferred-module-namespace.js
built-ins/Promise/safe-resolve-promise/deferred-native-promise-pending-ticks.js
built-ins/Promise/safe-resolve-promise/deferred-native-promise-ticks.js
built-ins/Promise/safe-resolve-promise/deferred-object-prototype-then.js
built-ins/Promise/safe-resolve-promise/deferred-proxy-empty-handler.js
built-ins/Promise/safe-resolve-promise/deferred-proxy-get-trap.js
built-ins/Promise/safe-resolve-promise/deferred-proxy-on-prototype-chain.js
built-ins/Promise/safe-resolve-promise/deferred-proxy-revoked.js
built-ins/Promise/safe-resolve-promise/deferred-self-resolution.js
built-ins/Promise/safe-resolve-promise/deferred-then-call-throws.js
built-ins/Promise/safe-resolve-promise/deferred-then-callable-own.js
built-ins/Promise/safe-resolve-promise/deferred-then-callable-proto.js
built-ins/Promise/safe-resolve-promise/deferred-then-deleted-before-job.js
built-ins/Promise/safe-resolve-promise/deferred-then-getter-own.js
built-ins/Promise/safe-resolve-promise/deferred-then-getter-proto.js
built-ins/Promise/safe-resolve-promise/deferred-then-getter-throws.js
built-ins/Promise/safe-resolve-promise/deferred-then-reject.js
built-ins/Promise/safe-resolve-promise/deferred-then-this-binding.js
built-ins/Promise/safe-resolve-promise/latch-after-deferred.js
built-ins/Promise/safe-resolve-promise/latch-after-sync.js
built-ins/Promise/safe-resolve-promise/latch-already-settled.js
built-ins/Promise/safe-resolve-promise/latch-double-safe-resolve.js
built-ins/Promise/safe-resolve-promise/latch-thenable-resolving-functions.js
built-ins/Promise/safe-resolve-promise/sync-no-then.js
built-ins/Promise/safe-resolve-promise/sync-non-object.js
built-ins/Promise/safe-resolve-promise/sync-null-proto-ignores-object-prototype-then.js
built-ins/Promise/safe-resolve-promise/sync-own-non-callable-then-shadows-callable.js
built-ins/Promise/safe-resolve-promise/sync-self-resolution.js
built-ins/Promise/safe-resolve-promise/sync-then-not-callable-proto.js
built-ins/Promise/safe-resolve-promise/sync-then-not-callable.js
built-ins/Promise/safe-resolve-promise/sync-then-setter-only-proto.js
built-ins/Promise/safe-resolve-promise/sync-then-setter-only.js

@mgaudet

mgaudet commented Sep 1, 2026

Copy link
Copy Markdown
Author

(See #5122 for the testing plan)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants