Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
New and updated tests
  • Loading branch information
orderedlist committed Feb 10, 2015
commit 876aafa39baa7d14528e8f844e2cea8893218491
36 changes: 30 additions & 6 deletions test/tests/diff.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ var fse = promisify(require("fs-extra"));
var local = path.join.bind(path, __dirname);

describe("Diff", function() {
var NodeGit = require("../../");
var Repository = require(local("../../lib/repository"));
var Diff = require(local("../../lib/diff"));
var normalizeOptions = require(local("../../lib/util/normalize_options"));

var reposPath = local("../repos/workdir/.git");
var oid = "fce88902e66c72b5b93e75bdb5ae717038b221f6";
Expand All @@ -22,7 +20,12 @@ describe("Diff", function() {
return Repository.open(reposPath).then(function(repository) {
test.repository = repository;

return repository.getBranchCommit("master");
return repository.openIndex();
})
.then(function(index) {
test.index = index;

return test.repository.getBranchCommit("master");
})
.then(function(masterCommit) {
return masterCommit.getTree();
Expand All @@ -46,14 +49,20 @@ describe("Diff", function() {
return Diff.treeToWorkdirWithIndex(
test.repository,
test.masterCommitTree,
normalizeOptions({
flags: Diff.OPTION.INCLUDE_UNTRACKED
}, NodeGit.DiffOptions)
{ flags: Diff.OPTION.INCLUDE_UNTRACKED }
);
})
.then(function(workdirDiff) {
test.workdirDiff = workdirDiff;
})
.then(function() {
var opts = { flags: Diff.OPTION.INCLUDE_UNTRACKED };

return Diff.indexToWorkdir(test.repository, test.index, opts);
})
.then(function(diff) {
test.indexToWorkdirDiff = diff;
})
.then(function() {
return fse.remove(diffFilepath);
})
Expand Down Expand Up @@ -129,4 +138,19 @@ describe("Diff", function() {
assert.equal(diffs[0].patches().length, 8);
});
});

it("can diff tree to index", function() {
var repo = this.repository;
var tree = this.masterCommitTree;
var index = this.index;
var opts = { flags: Diff.OPTION.INCLUDE_UNTRACKED };

return Diff.treeToIndex(repo, tree, index, opts).then(function(diff) {
assert.equal(diff.patches().length, 0);
});
});

it("can diff index to workdir", function() {
assert.equal(this.indexToWorkdirDiff.patches().length, 1);
});
});