blob: a9ede59ca7d0aa6d305894f97b7fe4177c09df41 [file] [log] [blame]
// ignore most things
var IgnoreFile = require("../")
// set the ignores just for this test
var c = require("./common.js")
c.ignores(
{ ".ignore": ["*", "a", "c", "!a/b/c/.abc", "!/c/b/a/cba"]
, "a/.ignore": [ "!*", ".ignore" ] // unignore everything
, "a/a/.ignore": [ "*" ] // re-ignore everything
, "a/b/.ignore": [ "*", "!/c/.abc" ] // original unignore
, "a/c/.ignore": [ "*" ] // ignore everything again
, "c/b/a/.ignore": [ "!cba", "!.cba", "!/a{bc,cb}" ]
})
// the only files we expect to see
var expected =
[ "/a"
, "/a/a"
, "/a/b"
, "/a/b/c"
, "/a/b/c/.abc"
, "/a/c"
, "/c"
, "/c/b"
, "/c/b/a"
, "/c/b/a/cba"
, "/c/b/a/.cba"
, "/c/b/a/abc"
, "/c/b/a/acb" ]
require("tap").test("basic ignore rules", function (t) {
t.pass("start")
IgnoreFile({ path: __dirname + "/fixtures"
, ignoreFiles: [".ignore"] })
.on("child", function (e) {
var p = e.path.substr(e.root.path.length)
var i = expected.indexOf(p)
if (i === -1) {
console.log("not ok "+p)
t.fail("unexpected file found", {found: p})
} else {
t.pass(p)
expected.splice(i, 1)
}
})
.on("close", function () {
t.deepEqual(expected, [], "all expected files should be seen")
t.end()
})
})