thedesk/app/node_modules/unzip/test/compressed.js
2018-02-18 16:29:06 +09:00

49 lines
1.4 KiB
JavaScript

'use strict';
var test = require('tap').test;
var fs = require('fs');
var path = require('path');
var temp = require('temp');
var dirdiff = require('dirdiff');
var unzip = require('../');
test("parse compressed archive (created by POSIX zip)", function (t) {
var archive = path.join(__dirname, '../testData/compressed-standard/archive.zip');
var unzipParser = unzip.Parse();
fs.createReadStream(archive).pipe(unzipParser);
unzipParser.on('error', function(err) {
throw err;
});
unzipParser.on('close', t.end.bind(this));
});
test("extract compressed archive w/ file sizes known prior to zlib inflation (created by POSIX zip)", function (t) {
var archive = path.join(__dirname, '../testData/compressed-standard/archive.zip');
temp.mkdir('node-unzip-', function (err, dirPath) {
if (err) {
throw err;
}
var unzipExtractor = unzip.Extract({ path: dirPath });
unzipExtractor.on('error', function(err) {
throw err;
});
unzipExtractor.on('close', testExtractionResults);
fs.createReadStream(archive).pipe(unzipExtractor);
function testExtractionResults() {
dirdiff(path.join(__dirname, '../testData/compressed-standard/inflated'), dirPath, {
fileContents: true
}, function (err, diffs) {
if (err) {
throw err;
}
t.equal(diffs.length, 0, 'extracted directory contents');
t.end();
});
}
});
});