This is a testharness.js-based test.
PASS Piping through a duck-typed pass-through transform stream should work
PASS Piping through a transform errored on the writable end does not cause an unhandled promise rejection
FAIL pipeThrough generically calls pipeTo with the appropriate args Illegal invocation
FAIL pipeThrough can handle calling a pipeTo that returns a non-promise object Illegal invocation
FAIL pipeThrough can handle calling a pipeTo that returns a non-promise thenable object Illegal invocation
FAIL pipeThrough should mark a real promise from a fake readable as handled Illegal invocation
FAIL pipeThrough should not be fooled by an object whose instanceof Promise returns true Illegal invocation
PASS undefined readable or writable arguments should cause pipeThrough to throw
FAIL invalid but not undefined arguments should not cause pipeThrough to throw Failed to execute 'pipeThrough' on 'ReadableStream': Illegal invocation
PASS pipeThrough should throw when its first argument is not convertible to an object
PASS pipeThrough should throw when "this" has no pipeTo method
FAIL pipeThrough should rethrow errors from accessing pipeTo, readable, or writable assert_throws: pipeThrough should rethrow the error thrown by pipeTo function "() => ReadableStream.prototype.pipeThrough.call(throwingPipeTo, { readable: { }, writable: { } }, {})" threw object "TypeError: Illegal invocation" ("TypeError") expected object "Error: potato" ("Error")
FAIL pipeThrough should work with no options argument Illegal invocation
Harness: the test ran to completion.

