11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ciconst common = require('../common'); 31cb0ef41Sopenharmony_ciconst zlib = require('zlib'); 41cb0ef41Sopenharmony_ciconst { inspect, promisify } = require('util'); 51cb0ef41Sopenharmony_ciconst assert = require('assert'); 61cb0ef41Sopenharmony_ciconst emptyBuffer = Buffer.alloc(0); 71cb0ef41Sopenharmony_ci 81cb0ef41Sopenharmony_ci(async function() { 91cb0ef41Sopenharmony_ci for (const [ compress, decompress, method ] of [ 101cb0ef41Sopenharmony_ci [ zlib.deflateRawSync, zlib.inflateRawSync, 'raw sync' ], 111cb0ef41Sopenharmony_ci [ zlib.deflateSync, zlib.inflateSync, 'deflate sync' ], 121cb0ef41Sopenharmony_ci [ zlib.gzipSync, zlib.gunzipSync, 'gzip sync' ], 131cb0ef41Sopenharmony_ci [ zlib.brotliCompressSync, zlib.brotliDecompressSync, 'br sync' ], 141cb0ef41Sopenharmony_ci [ promisify(zlib.deflateRaw), promisify(zlib.inflateRaw), 'raw' ], 151cb0ef41Sopenharmony_ci [ promisify(zlib.deflate), promisify(zlib.inflate), 'deflate' ], 161cb0ef41Sopenharmony_ci [ promisify(zlib.gzip), promisify(zlib.gunzip), 'gzip' ], 171cb0ef41Sopenharmony_ci [ promisify(zlib.brotliCompress), promisify(zlib.brotliDecompress), 'br' ], 181cb0ef41Sopenharmony_ci ]) { 191cb0ef41Sopenharmony_ci const compressed = await compress(emptyBuffer); 201cb0ef41Sopenharmony_ci const decompressed = await decompress(compressed); 211cb0ef41Sopenharmony_ci assert.deepStrictEqual( 221cb0ef41Sopenharmony_ci emptyBuffer, decompressed, 231cb0ef41Sopenharmony_ci `Expected ${inspect(compressed)} to match ${inspect(decompressed)} ` + 241cb0ef41Sopenharmony_ci `to match for ${method}`); 251cb0ef41Sopenharmony_ci } 261cb0ef41Sopenharmony_ci})().then(common.mustCall()); 27