Closed Bug 1865925 Opened 11 months ago Closed 10 months ago

[wpt-sync] Sync PR 43265 - DOM: Introduce Subscriber#addTeardown() for Observables

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 43265 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/43265
Details from upstream follow.

Dominic Farolino <dom@chromium.org> wrote:

DOM: Introduce Subscriber#addTeardown() for Observables

See https://github.com/WICG/observable/blob/master/README.md and the
design discussion in https://github.com/WICG/observable/issues/22.

For WPTs:
Co-authored-by: ben@benlesh.com

R=masonf@chromium.org

Bug: 1485981
Change-Id: I1de6ff5813f1c9ea6762fb4569440350c5dc38ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5018147
Commit-Queue: Dominic Farolino \<dom@chromium.org>
Reviewed-by: Mason Freed \<masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1227535}

PR 43265 applied with additional changes from upstream: d55f8950735132e1613d500b0ffe380597e1436e, 03d5b9b63f0cdc0c89f5443a53b45712ad33a552, 5505353a891869275c8da6cf52f129a2befabf33, 60999b0d9da8b6d0e7e4f7023837b71441b95646
Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]

CI Results

Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 30 subtests

Status Summary

Firefox

OK : 2
FAIL: 60

Chrome

OK : 2
PASS: 46
FAIL: 14

Safari

OK : 2
FAIL: 60

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /dom/observable/tentative/observable-constructor.any.html [wpt.fyi]
    • Observable constructor: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber interface is not constructible: FAIL (Chrome: PASS, Safari: FAIL)
    • subscribe() can be called with no arguments: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable constructor calls initializer on subscribe: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable error path called synchronously: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable should error if initializer throws: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive after complete(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive after error(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive when aborted signal is passed in: FAIL (Chrome: FAIL, Safari: FAIL)
    • Subscriber#signal is not the same AbortSignal as the one passed into subscribe(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription does not emit values after completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription does not emit values after error: FAIL (Chrome: PASS, Safari: FAIL)
    • Completing or nexting a subscriber after an error does nothing: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors pushed to the subscriber that are not handled by the subscription are reported to the global: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown in the initializer that are not handled by the subscription are reported to the global: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription reports errors that are pushed after subscriber is closed by completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown by initializer function after subscriber is closed by completion are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown by initializer function after subscriber is closed by error are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors pushed by initializer function after subscriber is closed by error are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber#complete() cannot re-entrantly invoke itself: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber#error() cannot re-entrantly invoke itself: FAIL (Chrome: PASS, Safari: FAIL)
    • Unsubscription lifecycle: FAIL (Chrome: FAIL, Safari: FAIL)
    • Aborting a subscription should stop emitting values: FAIL (Chrome: PASS, Safari: FAIL)
    • Calling subscribe should never throw an error synchronously, initializer throws error: FAIL (Chrome: PASS, Safari: FAIL)
    • Calling subscribe should never throw an error synchronously, subscriber pushes error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardown should be called when subscription is aborted: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by completion: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber pushing an error: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber throwing error: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called synchronously during addTeardown() if the subscription is inactive: FAIL (Chrome: FAIL, Safari: FAIL)
  • /dom/observable/tentative/observable-constructor.any.worker.html [wpt.fyi]
    • Observable constructor: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber interface is not constructible: FAIL (Chrome: PASS, Safari: FAIL)
    • subscribe() can be called with no arguments: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable constructor calls initializer on subscribe: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable error path called synchronously: FAIL (Chrome: PASS, Safari: FAIL)
    • Observable should error if initializer throws: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive after complete(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive after error(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription is inactive when aborted signal is passed in: FAIL (Chrome: FAIL, Safari: FAIL)
    • Subscriber#signal is not the same AbortSignal as the one passed into subscribe(): FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription does not emit values after completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription does not emit values after error: FAIL (Chrome: PASS, Safari: FAIL)
    • Completing or nexting a subscriber after an error does nothing: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors pushed to the subscriber that are not handled by the subscription are reported to the global: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown in the initializer that are not handled by the subscription are reported to the global: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscription reports errors that are pushed after subscriber is closed by completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown by initializer function after subscriber is closed by completion are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors thrown by initializer function after subscriber is closed by error are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Errors pushed by initializer function after subscriber is closed by error are reported: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber#complete() cannot re-entrantly invoke itself: FAIL (Chrome: PASS, Safari: FAIL)
    • Subscriber#error() cannot re-entrantly invoke itself: FAIL (Chrome: PASS, Safari: FAIL)
    • Unsubscription lifecycle: FAIL (Chrome: FAIL, Safari: FAIL)
    • Aborting a subscription should stop emitting values: FAIL (Chrome: PASS, Safari: FAIL)
    • Calling subscribe should never throw an error synchronously, initializer throws error: FAIL (Chrome: PASS, Safari: FAIL)
    • Calling subscribe should never throw an error synchronously, subscriber pushes error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardown should be called when subscription is aborted: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by completion: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber pushing an error: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber throwing error: FAIL (Chrome: FAIL, Safari: FAIL)
    • Teardowns should be called synchronously during addTeardown() if the subscription is inactive: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/063701177178 [wpt PR 43265] - DOM: Introduce Subscriber#addTeardown() for Observables, a=testonly https://hg.mozilla.org/integration/autoland/rev/01a392e09086 [wpt PR 43265] - Update wpt metadata, a=testonly
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5d1528c1841d [wpt PR 43265] - DOM: Introduce Subscriber#addTeardown() for Observables, a=testonly https://hg.mozilla.org/integration/autoland/rev/eeca8cd8142b [wpt PR 43265] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
You need to log in before you can comment on or make changes to this bug.