[whatwg/streams] Fix cancelPromise in ReadableStreamTee being resolved twice (again) (#1118)

I liked #1112 so much that I wanted to fix it twice! 😛

The following test case throws an `AssertionError`:
```javascript
const rs = new ReadableStream({});

const [branch1, branch2] = rs.tee();

const cancel1 = branch1.cancel();
await flushAsyncEvents();
const cancel2 = branch2.cancel();

await Promise.all([cancel1, cancel2]);
```

This time, the error comes from [this line](https://github.com/whatwg/streams/blob/dd76a17a3738d78708a8dfd8f0508e717d6a1988/reference-implementation/lib/abstract-ops/readable-streams.js#L376):
```
promise_test: Unhandled rejection with value: object "AssertionError: false == true"
Error
    at AssertionError.get_stack (http://127.0.0.1:51551/resources/testharness.js:3553:21)
    at new AssertionError (http://127.0.0.1:51551/resources/testharness.js:3546:27)
    at assert (http://127.0.0.1:51551/resources/testharness.js:3539:19)
    at Test.<anonymous> (http://127.0.0.1:51551/resources/testharness.js:618:29)
    at Test.step (http://127.0.0.1:51551/resources/testharness.js:1977:25)
    at http://127.0.0.1:51551/resources/testharness.js:2002:35

```

- [ ] At least two implementers are interested (and none opposed):
   * …
   * …
- [ ] [Tests](https://github.com/web-platform-tests/wpt) are written and can be reviewed and commented upon at:
   * …
- [ ] [Implementation bugs](https://github.com/whatwg/meta/blob/main/MAINTAINERS.md#handling-pull-requests) are filed:
   * Chrome: …
   * Firefox: …
   * Safari: …

(See [WHATWG Working Mode: Changes](https://whatwg.org/working-mode#changes) for more details.)

You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/streams/pull/1118


-- Commit Summary --

  * Fix cancelPromise in ReadableStreamTee being resolved twice (again)
  * Roll WPT

-- File Changes --

    M index.bs (2)
    M reference-implementation/lib/abstract-ops/readable-streams.js (4)
    M reference-implementation/web-platform-tests (2)

-- Patch Links --

https://github.com/whatwg/streams/pull/1118.patch

https://github.com/whatwg/streams/pull/1118.diff


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1118

Received on Saturday, 27 March 2021 00:04:54 UTC