64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
|
var fs = require('fs')
|
||
|
var path = require('path')
|
||
|
var test = require('tape')
|
||
|
var zip = require('../')
|
||
|
|
||
|
var filePath = path.join(__dirname, 'content', 'file.txt')
|
||
|
var fileZipPath = path.join(__dirname, 'content', 'file.txt.zip')
|
||
|
var tmpPath = path.join(__dirname, 'tmp')
|
||
|
|
||
|
fs.mkdirSync(tmpPath, { recursive: true })
|
||
|
|
||
|
test('unzipSync', function (t) {
|
||
|
var tmpFilePath = path.join(tmpPath, 'file.txt')
|
||
|
fs.rmdirSync(tmpFilePath, { recursive: true })
|
||
|
zip.unzipSync(fileZipPath, tmpPath)
|
||
|
|
||
|
var tmpFile = fs.readFileSync(tmpFilePath)
|
||
|
var file = fs.readFileSync(filePath)
|
||
|
|
||
|
t.deepEqual(tmpFile, file)
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('unzip', function (t) {
|
||
|
t.plan(3)
|
||
|
|
||
|
var tmpFilePath = path.join(tmpPath, 'file.txt')
|
||
|
fs.rmdir(tmpFilePath, { recursive: true }, function (err) {
|
||
|
t.error(err)
|
||
|
|
||
|
zip.unzip(fileZipPath, tmpPath, function (err) {
|
||
|
t.error(err)
|
||
|
|
||
|
var tmpFile = fs.readFileSync(tmpFilePath)
|
||
|
var file = fs.readFileSync(filePath)
|
||
|
|
||
|
t.deepEqual(tmpFile, file)
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
|
||
|
test('unzip from a folder with a space in it', function (t) {
|
||
|
t.plan(4)
|
||
|
|
||
|
var zipSpacePath = path.join(tmpPath, 'folder space', path.basename(fileZipPath))
|
||
|
fs.mkdirSync(path.dirname(zipSpacePath), { recursive: true })
|
||
|
fs.copyFileSync(fileZipPath, zipSpacePath)
|
||
|
|
||
|
var tmpFilePath = path.join(tmpPath, 'file.txt')
|
||
|
fs.rmdir(tmpFilePath, { recursive: true }, function (err) {
|
||
|
t.error(err)
|
||
|
|
||
|
zip.unzip(zipSpacePath, tmpPath, function (err) {
|
||
|
t.error(err)
|
||
|
|
||
|
t.ok(fs.existsSync(tmpFilePath), 'extracted file should exist')
|
||
|
var tmpFile = fs.readFileSync(tmpFilePath)
|
||
|
var file = fs.readFileSync(filePath)
|
||
|
|
||
|
t.deepEqual(tmpFile, file)
|
||
|
})
|
||
|
})
|
||
|
})
|