aboutsummaryrefslogtreecommitdiff
path: root/node_modules/walkdir/test
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/walkdir/test')
-rw-r--r--node_modules/walkdir/test/async.js66
-rw-r--r--node_modules/walkdir/test/comparison/find.js33
-rw-r--r--node_modules/walkdir/test/comparison/find.py26
-rw-r--r--node_modules/walkdir/test/comparison/finditsynctest.js15
-rw-r--r--node_modules/walkdir/test/comparison/findittest.js14
-rw-r--r--node_modules/walkdir/test/comparison/fstream.js24
-rwxr-xr-xnode_modules/walkdir/test/comparison/install_test_deps.sh1
-rw-r--r--node_modules/walkdir/test/comparison/lsr.js18
-rw-r--r--node_modules/walkdir/test/comparison/package.json10
-rw-r--r--node_modules/walkdir/test/custom_fs.js34
-rw-r--r--node_modules/walkdir/test/dir/foo/a/b/c/w0
-rw-r--r--node_modules/walkdir/test/dir/foo/a/b/z0
-rw-r--r--node_modules/walkdir/test/dir/foo/a/y0
-rw-r--r--node_modules/walkdir/test/dir/foo/x0
-rw-r--r--node_modules/walkdir/test/dir/nested-symlink/found-me1
-rw-r--r--node_modules/walkdir/test/dir/symlinks/dir1/file10
-rw-r--r--node_modules/walkdir/test/dir/symlinks/dir2/file20
-rw-r--r--node_modules/walkdir/test/dir/symlinks/file0
-rw-r--r--node_modules/walkdir/test/endearly.js19
-rw-r--r--node_modules/walkdir/test/ignore-during.js19
-rw-r--r--node_modules/walkdir/test/ignore-first.js18
-rw-r--r--node_modules/walkdir/test/ignore.js18
-rw-r--r--node_modules/walkdir/test/max_depth.js30
-rw-r--r--node_modules/walkdir/test/nested-symlink.js43
-rw-r--r--node_modules/walkdir/test/no_recurse.js28
-rw-r--r--node_modules/walkdir/test/nofailemptydir.js34
-rw-r--r--node_modules/walkdir/test/pauseresume.js36
-rw-r--r--node_modules/walkdir/test/symlink.js37
-rw-r--r--node_modules/walkdir/test/sync.js52
29 files changed, 576 insertions, 0 deletions
diff --git a/node_modules/walkdir/test/async.js b/node_modules/walkdir/test/async.js
new file mode 100644
index 000000000..ef02ab487
--- /dev/null
+++ b/node_modules/walkdir/test/async.js
@@ -0,0 +1,66 @@
+var test = require('tape'),
+walkdir = require('../walkdir.js');
+
+var expectedPaths = {
+'dir/foo/x':'file',
+'dir/foo/a':'dir',
+'dir/foo/a/y':'file',
+'dir/foo/a/b':'dir',
+'dir/foo/a/b/z':'file',
+'dir/foo/a/b/c':'dir',
+'dir/foo/a/b/c/w':'file'
+};
+
+test('async events',function(t){
+ var paths = [],
+ files = [],
+ dirs = [];
+
+
+ var emitter = walkdir(__dirname+'/dir/foo',function(path){
+ //console.log('path: ',path);
+ paths.push(path.replace(__dirname+'/',''));
+ });
+
+ emitter.on('directory',function(path,stat){
+ dirs.push(path.replace(__dirname+'/',''));
+ });
+
+ emitter.on('file',function(path,stat){
+ //console.log('file: ',path);
+ files.push(path.replace(__dirname+'/',''));
+ });
+
+ emitter.on('end',function(){
+
+ files.forEach(function(v,k){
+ t.equals(expectedPaths[v],'file','path from file event should be file');
+ });
+
+ var expected = Object.keys(expectedPaths);
+
+ t.ok(expected.length == paths.length, 'expected and emitted paths should have the same length');
+
+ expected.forEach(function(v,k){
+ if(expectedPaths[v] == 'file') {
+ t.ok(files.indexOf(v) > -1,'should have file in files array');
+ }
+ });
+
+ dirs.forEach(function(v,k){
+ t.equals(expectedPaths[v],'dir','path from dir event should be dir '+v);
+ });
+
+ expected.forEach(function(v,k){
+ if(expectedPaths[v] == 'dir') {
+ t.ok(dirs.indexOf(v) > -1,'should have dir in dirs array');
+ }
+ });
+
+ expected.forEach(function(v,k){
+ t.ok(paths.indexOf(v) !== -1,'should have found all expected paths '+v);
+ });
+
+ t.end();
+ });
+});
diff --git a/node_modules/walkdir/test/comparison/find.js b/node_modules/walkdir/test/comparison/find.js
new file mode 100644
index 000000000..98e852d13
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/find.js
@@ -0,0 +1,33 @@
+var spawn = require('child_process').spawn;
+
+var find = spawn('find',[process.argv[2]||'./']);
+
+var fs = require('fs');
+
+var buf = '',count = 0;
+
+handleBuf = function(data){
+
+ buf += data;
+
+ if(buf.length >= 1024) {
+ var lines = buf.split("\n");
+ buf = lines.pop();//last line my not be complete
+ count += lines.length;
+ process.stdout.write(lines.join("\n")+"\n");
+ }
+};
+
+find.stdout.on('data',function(data){
+ //buf += data.toString();
+ handleBuf(data)
+ //process.stdout.write(data.toString());
+});
+
+find.on('end',function(){
+ handleBuf("\n");
+ console.log('found '+count+' files');
+ console.log('ended');
+});
+
+find.stdin.end();
diff --git a/node_modules/walkdir/test/comparison/find.py b/node_modules/walkdir/test/comparison/find.py
new file mode 100644
index 000000000..526d6941f
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/find.py
@@ -0,0 +1,26 @@
+import os
+import sys
+
+rootdir = sys.argv[1]
+ino = {}
+buf = []
+for root, subFolders, files in os.walk(rootdir):
+
+ for filename in files:
+ filePath = os.path.join(root, filename)
+ try:
+ stat = os.lstat(filePath)
+ except OSError:
+ pass
+
+ inostr = stat.st_ino
+
+ if inostr not in ino:
+ ino[stat.st_ino] = 1
+ buf.append(filePath);
+ buf.append("\n");
+ if len(buf) >= 1024:
+ sys.stdout.write(''.join(buf))
+ buf = []
+
+sys.stdout.write(''.join(buf));
diff --git a/node_modules/walkdir/test/comparison/finditsynctest.js b/node_modules/walkdir/test/comparison/finditsynctest.js
new file mode 100644
index 000000000..b3af43e92
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/finditsynctest.js
@@ -0,0 +1,15 @@
+var findit = require('findit');
+
+var files = findit.findSync(process.argv[2]||'./');
+
+var count = files.length;
+
+console.log(files);
+
+files = files.join("\n");
+
+process.stdout.write(files+"\n");
+
+console.log('found '+count+' files');
+
+
diff --git a/node_modules/walkdir/test/comparison/findittest.js b/node_modules/walkdir/test/comparison/findittest.js
new file mode 100644
index 000000000..d018bf27b
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/findittest.js
@@ -0,0 +1,14 @@
+var findit = require('findit');
+
+var find = findit.find(process.argv[2]||'./');
+
+var count = 0;
+
+find.on('file',function(path,stat){
+ count++;
+ process.stdout.write(path+"\n");
+});
+
+find.on('end',function(){
+ console.log('found '+count+' regular files');
+});
diff --git a/node_modules/walkdir/test/comparison/fstream.js b/node_modules/walkdir/test/comparison/fstream.js
new file mode 100644
index 000000000..1451b4caf
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/fstream.js
@@ -0,0 +1,24 @@
+var fstream = require('fstream');
+
+var pipe = fstream.Reader(process.argv[2]||"../");
+
+var count = 0,errorHandler;
+
+pipe.on('entry',function fn(entry){
+ if(entry.type == "Directory"){
+ entry.on('entry',fn);
+ } else if(entry.type == "File") {
+ count++;
+ }
+ entry.on('error',errorHandler);
+});
+
+pipe.on('error',(errorHandler = function(error){
+ console.log('error event ',error);
+}));
+
+pipe.on('end',function(){
+ console.log('end! '+count);
+});
+
+//this is pretty slow
diff --git a/node_modules/walkdir/test/comparison/install_test_deps.sh b/node_modules/walkdir/test/comparison/install_test_deps.sh
new file mode 100755
index 000000000..5fdd18ffd
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/install_test_deps.sh
@@ -0,0 +1 @@
+npm install
diff --git a/node_modules/walkdir/test/comparison/lsr.js b/node_modules/walkdir/test/comparison/lsr.js
new file mode 100644
index 000000000..590f9d1be
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/lsr.js
@@ -0,0 +1,18 @@
+var lsr = require('ls-r');
+
+lsr(process.argv[2]||'./',{maxDepth:500000,recursive:true},function(err,origPath,args){
+ if(err) {
+ console.log('eww an error! ',err);
+ return;
+ }
+//console.log('hit');
+ var c = 0;
+ args.forEach(function(stat){
+ if(stat.isFile()){
+ console.log(stat.path);
+ c++;
+ }
+ });
+
+ console.log('found '+args.length+" regular files");
+});
diff --git a/node_modules/walkdir/test/comparison/package.json b/node_modules/walkdir/test/comparison/package.json
new file mode 100644
index 000000000..1faeff31e
--- /dev/null
+++ b/node_modules/walkdir/test/comparison/package.json
@@ -0,0 +1,10 @@
+{
+ "name":"recursedir-comparisons",
+ "version": "0.0.0",
+ "author": "Ryan Day <soldair@gmail.com>",
+ "devDependencies": {
+ "findit": "*",
+ "ls-r":"*",
+ "fstream":"*"
+ }
+}
diff --git a/node_modules/walkdir/test/custom_fs.js b/node_modules/walkdir/test/custom_fs.js
new file mode 100644
index 000000000..3de07b98e
--- /dev/null
+++ b/node_modules/walkdir/test/custom_fs.js
@@ -0,0 +1,34 @@
+var test = require('tape'),
+_fs = require('fs'),
+walkdir = require('../walkdir.js');
+
+var expectedPaths = {};
+
+test('fs option',function(t){
+ var paths = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',{fs:
+ {
+ readdir: function () {
+ var cb = arguments[arguments.length - 1];
+ cb(null, []);
+ },
+ lstat: function (file) {
+ var cb = arguments[arguments.length - 1];
+ return _fs.lstat(__dirname, cb);
+ }
+ }
+ },function(path,stat,depth){
+ t.fail('there should be no files emitted');
+ });
+
+ emitter.on('end',function(){
+ var expected = Object.keys(expectedPaths);
+ t.ok(expected.length == paths.length, 'expected and emitted paths should have the same length');
+ paths.forEach(function(v){
+ t.ok(expected.indexOf(v) > -1,'all expected files should be in paths');
+ });
+
+ t.end();
+ });
+});
diff --git a/node_modules/walkdir/test/dir/foo/a/b/c/w b/node_modules/walkdir/test/dir/foo/a/b/c/w
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/foo/a/b/c/w
diff --git a/node_modules/walkdir/test/dir/foo/a/b/z b/node_modules/walkdir/test/dir/foo/a/b/z
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/foo/a/b/z
diff --git a/node_modules/walkdir/test/dir/foo/a/y b/node_modules/walkdir/test/dir/foo/a/y
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/foo/a/y
diff --git a/node_modules/walkdir/test/dir/foo/x b/node_modules/walkdir/test/dir/foo/x
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/foo/x
diff --git a/node_modules/walkdir/test/dir/nested-symlink/found-me b/node_modules/walkdir/test/dir/nested-symlink/found-me
new file mode 100644
index 000000000..54be0f5e4
--- /dev/null
+++ b/node_modules/walkdir/test/dir/nested-symlink/found-me
@@ -0,0 +1 @@
+found me!
diff --git a/node_modules/walkdir/test/dir/symlinks/dir1/file1 b/node_modules/walkdir/test/dir/symlinks/dir1/file1
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/symlinks/dir1/file1
diff --git a/node_modules/walkdir/test/dir/symlinks/dir2/file2 b/node_modules/walkdir/test/dir/symlinks/dir2/file2
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/symlinks/dir2/file2
diff --git a/node_modules/walkdir/test/dir/symlinks/file b/node_modules/walkdir/test/dir/symlinks/file
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/node_modules/walkdir/test/dir/symlinks/file
diff --git a/node_modules/walkdir/test/endearly.js b/node_modules/walkdir/test/endearly.js
new file mode 100644
index 000000000..a44aedf16
--- /dev/null
+++ b/node_modules/walkdir/test/endearly.js
@@ -0,0 +1,19 @@
+var test = require('tape'),
+walk = require('../walkdir.js');
+
+test('should be able to end walk after first path',function(t){
+
+ var paths = [];
+
+ var em = walk('../',function(path){
+ paths.push(path);
+ this.end();
+ });
+
+ em.on('end',function(){
+ t.equals(paths.length,1,'should have only found one path');
+ t.end();
+ });
+
+});
+
diff --git a/node_modules/walkdir/test/ignore-during.js b/node_modules/walkdir/test/ignore-during.js
new file mode 100644
index 000000000..549eb4ac5
--- /dev/null
+++ b/node_modules/walkdir/test/ignore-during.js
@@ -0,0 +1,19 @@
+var test = require('tape')
+var walkdir = require('../')
+
+test('async events',function(t){
+ var paths = [],
+ files = [],
+ dirs = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',function(path){
+ paths.push(path.replace(__dirname+'/',''));
+ if(path === __dirname+'/dir/foo/a') this.ignore(__dirname+'/dir/foo/a');
+ })
+
+ emitter.on('end',function(){
+ t.equals(paths.sort().join('|'),'dir/foo/a|dir/foo/x','should have ignored under a');
+ t.end();
+ })
+
+})
diff --git a/node_modules/walkdir/test/ignore-first.js b/node_modules/walkdir/test/ignore-first.js
new file mode 100644
index 000000000..7db03828d
--- /dev/null
+++ b/node_modules/walkdir/test/ignore-first.js
@@ -0,0 +1,18 @@
+var test = require('tape')
+var walkdir = require('../')
+
+test('async events',function(t){
+ var paths = [],
+ files = [],
+ dirs = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',function(path){
+ paths.push(path.replace(__dirname+'/',''));
+ }).ignore(__dirname+'/dir/foo');
+
+ emitter.on('end',function(){
+ t.equals(paths.length,0,'should have no paths')
+ t.end();
+ })
+
+})
diff --git a/node_modules/walkdir/test/ignore.js b/node_modules/walkdir/test/ignore.js
new file mode 100644
index 000000000..ddf68702d
--- /dev/null
+++ b/node_modules/walkdir/test/ignore.js
@@ -0,0 +1,18 @@
+var test = require('tape')
+var walkdir = require('../')
+
+test('async events',function(t){
+ var paths = [],
+ files = [],
+ dirs = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',function(path){
+ paths.push(path.replace(__dirname+'/',''));
+ }).ignore(__dirname+'/dir/foo/a');
+
+ emitter.on('end',function(){
+ t.equals(paths.sort().join('|'),'dir/foo/a|dir/foo/x','should have ignored under a');
+ t.end();
+ })
+
+})
diff --git a/node_modules/walkdir/test/max_depth.js b/node_modules/walkdir/test/max_depth.js
new file mode 100644
index 000000000..76e83dec8
--- /dev/null
+++ b/node_modules/walkdir/test/max_depth.js
@@ -0,0 +1,30 @@
+var test = require('tape'),
+walkdir = require('../walkdir.js');
+
+var expectedPaths = {
+'dir/foo/x':'file',
+'dir/foo/a':'dir',
+'dir/foo/a/y':'file',
+'dir/foo/a/b':'dir'
+};
+
+test('no_recurse option',function(t){
+ var paths = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',{max_depth:2},function(path,stat,depth){
+ paths.push(path.replace(__dirname+'/',''));
+ t.ok(depth < 3,' all paths emitted should have a depth less than 3');
+ });
+
+ emitter.on('end',function(){
+ var expected = Object.keys(expectedPaths);
+
+ t.ok(expected.length == paths.length, 'expected and emitted paths should have the same length');
+
+ paths.forEach(function(v){
+ t.ok(expected.indexOf(v) > -1,'paths should not have any unexpected files');
+ });
+
+ t.end();
+ });
+});
diff --git a/node_modules/walkdir/test/nested-symlink.js b/node_modules/walkdir/test/nested-symlink.js
new file mode 100644
index 000000000..01fee099c
--- /dev/null
+++ b/node_modules/walkdir/test/nested-symlink.js
@@ -0,0 +1,43 @@
+var test = require('tape')
+var walkdir = require('../walkdir.js')
+var basename = require('path').basename
+
+test('follow symlinks',function(t){
+
+ var links = [],paths = [],failures = [],errors = [], files = [];
+
+ var emitter = walkdir(__dirname+'/dir/nested-symlink',{follow_symlinks:true});
+
+ emitter.on('path',function(path,stat){
+ paths.push(path);
+ });
+
+ emitter.on('file',function(path,stat){
+ files.push(path);
+ });
+
+ emitter.on('link',function(path,stat){
+ links.push(path);
+ });
+
+ emitter.on('error',function(path,err){
+ console.log('error!!', arguments);
+ errors.push(arguments);
+ });
+
+ emitter.on('fail',function(path,err){
+ failures.push(path);
+ });
+
+ emitter.on('end',function(){
+
+ t.equal(files.length,1)
+ t.equal(basename(files[0]),'found-me','found the nested symlink')
+ t.equal(paths.length,3,'should find 3 things')
+
+ t.ok(!failures.length,'no failures')
+
+ t.end();
+
+ });
+})
diff --git a/node_modules/walkdir/test/no_recurse.js b/node_modules/walkdir/test/no_recurse.js
new file mode 100644
index 000000000..8a9fcc183
--- /dev/null
+++ b/node_modules/walkdir/test/no_recurse.js
@@ -0,0 +1,28 @@
+var test = require('tape'),
+walkdir = require('../walkdir.js');
+
+var expectedPaths = {
+'dir/foo/x':'file',
+'dir/foo/a':'dir'
+};
+
+test('no_recurse option',function(t){
+ var paths = [];
+
+ var emitter = walkdir(__dirname+'/dir/foo',{no_recurse:true},function(path,stat,depth){
+ paths.push(path.replace(__dirname+'/',''));
+ t.ok(depth === 1,' all paths emitted should have a depth of 1');
+ });
+
+ emitter.on('end',function(){
+ var expected = Object.keys(expectedPaths);
+
+ t.ok(expected.length == paths.length, 'expected and emitted paths should have the same length');
+
+ paths.forEach(function(v){
+ t.ok(expected.indexOf(v) > -1,'all expected files should be in paths');
+ });
+
+ t.end();
+ });
+});
diff --git a/node_modules/walkdir/test/nofailemptydir.js b/node_modules/walkdir/test/nofailemptydir.js
new file mode 100644
index 000000000..9a9215a26
--- /dev/null
+++ b/node_modules/walkdir/test/nofailemptydir.js
@@ -0,0 +1,34 @@
+var test = require('tape'),
+fs = require('fs'),
+path = require('path'),
+walk = require('../walkdir.js');
+
+test('should not emit fail events for empty dirs',function(t){
+ fs.mkdir('./empty',function(err,data){
+ if(err) {
+ t.equals(err.code,'EEXIST','if error code on mkdir for fixture it should only be because it exists already');
+ }
+
+ var paths = [];
+ var dirs = [];
+ var emptys = [];
+ var fails = [];
+
+ var em = walk('./');
+
+ em.on('fail',function(path,err){
+ fails.push(path);
+ });
+
+ em.on('empty',function(path,err){
+ emptys.push(path);
+ });
+
+ em.on('end',function(){
+ t.equals(fails.length,0,'should not have any fails');
+ t.equals(path.basename(emptys[0]),'empty','should find empty dir');
+ t.end();
+ });
+ });
+});
+
diff --git a/node_modules/walkdir/test/pauseresume.js b/node_modules/walkdir/test/pauseresume.js
new file mode 100644
index 000000000..29d3d606d
--- /dev/null
+++ b/node_modules/walkdir/test/pauseresume.js
@@ -0,0 +1,36 @@
+var test = require('tape'),
+walk = require('../walkdir.js');
+
+test('should be able to pause walk',function(t){
+
+ var paths = [];
+ var paused = false;
+ var em = walk('./',function(path){
+ if(!paused){
+ em.pause();
+ paused = 1;
+ setTimeout(function(){
+ t.equals(paths.length,1,'while paused should not emit any more paths');
+ em.resume();
+ },300);
+ } else if(paused == 1){
+ em.pause();
+ paused = 2;
+ setTimeout(function(){
+ t.equals(paths.length,2,'while paused should not emit any more paths');
+ em.resume();
+ },300);
+ }
+
+ paths.push(path);
+
+ });
+
+ em.on('end',function(){
+ console.log('end, and i found ',paths.length,'paths');
+ t.ok(paths.length > 1,'should have more paths before end');
+ t.end();
+ });
+
+});
+
diff --git a/node_modules/walkdir/test/symlink.js b/node_modules/walkdir/test/symlink.js
new file mode 100644
index 000000000..162f5bf4d
--- /dev/null
+++ b/node_modules/walkdir/test/symlink.js
@@ -0,0 +1,37 @@
+var test = require('tape'),
+walkdir = require('../walkdir.js');
+
+
+test('follow symlinks',function(t){
+
+ var links = [],paths = [],failures = [],errors = [];
+
+ var emitter = walkdir(__dirname+'/dir/symlinks/dir2',{follow_symlinks:true});
+
+ emitter.on('path',function(path,stat){
+ paths.push(path);
+ });
+
+ emitter.on('link',function(path,stat){
+ links.push(path);
+ });
+
+ emitter.on('error',function(path,err){
+ console.log('error!!', arguments);
+ errors.push(arguments);
+ });
+
+ emitter.on('fail',function(path,err){
+ failures.push(path);
+ });
+
+ emitter.on('end',function(){
+
+ t.equal(errors.length,0,'should have no errors');
+ t.equal(failures.length,1,'should have a failure');
+ t.ok(paths.indexOf(__dirname+'/dir/symlinks/dir1/file1') !== -1,'if follow symlinks works i would have found dir1 file1');
+ t.equal(require('path').basename(failures[0]),'does-not-exist','should have fail resolviong does-not-exist which dangling-symlink points to');
+ t.end();
+
+ });
+});
diff --git a/node_modules/walkdir/test/sync.js b/node_modules/walkdir/test/sync.js
new file mode 100644
index 000000000..db2d07219
--- /dev/null
+++ b/node_modules/walkdir/test/sync.js
@@ -0,0 +1,52 @@
+var test = require('tape'),
+walkdir = require('../walkdir.js');
+
+var expectedPaths = {
+'dir/foo/x':'file',
+'dir/foo/a':'dir',
+'dir/foo/a/y':'file',
+'dir/foo/a/b':'dir',
+'dir/foo/a/b/z':'file',
+'dir/foo/a/b/c':'dir',
+'dir/foo/a/b/c/w':'file'
+};
+
+test('sync',function(t){
+ var paths = [],
+ files = [],
+ dirs = [];
+
+ var pathResult = walkdir.sync(__dirname+'/dir/foo',function(path){
+ console.log('path: ',path);
+ paths.push(path);
+ });
+
+ t.ok(pathResult instanceof Array,'if return object is not specified should be an array');
+
+ t.equals(Object.keys(expectedPaths).length,paths.length,'should have found the same number of paths as expected');
+
+
+ Object.keys(expectedPaths).forEach(function(v,k){
+
+ t.ok(paths.indexOf(__dirname+'/'+v) > -1,v+' should be found');
+ });
+
+ t.deepEquals(paths,pathResult,'paths should be equal to pathResult');
+
+ t.end();
+});
+
+test('sync return object',function(t){
+
+ var pathResult = walkdir.sync(__dirname+'/dir/foo',{return_object:true});
+
+ t.ok(!(pathResult instanceof Array),'if return object is not specified should be an array');
+
+ t.equals(Object.keys(expectedPaths).length,Object.keys(pathResult).length,'should find the same number of paths as expected');
+
+ Object.keys(expectedPaths).forEach(function(v,k){
+ t.ok(pathResult[__dirname+'/'+v],'should find path in result object');
+ });
+
+ t.end();
+});