thedesk/app/node_modules/unzip/test/fileSizeUnknownFlag.js

78 lines
2.2 KiB
JavaScript
Raw Normal View History

2018-02-18 18:29:06 +11:00
'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 archive w/ file size unknown flag set (created by OS X Finder)", function (t) {
var archive = path.join(__dirname, '../testData/compressed-OSX-Finder/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 archive w/ file size unknown flag set (created by OS X Finder)", function (t) {
var archive = path.join(__dirname, '../testData/compressed-OSX-Finder/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-OSX-Finder/inflated'), dirPath, {
fileContents: true
}, function (err, diffs) {
if (err) {
throw err;
}
t.equal(diffs.length, 0, 'extracted directory contents');
t.end();
});
}
});
});
test("archive w/ language encoding flag set", function (t) {
var archive = path.join(__dirname, '../testData/compressed-flags-set/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-flags-set/inflated'), dirPath, {
fileContents: true
}, function (err, diffs) {
if (err) {
throw err;
}
t.equal(diffs.length, 0, 'extracted directory contents');
t.end();
});
}
});
});