From 25bde80b926daefd2f92940370afa2bae62aea29 Mon Sep 17 00:00:00 2001 From: m0lc14kk Date: Fri, 28 Feb 2025 20:06:52 +0100 Subject: [PATCH] feat: added a test for snappy compression Added a Snappy example in tests. --- test/snappy.js | 13 +++++++++++++ test/snappy.test.js | 15 +++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 test/snappy.js create mode 100644 test/snappy.test.js diff --git a/test/snappy.js b/test/snappy.js new file mode 100644 index 0000000..37907c6 --- /dev/null +++ b/test/snappy.js @@ -0,0 +1,13 @@ +const { Framer } = require('bedrock-protocol') // Import from bedrock-protocol + +const mockClient = { + batchHeader: 0xFE, + compressionAlgorithm: 'snappy', + compressionLevel: 6, + compressionThreshold: 10, + compressionHeader: 1, + features: { compressorInHeader: true }, + compressionReady: true +} + +module.exports = { mockClient } \ No newline at end of file diff --git a/test/snappy.test.js b/test/snappy.test.js new file mode 100644 index 0000000..d1a6caf --- /dev/null +++ b/test/snappy.test.js @@ -0,0 +1,15 @@ +const { Framer } = require("bedrock-protocol/src/transforms/framer") +const { mockClient } = require("./snappy") + +describe('Framer Snappy Compression', () => { + test('compress and decompress using Snappy via Framer', () => { + const framer = new Framer(mockClient) + const inputBuffer = Buffer.from('This is a test for Snappy compression') + + const compressed = framer.compress(inputBuffer) + expect(compressed).not.toEqual(inputBuffer) + + const decompressed = Framer.decompress(mockClient.compressionAlgorithm, compressed) + expect(decompressed.toString()).toEqual(inputBuffer.toString()) + }) +})