added null check so copyDirSyncRecursive will work without passing opts

This commit is contained in:
Stig Murberg 2012-11-15 12:25:11 +01:00
parent 32c2af7f44
commit 5e80ff972c
2 changed files with 10 additions and 2 deletions

View file

@ -164,7 +164,6 @@ exports.rmdirSyncRecursive = function(path, failSilent) {
* Note: Directories should be passed to this function without a trailing slash. * Note: Directories should be passed to this function without a trailing slash.
*/ */
exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) { exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) {
if (!opts || !opts.preserve) { if (!opts || !opts.preserve) {
try { try {
if(fs.statSync(newDirLocation).isDirectory()) exports.rmdirSyncRecursive(newDirLocation); if(fs.statSync(newDirLocation).isDirectory()) exports.rmdirSyncRecursive(newDirLocation);
@ -194,7 +193,7 @@ exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) {
var currFile = fs.lstatSync(sourceDir + "/" + files[i]); var currFile = fs.lstatSync(sourceDir + "/" + files[i]);
var fCopyFile = function(srcFile, destFile) { var fCopyFile = function(srcFile, destFile) {
if (opts.preserveFiles && fs.existsSync(destFile)) return; if (typeof opts !== 'undefined' && opts.preserveFiles && fs.existsSync(destFile)) return;
var contents = fs.readFileSync(srcFile); var contents = fs.readFileSync(srcFile);
fs.writeFileSync(destFile, contents); fs.writeFileSync(destFile, contents);

View file

@ -77,6 +77,15 @@ function checkResultOverwriteFiles(test, files) {
} }
module.exports = testCase({ module.exports = testCase({
test_copyDirSyncRecursiveWithoutOptions: function(test) {
var dir = path.join(__dirname, 'shown');
var testdir = path.join(__dirname, 'testdir');
wrench.copyDirSyncRecursive(dir, testdir);
wrench.rmdirSyncRecursive(testdir);
test.done();
},
test_copyDirSyncRecursiveHidden: function(test) { test_copyDirSyncRecursiveHidden: function(test) {
var dir = path.join(__dirname, 'shown'); var dir = path.join(__dirname, 'shown');
var testdir = path.join(__dirname, 'testdir'); var testdir = path.join(__dirname, 'testdir');