| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- var fstream = require("../fstream.js")
- var tap = require("tap")
- var fs = require("fs")
- var path = require("path")
- var children = -1
- var dir = path.dirname(__dirname)
- var gotReady = false
- var ended = false
- tap.test("reader test", function (t) {
- var r = fstream.Reader({ path: dir
- , filter: function () {
- // return this.parent === r
- return this.parent === r || this === r
- }
- })
- r.on("ready", function () {
- gotReady = true
- children = fs.readdirSync(dir).length
- console.error("Setting expected children to "+children)
- t.equal(r.type, "Directory", "should be a directory")
- })
- r.on("entry", function (entry) {
- children --
- if (!gotReady) {
- t.fail("children before ready!")
- }
- t.equal(entry.dirname, r.path, "basename is parent dir")
- })
- r.on("error", function (er) {
- t.fail(er)
- t.end()
- process.exit(1)
- })
- r.on("end", function () {
- t.equal(children, 0, "should have seen all children")
- ended = true
- })
- var closed = false
- r.on("close", function () {
- t.ok(ended, "saw end before close")
- t.notOk(closed, "close should only happen once")
- closed = true
- t.end()
- })
- })
|