Browse Source

lib/walk/walker: only emit one object (path, stat) instead of two params

ci/travis-osximage
JP Richardson 9 years ago
parent
commit
b48f10284c
  1. 10
      lib/walk/walker.js
  2. 8
      test.js

10
lib/walk/walker.js

@ -22,24 +22,24 @@ Walker.prototype.visit = function (item) {
fs.lstat(item, function (err, stat) {
if (err) {
self.emit('error', err, item, stat)
self.emit('error', err, {path: item, stat: stat})
return self.finishItem()
}
if (self.filter && !self.filter(item, stat)) return self.finishItem()
if (self.filter && !self.filter({path: item, stat: stat})) return self.finishItem()
if (!stat.isDirectory()) {
self.emit('data', item, stat)
self.emit('data', {path: item, stat: stat})
return self.finishItem()
}
fs.readdir(item, function (err, items) {
if (err) {
self.emit('error', err, item, stat)
self.emit('error', err, {path: item, stat: stat})
return self.finishItem()
}
self.emit('data', item, stat)
self.emit('data', {path: item, stat: stat})
items.forEach(function (part) {
self.visit(path.join(item, part))
})

8
test.js

@ -15,10 +15,10 @@ var mochaOpts = assign({
var mocha = new Mocha(mochaOpts)
walk('./lib')
.on('data', function (item, stat) {
if (!stat.isFile()) return
if (item.lastIndexOf('.test.js') !== (item.length - '.test.js'.length)) return
mocha.addFile(item)
.on('data', function (item) {
if (!item.stat.isFile()) return
if (item.path.lastIndexOf('.test.js') !== (item.path.length - '.test.js'.length)) return
mocha.addFile(item.path)
})
.on('end', function () {
mocha.run(function (failures) {

Loading…
Cancel
Save