This commit is contained in:
Refael Dakar 2012-10-15 06:40:46 -07:00
commit 2bbfda9fc0
9 changed files with 76 additions and 1 deletions

View file

@ -183,6 +183,8 @@ exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) {
var files = fs.readdirSync(sourceDir);
for(var i = 0; i < files.length; i++) {
if (opts.excludeHiddenUnix && /^\./.test(files[i])) continue;
var currFile = fs.lstatSync(sourceDir + "/" + files[i]);
if(currFile.isDirectory()) {

72
tests/copydirsync_unix.js Normal file
View file

@ -0,0 +1,72 @@
var testCase = require('nodeunit').testCase;
var fs = require('fs');
var wrench = require('../lib/wrench');
var path = require('path');
function checkResultHidden(test, files) {
var check = [
'.hidden',
'.hidden.txt',
'bar.txt',
'foo',
path.join('.hidden', 'dolor.md'),
path.join('foo', 'bar'),
path.join('foo', 'dolor.md'),
path.join('foo', 'lorem.txt'),
path.join('foo', 'bar', 'ipsum.js')
];
test.deepEqual(files, check);
}
function checkResultShown(test, files) {
var check = [
'bar.txt',
'foo',
path.join('foo', 'bar'),
path.join('foo', 'dolor.md'),
path.join('foo', 'lorem.txt'),
path.join('foo', 'bar', 'ipsum.js')
];
test.deepEqual(files, check);
}
module.exports = testCase({
test_copyDirSyncRecursiveHidden: function(test) {
var dir = path.join(__dirname, 'shown');
var testdir = path.join(__dirname, 'testdir');
test.ok(path.existsSync(dir), 'Folders should exist');
wrench.mkdirSyncRecursive(testdir, 0777);
wrench.copyDirSyncRecursive(dir, testdir, { excludeHiddenUnix: false });
var files = wrench.readdirSyncRecursive(testdir);
checkResultHidden(test, files);
wrench.rmdirSyncRecursive(testdir);
test.done();
},
test_copyDirSyncRecursiveShown: function(test) {
var dir = path.join(__dirname, 'shown');
var testdir = path.join(__dirname, 'testdir');
test.ok(path.existsSync(dir), 'Folders should exist');
wrench.mkdirSyncRecursive(testdir, 0777);
wrench.copyDirSyncRecursive(dir, testdir, { excludeHiddenUnix: true });
var files = wrench.readdirSyncRecursive(testdir);
checkResultShown(test, files);
wrench.rmdirSyncRecursive(testdir);
test.done();
}
});
// vim: et ts=4 sw=4

View file

@ -3,5 +3,6 @@
module.exports = {
group_mkdir: require('./mkdir'),
group_readdir: require('./readdir')
group_readdir: require('./readdir'),
group_copydir: require('./copydirsync_unix')
};

0
tests/shown/.hidden.txt Normal file
View file

View file

0
tests/shown/bar.txt Normal file
View file

View file

0
tests/shown/foo/dolor.md Normal file
View file

View file