Closed Bug 1867317 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 43420 - DOM: Observable subscription uses Callback or Dictionary union

Categories

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

task

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

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

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

Dominic Farolino <dom@chromium.org> wrote:

DOM: Observable subscription uses Callback or Dictionary union

This CL addresses https://github.com/WICG/observable/issues/71, which
calls for an ergonomic design improvement whereby you can subscribe with
either a full-fledged Observer dictionary, or just a single callback
which is used as the subscription's next handler.

Subscribing with a single callback is identical to subscribing with an
Observer dictionary whose next handler is provided and nothing else.

R=masonf@chromium.org

Bug: 1485981
Change-Id: I5781a6cf404d97ac2de2bc88a303bcd522f63ec5
Reviewed-on: https://chromium-review.googlesource.com/5071992
WPT-Export-Revision: 36225f85f5cbac3c36a36ea1f63c76d79cad354f

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 31 subtests

Status Summary

Firefox

OK : 2
FAIL: 62

Chrome

OK : 2
PASS: 60
FAIL: 2

Safari

OK : 2
FAIL: 62

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)
    • Subscribe with just a function as the next handler: FAIL (Chrome: FAIL, 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: PASS, 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: PASS, 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: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber pushing an error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber throwing error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called synchronously during addTeardown() if the subscription is inactive: FAIL (Chrome: PASS, 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)
    • Subscribe with just a function as the next handler: FAIL (Chrome: FAIL, 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: PASS, 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: PASS, 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: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by completion: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber pushing an error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called when subscription is closed by subscriber throwing error: FAIL (Chrome: PASS, Safari: FAIL)
    • Teardowns should be called synchronously during addTeardown() if the subscription is inactive: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9129d93c06c5 [wpt PR 43420] - DOM: Observable subscription uses Callback or Dictionary union, a=testonly https://hg.mozilla.org/integration/autoland/rev/ebb3e11781b7 [wpt PR 43420] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
You need to log in before you can comment on or make changes to this bug.