HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/nodejs/fast-glob/out/utils/stream.spec.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const assert = require("assert");
const stream = require("stream");
const util = require("./stream");
describe('Utils → Stream', () => {
    describe('.merge', () => {
        it('should merge two streams into one stream', () => {
            const first = new stream.PassThrough();
            const second = new stream.PassThrough();
            const expected = 3;
            const mergedStream = util.merge([first, second]);
            const actual = mergedStream.listenerCount('close');
            assert.strictEqual(actual, expected);
        });
        it('should propagate errors into merged stream', (done) => {
            const first = new stream.PassThrough();
            const second = new stream.PassThrough();
            const expected = [1, 2, 3];
            const mergedStream = util.merge([first, second]);
            const actual = [];
            mergedStream.on('error', (error) => actual.push(error));
            mergedStream.once('finish', () => {
                assert.deepStrictEqual(actual, expected);
                done();
            });
            first.emit('error', 1);
            second.emit('error', 2);
            mergedStream.emit('error', 3);
        });
        it('should propagate close event to source streams', (done) => {
            const first = new stream.PassThrough();
            const second = new stream.PassThrough();
            const mergedStream = util.merge([first, second]);
            const expected = [1, 2];
            const actual = [];
            first.once('close', () => actual.push(1));
            second.once('close', () => actual.push(2));
            mergedStream.once('finish', () => {
                assert.deepStrictEqual(actual, expected);
                done();
            });
            mergedStream.emit('close');
        });
    });
});