Files
anissah/user/themes/anissabensalah/node_modules/vow-fs/test/removedir.js
T
2018-05-28 13:26:25 +02:00

74 lines
2.2 KiB
JavaScript

var fs = require('fs'),
path = require('path'),
vfs = require('../lib/fs'),
TEST_DIR = path.join(__dirname, 'test-dir');
module.exports = {
setUp : function(done) {
fs.mkdirSync(TEST_DIR);
done();
},
tearDown : function(done) {
fs.rmdirSync(TEST_DIR);
done();
},
'should remove empty directory' : function(test) {
var dir = path.join(TEST_DIR, 'dir');
fs.mkdirSync(dir);
vfs.removeDir(dir)
.then(
function() {
return vfs.exists(dir);
},
function() {
test.ok(false);
})
.always(function(promise) {
test.ok(!promise.valueOf());
test.done();
});
},
'should remove directory tree' : function(test) {
var dir = path.join(TEST_DIR, 'dir');
fs.mkdirSync(dir);
fs.mkdirSync(path.join(dir, 'a'));
fs.writeFileSync(path.join(dir, 'a', 'file'), 'file');
fs.mkdirSync(path.join(dir, 'a', 'b'));
fs.writeFileSync(path.join(dir, 'a', 'b', 'file1'), 'file1');
fs.writeFileSync(path.join(dir, 'a', 'b', 'file2'), 'file2');
vfs.removeDir(dir)
.then(
function() {
return vfs.exists(dir);
},
function() {
test.ok(false);
})
.always(function(promise) {
test.ok(!promise.valueOf());
test.done();
});
},
'should not remove file' : function(test) {
var filePath = path.join(TEST_DIR, 'file');
fs.writeFileSync(filePath, 'file');
vfs.removeDir(filePath)
.then(
function() {
test.ok(false);
},
function(err) {
test.equal(err.code, 'ENOTDIR');
return vfs.exists(filePath);
})
.always(function(promise) {
test.ok(promise.valueOf());
fs.unlinkSync(filePath);
test.done();
});
}
};