Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b09fa02

Browse filesBrowse files
committed
Add test for struct strarray in checkout
1 parent 5047566 commit b09fa02
Copy full SHA for b09fa02

File tree

Expand file treeCollapse file tree

1 file changed

+41
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+41
-0
lines changed
Open diff view settings
Collapse file

‎test/tests/checkout.js‎

Copy file name to clipboardExpand all lines: test/tests/checkout.js
+41Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
var assert = require("assert");
22
var path = require("path");
3+
var fse = require("fs-extra");
34
var local = path.join.bind(path, __dirname);
45

56
describe("Checkout", function() {
67
var NodeGit = require("../../");
78
var Repository = NodeGit.Repository;
89
var Checkout = NodeGit.Checkout;
910

11+
var readMeName = "README.md";
12+
var packageJsonName = "package.json";
1013
var packageJsonOid = "0fa56e90e096a4c24c785206b826ab914ea3de1e";
1114
var reposPath = local("../repos/workdir");
15+
var readMePath = local("../repos/workdir/" + readMeName);
16+
var packageJsonPath = local("../repos/workdir/" + packageJsonName);
1217

1318
beforeEach(function() {
1419
var test = this;
@@ -33,6 +38,42 @@ describe("Checkout", function() {
3338
});
3439
});
3540

41+
it("can force checkout a single file", function() {
42+
var test = this;
43+
44+
var packageContent = fse.readFileSync(packageJsonPath, "utf-8");
45+
var readmeContent = fse.readFileSync(readMePath, "utf-8");
46+
47+
assert.notEqual(packageContent, "");
48+
assert.notEqual(readmeContent, "");
49+
50+
fse.outputFileSync(readMePath, "");
51+
fse.outputFileSync(packageJsonPath, "");
52+
53+
var opts = {
54+
checkoutStrategy: Checkout.STRATEGY.FORCE,
55+
paths: packageJsonName
56+
};
57+
58+
return Checkout.head(test.repository, opts)
59+
.then(function() {
60+
var resetPackageContent = fse.readFileSync(packageJsonPath, "utf-8");
61+
var resetReadmeContent = fse.readFileSync(readMePath, "utf-8");
62+
63+
assert.equal(resetPackageContent, packageContent);
64+
assert.equal(resetReadmeContent, "");
65+
66+
var resetOpts = {
67+
checkoutStrategy: Checkout.STRATEGY.FORCE
68+
};
69+
70+
return Checkout.head(test.repository, resetOpts);
71+
}).then(function() {
72+
var resetContent = fse.readFileSync(readMePath, "utf-8");
73+
assert.equal(resetContent, readmeContent);
74+
});
75+
});
76+
3677
it("can checkout by tree", function() {
3778
var test = this;
3879

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.