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

101 lines
3.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 copy file' : function(test) {
var sourceFile = path.join(TEST_DIR, 'source-file'),
targetFile = path.join(TEST_DIR, 'target-file');
fs.writeFileSync(sourceFile, 'source');
vfs.copy(sourceFile, targetFile)
.then(function() {
test.equal(fs.readFileSync(targetFile, 'utf8'), 'source');
})
.always(function() {
fs.unlinkSync(sourceFile);
fs.unlinkSync(targetFile);
test.done();
});
},
'should copy file if target exists' : function(test) {
var sourceFile = path.join(TEST_DIR, 'source-file'),
targetFile = path.join(TEST_DIR, 'target-file');
fs.writeFileSync(sourceFile, 'source');
fs.writeFileSync(targetFile, 'target');
vfs.copy(sourceFile, targetFile)
.then(function() {
test.equal(fs.readFileSync(targetFile, 'utf8'), 'source');
})
.always(function() {
fs.unlinkSync(sourceFile);
fs.unlinkSync(targetFile);
test.done();
});
},
'should not copy file if source is directory' : function(test) {
var sourceDir = path.join(TEST_DIR, 'source-dir'),
targetFile = path.join(TEST_DIR, 'target-file');
fs.mkdirSync(sourceDir);
vfs.copy(sourceDir, targetFile)
.then(
function() {
test.ok(false);
},
function(err) {
test.equal(err.code, 'EISDIR');
})
.always(function() {
fs.rmdirSync(sourceDir);
test.done();
});
},
'should not copy file if target is directory' : function(test) {
var sourceFile = path.join(TEST_DIR, 'source-file'),
targetDir = path.join(TEST_DIR, 'target-dir');
fs.writeFileSync(sourceFile, 'source');
fs.mkdirSync(targetDir);
vfs.copy(sourceFile, targetDir)
.then(
function() {
test.ok(false);
},
function(err) {
test.equal(err.code, 'EISDIR');
})
.always(function() {
fs.unlinkSync(sourceFile);
fs.rmdirSync(targetDir);
test.done();
});
},
'should not copy if target not exists' : function(test) {
var sourceFile = path.join(TEST_DIR, 'source-file'),
targetFile = path.join(TEST_DIR, 'target-file');
vfs.copy(sourceFile, targetFile)
.then(
function() {
test.ok(false);
},
function(err) {
test.equal(err.code, 'ENOENT');
})
.always(function() {
test.done();
});
}
};