WPT
wpt / dom / observable / tentative / idlharness.html
Spec: DOM ↗
Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 36/36 | 2/36 | 2/36 | 2/36 | 2/36 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| idl_test setup | PASS | PASS | PASS | PASS | PASS | — |
| idl_test validation | PASS | PASS | PASS | PASS | PASS | — |
| Subscriber interface: existence and properties of interface object | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface object length | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface object name | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: existence and properties of interface prototype object | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: existence and properties of interface prototype object's "constructor" property | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: existence and properties of interface prototype object's @@unscopables property | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: operation next(any) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: operation error(any) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: operation complete() | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: operation addTeardown(VoidFunction) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: attribute active | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: attribute signal | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber must be primary interface of (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Stringification of (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "next(any)" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: calling next(any) on (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() with too few arguments must throw TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "error(any)" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: calling error(any) on (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() with too few arguments must throw TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "complete()" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "addTeardown(VoidFunction)" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: calling addTeardown(VoidFunction) on (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() with too few arguments must throw TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "active" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Subscriber interface: (() => { let s = null; new Observable(_s => s = _s).subscribe({}); return s })() must inherit property "signal" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: existence and properties of interface object | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface object length | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface object name | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: existence and properties of interface prototype object | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: existence and properties of interface prototype object's "constructor" property | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: existence and properties of interface prototype object's @@unscopables property | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: operation subscribe(optional ObserverUnion, optional SubscribeOptions) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable must be primary interface of new Observable(() => {}) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Stringification of new Observable(() => {}) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: new Observable(() => {}) must inherit property "subscribe(optional ObserverUnion, optional SubscribeOptions)" with the proper type | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Observable interface: calling subscribe(optional ObserverUnion, optional SubscribeOptions) on new Observable(() => {}) with too few arguments must throw TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |