var testCase = require('nodeunit').testCase; var fs = require('fs'); var wrench = require('../lib/wrench'); var path = require('path'); function checkResult(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); test.done(); } module.exports = testCase({ test_readdirSyncRecursive: function(test) { var dir = path.join(__dirname, 'readdir'); test.ok(fs.existsSync(dir), 'Folders should exist'); var files = wrench.readdirSyncRecursive(dir); checkResult(test, files); }, test_readdirRecursive: function(test) { var dir = path.join(__dirname, 'readdir'); test.ok(fs.existsSync(dir), 'Folders should exist'); var allFiles = []; wrench.readdirRecursive(dir, function(e, files) { if (e) throw e; if (files) { allFiles = allFiles.concat(files); } else { 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(); }); } }); // vim: et ts=4 sw=4