Files
bun.sh/test/js/node/zlib/zlib.test.js
2023-03-07 12:22:34 -08:00

40 lines
1.3 KiB
JavaScript

import { describe, it, expect } from "bun:test";
import { gzipSync, deflateSync, inflateSync, gunzipSync } from "bun";
describe("zlib", () => {
it("should be able to deflate and inflate", () => {
const data = new TextEncoder().encode("Hello World!".repeat(1));
const compressed = deflateSync(data);
const decompressed = inflateSync(compressed);
expect(decompressed.join("")).toBe(data.join(""));
});
it("should be able to gzip and gunzip", () => {
const data = new TextEncoder().encode("Hello World!".repeat(1));
const compressed = gzipSync(data);
const decompressed = gunzipSync(compressed);
expect(decompressed.join("")).toBe(data.join(""));
});
});
import * as zlib from "node:zlib";
import * as fs from "node:fs";
import * as buffer from "node:buffer";
describe("zlib.gunzip", () => {
it("should be able to unzip a Buffer and return an unzipped Buffer", async () => {
const content = fs.readFileSync(import.meta.dir + "/fixture.html.gz");
return new Promise((resolve, reject) => {
zlib.gunzip(content, (error, data) => {
if (error) {
reject(error);
return;
}
expect(data !== null).toBe(true);
expect(buffer.Buffer.isBuffer(data)).toBe(true);
resolve(true);
});
});
});
});