var assert = require("assert"); var path = require("path"); var local = path.join.bind(path, __dirname); describe("Attr", function() { var NodeGit = require("../../"); var Repository = NodeGit.Repository; var Attr = NodeGit.Attr; var Status = NodeGit.Status; var reposPath = local("../repos/workdir"); beforeEach(function() { var test = this; return Repository.open(reposPath) .then(function(repository) { test.repository = repository; }); }); it("can add a macro definition", function() { var error = Attr.addMacro(this.repository, "binary", "-diff -crlf"); assert.equal(error, 0); }); it("can flush the attr cache", function() { Attr.cacheFlush(this.repository); }); it("can lookup the value of a git attribute", function() { var flags = Status.SHOW.INDEX_AND_WORKDIR; return Attr.get(this.repository, flags, ".gitattributes", "test"); }); });