%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; require('../common'); const { WPTRunner } = require('../common/wpt'); const runner = new WPTRunner('streams'); // Set Node.js flags required for the tests. runner.setFlags(['--expose-internals']); // Set a script that will be executed in the worker before running the tests. runner.setInitScript(` let { ReadableStream, ReadableStreamDefaultReader, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableByteStreamController, ReadableStreamDefaultController, TransformStream, TransformStreamDefaultController, WritableStream, WritableStreamDefaultWriter, WritableStreamDefaultController, ByteLengthQueuingStrategy, CountQueuingStrategy, } = require('stream/web'); const { internalBinding } = require('internal/test/binding'); const { DOMException } = internalBinding('messaging'); global.DOMException = DOMException; Object.defineProperties(global, { ReadableStream: { value: ReadableStream, configurable: true, writable: true, enumerable: false, }, ReadableStreamDefaultReader: { value: ReadableStreamDefaultReader, configurable: true, writable: true, enumerable: false, }, ReadableStreamBYOBReader: { value: ReadableStreamBYOBReader, configurable: true, writable: true, enumerable: false, }, ReadableStreamBYOBRequest: { value: ReadableStreamBYOBRequest, configurable: true, writable: true, enumerable: false, }, ReadableByteStreamController: { value: ReadableByteStreamController, configurable: true, writable: true, enumerable: false, }, ReadableStreamDefaultController: { value: ReadableStreamDefaultController, configurable: true, writable: true, enumerable: false, }, TransformStream: { value: TransformStream, configurable: true, writable: true, enumerable: false, }, TransformStreamDefaultController: { value: TransformStreamDefaultController, configurable: true, writable: true, enumerable: false, }, WritableStream: { value: WritableStream, configurable: true, writable: true, enumerable: false, }, WritableStreamDefaultWriter: { value: WritableStreamDefaultWriter, configurable: true, writable: true, enumerable: false, }, WritableStreamDefaultController: { value: WritableStreamDefaultController, configurable: true, writable: true, enumerable: false, }, ByteLengthQueuingStrategy: { value: ByteLengthQueuingStrategy, configurable: true, writable: true, enumerable: false, }, CountQueuingStrategy: { value: CountQueuingStrategy, configurable: true, writable: true, enumerable: false, }, }); // Simulate global postMessage for enqueue-with-detached-buffer.window.js function postMessage(value, origin, transferList) { const mc = new MessageChannel(); mc.port1.postMessage(value, transferList); mc.port2.close(); } // TODO(@jasnell): This is a bit of a hack to get the idl harness test // working. Later we should investigate a better approach. // See: https://github.com/nodejs/node/pull/39062#discussion_r659383373 Object.defineProperties(global, { DedicatedWorkerGlobalScope: { get() { // Pretend that we're a DedicatedWorker, but *only* for the // IDL harness. For everything else, keep the JavaScript shell // environment. if (new Error().stack.includes('idlharness.js')) return global.constructor; else return function() {}; } } }); `); runner.runJsTests();