mirror of
https://github.com/0x5eal/rbxts-pako.git
synced 2025-04-04 10:50:59 +01:00
Added inflate testing skeleton
This commit is contained in:
parent
c924e13ed5
commit
a131622863
3 changed files with 173 additions and 24 deletions
|
@ -14,7 +14,7 @@ var testDeflate = helpers.testDeflate;
|
|||
var samples = helpers.loadSamples();
|
||||
|
||||
|
||||
describe('Defaults', function () {
|
||||
describe('Deflate defaults', function () {
|
||||
|
||||
it('deflate, no options', function(done) {
|
||||
testDeflate(zlib.createDeflate, pako.deflate, samples, {}, done);
|
||||
|
@ -153,31 +153,10 @@ describe('Deflate strategy', function () {
|
|||
|
||||
|
||||
describe('Deflate RAW', function () {
|
||||
// Since difference is only in rwapper, levels test is enougth
|
||||
it('level 9', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 9 }, done);
|
||||
});
|
||||
it('level 8', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 8 }, done);
|
||||
});
|
||||
it('level 7', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 7 }, done);
|
||||
});
|
||||
it('level 6', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 6 }, done);
|
||||
});
|
||||
it('level 5', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 5 }, done);
|
||||
});
|
||||
// Since difference is only in rwapper, test for store/fast/slow methods are enougth
|
||||
it('level 4', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 4 }, done);
|
||||
});
|
||||
it('level 3', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 3 }, done);
|
||||
});
|
||||
it('level 2', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 2 }, done);
|
||||
});
|
||||
it('level 1', function(done) {
|
||||
testDeflate(zlib.createDeflateRaw, pako.deflateRaw, samples, { level: 1 }, done);
|
||||
});
|
||||
|
|
|
@ -7,6 +7,7 @@ var _ = require('lodash');
|
|||
var async = require('async');
|
||||
|
||||
var pako_utils = require('../lib/zlib/utils');
|
||||
var pako = require('../index');
|
||||
|
||||
// Load fixtures to test
|
||||
// return: { 'filename1': content1, 'filename2': content2, ...}
|
||||
|
@ -123,7 +124,34 @@ function testDeflate(zlib_factory, pako_deflate, samples, options, callback) {
|
|||
async.series(queue, callback);
|
||||
}
|
||||
|
||||
|
||||
function testInflate(samples, options, callback) {
|
||||
var name, data, deflated;
|
||||
|
||||
for (name in samples) {
|
||||
data = samples[name];
|
||||
deflated = pako.deflate(data, options);
|
||||
|
||||
// with untyped arrays
|
||||
pako_utils.forceUntyped = true;
|
||||
if (cmpBuf(pako.inflate(deflated, options).result, data)) {
|
||||
callback('Error in "' + name + '" - zlib result != pako result');
|
||||
return;
|
||||
}
|
||||
|
||||
// with typed arrays
|
||||
pako_utils.forceUntyped = true;
|
||||
if (cmpBuf(pako.inflate(deflated, options).result, data)) {
|
||||
callback('Error in "' + name + '" - zlib result != pako result');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
callback();
|
||||
}
|
||||
|
||||
|
||||
exports.cmpBuf = cmpBuf;
|
||||
exports.testDeflate = testDeflate;
|
||||
exports.testDeflateSingle = testDeflateSingle;
|
||||
exports.testInflate = testInflate;
|
||||
exports.loadSamples = loadSamples;
|
142
test/inflate.js
Normal file
142
test/inflate.js
Normal file
|
@ -0,0 +1,142 @@
|
|||
/*global describe, it*/
|
||||
|
||||
|
||||
'use strict';
|
||||
|
||||
|
||||
var helpers = require('./helpers');
|
||||
var testInflate = helpers.testInflate;
|
||||
var pako = require('../index');
|
||||
|
||||
|
||||
var samples = helpers.loadSamples();
|
||||
|
||||
|
||||
describe.skip('Inflate defaults', function () {
|
||||
|
||||
it('inflate, no options', function(done) {
|
||||
testInflate(samples, {}, done);
|
||||
});
|
||||
|
||||
it('inflate raw, no options', function(done) {
|
||||
testInflate(samples, { raw: true }, done);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe.skip('Inflate ungzip', function () {
|
||||
var orig = samples.lorem_cat;
|
||||
var gzipped = pako.gzip(samples.lorem_cat);
|
||||
|
||||
it('ungzip with autodetect', function(done) {
|
||||
done(helpers.cmp(orig, pako.inflate(gzipped).result));
|
||||
});
|
||||
|
||||
it('ungzip with method set directly', function(done) {
|
||||
done(helpers.cmp(orig, pako.inflate(gzipped, { windowBits: 15 + 16 }).result));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe.skip('Inflate levels', function () {
|
||||
|
||||
it('level 9', function(done) {
|
||||
testInflate(samples, { level: 9 }, done);
|
||||
});
|
||||
it('level 8', function(done) {
|
||||
testInflate(samples, { level: 8 }, done);
|
||||
});
|
||||
it('level 7', function(done) {
|
||||
testInflate(samples, { level: 7 }, done);
|
||||
});
|
||||
it('level 6', function(done) {
|
||||
testInflate(samples, { level: 6 }, done);
|
||||
});
|
||||
it('level 5', function(done) {
|
||||
testInflate(samples, { level: 5 }, done);
|
||||
});
|
||||
it('level 4', function(done) {
|
||||
testInflate(samples, { level: 4 }, done);
|
||||
});
|
||||
it('level 3', function(done) {
|
||||
testInflate(samples, { level: 3 }, done);
|
||||
});
|
||||
it('level 2', function(done) {
|
||||
testInflate(samples, { level: 2 }, done);
|
||||
});
|
||||
it('level 1', function(done) {
|
||||
testInflate(samples, { level: 1 }, done);
|
||||
});
|
||||
it('level 0', function(done) {
|
||||
testInflate(samples, { level: 0 }, done);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe.skip('Inflate windowBits', function () {
|
||||
|
||||
it('windowBits 15', function(done) {
|
||||
testInflate(samples, { windowBits: 15 }, done);
|
||||
});
|
||||
it('windowBits 14', function(done) {
|
||||
testInflate(samples, { windowBits: 14 }, done);
|
||||
});
|
||||
it('windowBits 13', function(done) {
|
||||
testInflate(samples, { windowBits: 13 }, done);
|
||||
});
|
||||
it('windowBits 12', function(done) {
|
||||
testInflate(samples, { windowBits: 12 }, done);
|
||||
});
|
||||
it('windowBits 11', function(done) {
|
||||
testInflate(samples, { windowBits: 11 }, done);
|
||||
});
|
||||
it('windowBits 10', function(done) {
|
||||
testInflate(samples, { windowBits: 10 }, done);
|
||||
});
|
||||
it('windowBits 9', function(done) {
|
||||
testInflate(samples, { windowBits: 9 }, done);
|
||||
});
|
||||
it('windowBits 8', function(done) {
|
||||
testInflate(samples, { windowBits: 8 }, done);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe.skip('Inflate strategy', function () {
|
||||
|
||||
it('Z_DEFAULT_STRATEGY', function(done) {
|
||||
testInflate(samples, { strategy: 0 }, done);
|
||||
});
|
||||
it('Z_FILTERED', function(done) {
|
||||
testInflate(samples, { strategy: 1 }, done);
|
||||
});
|
||||
it('Z_HUFFMAN_ONLY', function(done) {
|
||||
testInflate(samples, { strategy: 2 }, done);
|
||||
});
|
||||
it('Z_RLE', function(done) {
|
||||
testInflate(samples, { strategy: 3 }, done);
|
||||
});
|
||||
it.skip('Z_FIXED', function(done) {
|
||||
testInflate(samples, { strategy: 4 }, done);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe.skip('Inflate RAW', function () {
|
||||
// Since difference is only in rwapper, test for store/fast/slow methods are enougth
|
||||
it('level 4', function(done) {
|
||||
testInflate(samples, { level: 4, raw: true }, done);
|
||||
});
|
||||
it('level 1', function(done) {
|
||||
testInflate(samples, { level: 1, raw: true }, done);
|
||||
});
|
||||
it('level 0', function(done) {
|
||||
testInflate(samples, { level: 0, raw: true }, done);
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
Add table
Reference in a new issue