Sha256: d7a091c6c49b518aeee7a043374f3a0a5db9b9462a6a21111edf4c84219989cd
Contents?: true
Size: 1.99 KB
Versions: 75
Compression:
Stored size: 1.99 KB
Contents
var IgnoreFile = require("../") , fs = require('fs') // set the ignores just for this test var c = require("./common.js") c.ignores({ ".gitignore": ["a/b/c/abc"] }) c.ignores({ ".ignore": ["*", "!a/b/c/abc"] }) // the only files we expect to see var expected = [ "/a" , "/a/b" , "/a/b/c" , "/a/b/c/abc" ] var originalReadFile = fs.readFile , parallelCount = 0 , firstCall // Overwrite fs.readFile so that when .gitignore and .ignore are read in // parallel, .ignore will always be read first. fs.readFile = function (filename, options, callback) { if (typeof options === 'function') { callback = options options = false } parallelCount++ process.nextTick(function () { if (parallelCount > 1) { if (!firstCall) { return firstCall = function (cb) { originalReadFile(filename, options, function (err, data) { callback(err, data) if (cb) cb() }) } } if (filename.indexOf('.gitignore') !== -1) { firstCall(function () { originalReadFile(filename, options, callback) }) } else { originalReadFile(filename, options, function (err, data) { callback(err, data) firstCall() }) } } else { originalReadFile(filename, options, callback) parallelCount = 0 } }) } require("tap").test("read file order", function (t) { t.pass("start") IgnoreFile({ path: __dirname + "/fixtures" , ignoreFiles: [".gitignore", ".ignore"] }) .on("ignoreFile", function (e) { console.error("ignore file!", e) }) .on("child", function (e) { var p = e.path.substr(e.root.path.length) var i = expected.indexOf(p) if (i === -1) { t.fail("unexpected file found", {f: p}) } else { t.pass(p) expected.splice(i, 1) } }) .on("close", function () { fs.readFile = originalReadFile t.notOk(expected.length, "all expected files should be seen") t.end() }) })
Version data entries
75 entries across 75 versions & 3 rubygems