mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
8d728f5cd1
On different architectures, it's possible for the compression algorithm to produce slightly different outputs. So, don't assume we will always get the same compressed output on all architectures. Instead, verify that the decompressing pre-compressed string functions correctly. Fixes: https://github.com/nodejs/node/issues/25568 PR-URL: https://github.com/nodejs/node/pull/25697 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
39 lines
2.0 KiB
JavaScript
39 lines
2.0 KiB
JavaScript
'use strict';
|
|
// Test compressing and uncompressing a string with brotli
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const zlib = require('zlib');
|
|
|
|
const inputString = 'ΩΩLorem ipsum dolor sit amet, consectetur adipiscing eli' +
|
|
't. Morbi faucibus, purus at gravida dictum, libero arcu ' +
|
|
'convallis lacus, in commodo libero metus eu nisi. Nullam' +
|
|
' commodo, neque nec porta placerat, nisi est fermentum a' +
|
|
'ugue, vitae gravida tellus sapien sit amet tellus. Aenea' +
|
|
'n non diam orci. Proin quis elit turpis. Suspendisse non' +
|
|
' diam ipsum. Suspendisse nec ullamcorper odio. Vestibulu' +
|
|
'm arcu mi, sodales non suscipit id, ultrices ut massa. S' +
|
|
'ed ac sem sit amet arcu malesuada fermentum. Nunc sed. ';
|
|
const compressedString = 'G/gBQBwHdky2aHV5KK9Snf05//1pPdmNw/7232fnIm1IB' +
|
|
'K1AA8RsN8OB8Nb7Lpgk3UWWUlzQXZyHQeBBbXMTQXC1j7' +
|
|
'wg3LJs9LqOGHRH2bj/a2iCTLLx8hBOyTqgoVuD1e+Qqdn' +
|
|
'f1rkUNyrWq6LtOhWgxP3QUwdhKGdZm3rJWaDDBV7+pDk1' +
|
|
'MIkrmjp4ma2xVi5MsgJScA3tP1I7mXeby6MELozrwoBQD' +
|
|
'mVTnEAicZNj4lkGqntJe2qSnGyeMmcFgraK94vCg/4iLu' +
|
|
'Tw5RhKhnVY++dZ6niUBmRqIutsjf5TzwF5iAg8a9UkjF5' +
|
|
'2eZ0tB2vo6v8SqVfNMkBmmhxr0NT9LkYF69aEjlYzj7IE' +
|
|
'KmEUQf1HBogRYhFIt4ymRNEgHAIzOyNEsQM=';
|
|
|
|
zlib.brotliCompress(inputString, common.mustCall((err, buffer) => {
|
|
assert(inputString.length > buffer.length);
|
|
|
|
zlib.brotliDecompress(buffer, common.mustCall((err, buffer) => {
|
|
assert.strictEqual(buffer.toString(), inputString);
|
|
}));
|
|
}));
|
|
|
|
const buffer = Buffer.from(compressedString, 'base64');
|
|
zlib.brotliDecompress(buffer, common.mustCall((err, buffer) => {
|
|
assert.strictEqual(buffer.toString(), inputString);
|
|
}));
|