diff options
author | Matteo Collina <hello@matteocollina.com> | 2017-04-13 01:25:38 +0100 |
---|---|---|
committer | Matteo Collina <hello@matteocollina.com> | 2017-04-14 16:05:14 +0200 |
commit | 1ae172b272f17fe8bb82a0f79b8d7e0bc2fb17ec (patch) | |
tree | b4c9ebd085e43cd60daff511edb84adbacd30ce5 /test/parallel/test-crypto-lazy-transform-writable.js | |
parent | 9dcf18a5c0449700598d26dd8b0d252c1eb6ce5d (diff) | |
download | android-node-v8-1ae172b272f17fe8bb82a0f79b8d7e0bc2fb17ec.tar.gz android-node-v8-1ae172b272f17fe8bb82a0f79b8d7e0bc2fb17ec.tar.bz2 android-node-v8-1ae172b272f17fe8bb82a0f79b8d7e0bc2fb17ec.zip |
crypto: make LazyTransform compabile with Streams1
Makes LazyTransform writable by Streams1 by assigning .writable = true
before the actual classes are loaded.
Fixes: https://github.com/nodejs/node/issues/12269
PR-URL: https://github.com/nodejs/node/pull/12380
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test/parallel/test-crypto-lazy-transform-writable.js')
-rw-r--r-- | test/parallel/test-crypto-lazy-transform-writable.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/parallel/test-crypto-lazy-transform-writable.js b/test/parallel/test-crypto-lazy-transform-writable.js new file mode 100644 index 0000000000..2c4fbaf39a --- /dev/null +++ b/test/parallel/test-crypto-lazy-transform-writable.js @@ -0,0 +1,34 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const crypto = require('crypto'); +const Stream = require('stream'); +const util = require('util'); + +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'); + +function OldStream() { + Stream.call(this); + + this.readable = true; +} +util.inherits(OldStream, Stream); + +const stream = new OldStream(); + +stream.pipe(hasher2).on('finish', common.mustCall(function() { + const hash = hasher2.read().toString('hex'); + assert.strictEqual(expected, hash); +})); + +stream.emit('data', Buffer.from('hello')); +stream.emit('data', Buffer.from(' world')); +stream.emit('end'); |