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()) + }) +})