diff --git a/test/general/openpgp.js b/test/general/openpgp.js index 1d435d60..1039e78d 100644 --- a/test/general/openpgp.js +++ b/test/general/openpgp.js @@ -3329,10 +3329,8 @@ XfA3pqV4mTzF it('Streaming encrypt and decrypt small message roundtrip', async function() { const plaintext = []; let i = 0; - const useNativeStream = (() => { try { new global.ReadableStream(); return true; } catch (e) { return false; } })(); // eslint-disable-line no-new await loadStreamsPolyfill(); - const GenericReadableStream = useNativeStream ? global.ReadableStream : ReadableStream; - const data = new GenericReadableStream({ + const data = new globalThis.ReadableStream({ pull(controller) { if (i++ < 4) { const randomBytes = random.getRandomBytes(10); @@ -3347,7 +3345,7 @@ XfA3pqV4mTzF message: await openpgp.createMessage({ binary: data }), passwords: ['test'] })); - expect(stream.isStream(encrypted)).to.equal(useNativeStream ? 'web' : 'web-like'); + expect(stream.isStream(encrypted)).to.equal('web'); const message = await openpgp.readMessage({ armoredMessage: encrypted }); const decrypted = await openpgp.decrypt({ @@ -3355,7 +3353,7 @@ XfA3pqV4mTzF message, format: 'binary' }); - expect(stream.isStream(decrypted.data)).to.equal(useNativeStream ? 'web' : 'web-like'); + expect(stream.isStream(decrypted.data)).to.equal('web'); expect(await stream.readToEnd(decrypted.data)).to.deep.equal(util.concatUint8Array(plaintext)); }); }); @@ -3658,17 +3656,13 @@ XfA3pqV4mTzF it('should streaming sign and verify binary data without one-pass signature', async function () { const data = new Uint8Array([3, 14, 15, 92, 65, 35, 59]); - const dataStream = global.ReadableStream ? new global.ReadableStream({ + const dataStream = new globalThis.ReadableStream({ start(controller) { controller.enqueue(data); controller.close(); } - }) : new (require('stream').Readable)({ - read() { - this.push(data); - this.push(null); - } }); + const signOpt = { message: await openpgp.createMessage({ binary: dataStream }), signingKeys: privateKey, @@ -3679,7 +3673,7 @@ XfA3pqV4mTzF format: 'binary' }; return openpgp.sign(signOpt).then(async function (signed) { - expect(stream.isStream(signed)).to.equal(global.ReadableStream ? 'web' : 'node'); + expect(stream.isStream(signed)).to.equal('web'); const message = await openpgp.readMessage({ binaryMessage: signed }); message.packets.push(...await stream.readToEnd(message.packets.stream, _ => _)); const packets = new openpgp.PacketList(); @@ -3687,12 +3681,12 @@ XfA3pqV4mTzF packets.push(message.packets.findPacket(openpgp.enums.packet.literalData)); verifyOpt.message = await openpgp.readMessage({ binaryMessage: stream[ - global.ReadableStream ? 'toStream' : 'webToNode' + globalThis.ReadableStream ? 'toStream' : 'webToNode' ](packets.write()) }); return openpgp.verify(verifyOpt); }).then(async function (verified) { - expect(stream.isStream(verified.data)).to.equal(global.ReadableStream ? 'web' : 'node'); + expect(stream.isStream(verified.data)).to.equal('web'); expect([].slice.call(await stream.readToEnd(verified.data))).to.deep.equal([].slice.call(data)); expect(await verified.signatures[0].verified).to.be.true; expect(await privateKey.getSigningKey(verified.signatures[0].keyID)) diff --git a/test/general/streaming.js b/test/general/streaming.js index 1a1ad5fb..e4dd91b7 100644 --- a/test/general/streaming.js +++ b/test/general/streaming.js @@ -12,9 +12,6 @@ import util from '../../src/util.js'; import * as input from './testInputs.js'; -const useNativeStream = (() => { try { new global.ReadableStream(); return true; } catch (e) { return false; } })(); // eslint-disable-line no-new -const NodeReadableStream = useNativeStream ? undefined : require('stream').Readable; - const detectNode = () => typeof globalThis.process === 'object' && typeof globalThis.process.versions === 'object'; const pub_key = [ @@ -180,18 +177,12 @@ let dataArrived; function tests() { it('Encrypt small message', async function() { dataArrived(); // Do not wait until data arrived. - const data = global.ReadableStream ? new global.ReadableStream({ + const data = new globalThis.ReadableStream({ start(controller) { controller.enqueue(util.stringToUint8Array('hello ')); controller.enqueue(util.stringToUint8Array('world')); controller.close(); } - }) : new NodeReadableStream({ - read() { - this.push(util.stringToUint8Array('hello ')); - this.push(util.stringToUint8Array('world')); - this.push(null); - } }); const encrypted = await openpgp.encrypt({ message: await openpgp.createMessage({ binary: data }), @@ -657,18 +648,12 @@ function tests() { it('Detached sign small message', async function() { dataArrived(); // Do not wait until data arrived. - const data = global.ReadableStream ? new global.ReadableStream({ + const data = new globalThis.ReadableStream({ start(controller) { controller.enqueue(util.stringToUint8Array('hello ')); controller.enqueue(util.stringToUint8Array('world')); controller.close(); } - }) : new NodeReadableStream({ - read() { - this.push(util.stringToUint8Array('hello ')); - this.push(util.stringToUint8Array('world')); - this.push(null); - } }); const signed = await openpgp.sign({ message: await openpgp.createMessage({ binary: data }), @@ -692,18 +677,12 @@ function tests() { it('Detached sign small message using brainpool curve keys', async function() { dataArrived(); // Do not wait until data arrived. - const data = global.ReadableStream ? new global.ReadableStream({ + const data = new globalThis.ReadableStream({ start(controller) { controller.enqueue(util.stringToUint8Array('hello ')); controller.enqueue(util.stringToUint8Array('world')); controller.close(); } - }) : new NodeReadableStream({ - read() { - this.push(util.stringToUint8Array('hello ')); - this.push(util.stringToUint8Array('world')); - this.push(null); - } }); const pub = await openpgp.readKey({ armoredKey: brainpoolPub }); const priv = await openpgp.decryptKey({ @@ -734,18 +713,12 @@ function tests() { it('Detached sign small message using curve25519 keys (legacy format)', async function() { dataArrived(); // Do not wait until data arrived. - const data = global.ReadableStream ? new global.ReadableStream({ + const data = new globalThis.ReadableStream({ async start(controller) { controller.enqueue(util.stringToUint8Array('hello ')); controller.enqueue(util.stringToUint8Array('world')); controller.close(); } - }) : new NodeReadableStream({ - read() { - this.push(util.stringToUint8Array('hello ')); - this.push(util.stringToUint8Array('world')); - this.push(null); - } }); const pub = await openpgp.readKey({ armoredKey: xPub }); const priv = await openpgp.decryptKey({ @@ -843,7 +816,7 @@ function tests() { const plaintext = []; let i = 0; - const data = global.ReadableStream ? new global.ReadableStream({ + const data = new globalThis.ReadableStream({ async pull(controller) { await new Promise(resolve => { setTimeout(resolve, 10); }); if (i++ < 10) { @@ -854,20 +827,6 @@ function tests() { controller.close(); } } - }) : new NodeReadableStream({ - encoding: 'utf8', - async read() { - while (true) { - await new Promise(resolve => { setTimeout(resolve, 10); }); - if (i++ < 10) { - const randomData = input.createSomeMessage(); - plaintext.push(randomData); - if (!this.push(randomData)) break; - } else { - return this.push(null); - } - } - } }); const encrypted = await openpgp.encrypt({ message: await openpgp.createMessage({ text: data }), @@ -970,7 +929,7 @@ export default () => describe('Streaming', function() { plaintext = []; i = 0; canceled = false; - data = global.ReadableStream ? new global.ReadableStream({ + data = new globalThis.ReadableStream({ async pull(controller) { await new Promise(setTimeout); if (test === currentTest && i < (expectedType === 'web' ? 100 : 500)) { @@ -988,27 +947,8 @@ export default () => describe('Streaming', function() { } }, new ByteLengthQueuingStrategy({ highWaterMark: 1024 - })) : new NodeReadableStream({ - highWaterMark: 1024, - async read() { - while (true) { - await new Promise(setTimeout); - if (test === currentTest && i < (expectedType === 'web' ? 100 : 500)) { - i++; - if (i === 4) await dataArrivedPromise; - const randomBytes = random.getRandomBytes(1024); - plaintext.push(randomBytes); - if (!this.push(randomBytes)) break; - } else { - return this.push(null); - } - } - }, - destroy() { - canceled = true; - } - }); - expectedType = global.ReadableStream ? 'web' : 'node'; + })); + expectedType = 'web'; }); tests();