WPT
wpt / js / builtins / Array.prototype.join-order.html
Spec: https://tc39.es/ecma262/ ↗
Runs: Chrome 155.0.8039.0 (wpt@a4fcd77aa, 2026-09-03) | Firefox 157.0a1 (wpt@cc4d45aa0, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-a9df8 (wpt@9b4cabf6d, 2026-09-03) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 51/51 | 51/51 | 51/51 | 51/51 | 51/51 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| Array.prototype.join must call ToObject before looking at the separator argument. | PASS | PASS | PASS | PASS | PASS | — |
| Step 2. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=object "[object Object]" and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=object "[object Object]" and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=true and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=true and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=false and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=false and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=0 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=0 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=1 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=1 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=3.141592653589793 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=3.141592653589793 and getter function. | PASS | PASS | PASS | PASS | PASS | — |
| Step 3. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=object "[object Object]" and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=object "[object Object]" and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=true and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=true and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=false and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=false and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=0 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=0 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=1 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=1 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=3.141592653589793 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=3.141592653589793 and getter valueOf. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=object "[object Object]" and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=object "[object Object]" and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=true and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=true and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=false and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=false and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=0 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=0 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=1 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=1 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=3.141592653589793 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=3.141592653589793 and getter toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=object "[object Object]" and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=object "[object Object]" and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=true and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=true and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=false and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=false and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=0 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=0 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=1 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=1 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must forward the exception from the this object's length property with this=3.141592653589793 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |
| Array.prototype.join must get the this object's length property before looking at the separator argument with this=3.141592653589793 and getter valueOf and toString. | PASS | PASS | PASS | PASS | PASS | — |