// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 20.11.1 // This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually. 'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); const crypto = require('crypto'); const Stream = require('stream'); const hasher1 = crypto.createHash('sha256'); const hasher2 = crypto.createHash('sha256'); // Calculate the expected result. hasher1.write(Buffer.from('hello world')); hasher1.end(); const expected = hasher1.read().toString('hex'); class OldStream extends Stream { constructor() { super(); this.readable = true; } } const stream = new OldStream(); stream.pipe(hasher2).on('finish', common.mustCall(function() { const hash = hasher2.read().toString('hex'); assert.strictEqual(hash, expected); })); stream.emit('data', Buffer.from('hello')); stream.emit('data', Buffer.from(' world')); stream.emit('end');