From 5e80ff972c469f7347c7846a2ed25d69937a61bc Mon Sep 17 00:00:00 2001 From: Stig Murberg Date: Thu, 15 Nov 2012 12:25:11 +0100 Subject: [PATCH] added null check so copyDirSyncRecursive will work without passing opts --- lib/wrench.js | 3 +-- tests/copydirsync_unix.js | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/wrench.js b/lib/wrench.js index 771b9c6..b75f2e9 100644 --- a/lib/wrench.js +++ b/lib/wrench.js @@ -164,7 +164,6 @@ exports.rmdirSyncRecursive = function(path, failSilent) { * Note: Directories should be passed to this function without a trailing slash. */ exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) { - if (!opts || !opts.preserve) { try { 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 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); fs.writeFileSync(destFile, contents); diff --git a/tests/copydirsync_unix.js b/tests/copydirsync_unix.js index ad2a130..04442cc 100644 --- a/tests/copydirsync_unix.js +++ b/tests/copydirsync_unix.js @@ -77,6 +77,15 @@ function checkResultOverwriteFiles(test, files) { } 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) { var dir = path.join(__dirname, 'shown'); var testdir = path.join(__dirname, 'testdir'); -- 2.39.5