From 9dbd7513acf01545f036d5f63ad1a3934246d4bf Mon Sep 17 00:00:00 2001 From: tmont Date: Fri, 18 Jan 2013 11:21:08 -0800 Subject: [PATCH] handle errors to fs.readdir() --- lib/wrench.js | 4 ++++ tests/readdir.js | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/wrench.js b/lib/wrench.js index cc5c18b..98b94be 100644 --- a/lib/wrench.js +++ b/lib/wrench.js @@ -80,6 +80,10 @@ exports.readdirRecursive = function(baseDir, fn) { waitCount++; fs.readdir(curDir, function(e, curFiles) { + if (e) { + fn(e); + return; + } waitCount--; curFiles = curFiles.map(prependcurDir); diff --git a/tests/readdir.js b/tests/readdir.js index 2460203..5e8abf0 100644 --- a/tests/readdir.js +++ b/tests/readdir.js @@ -46,6 +46,15 @@ module.exports = testCase({ checkResult(test, allFiles); } }); + }, + + test_readdirRecursiveWithNonExistentDirectory: function(test) { + wrench.readdirRecursive('', function (e, files) { + test.ok(e); + test.equal(e.code, 'ENOENT'); + test.equal(files, null); + test.done(); + }); } });