summaryrefslogtreecommitdiff
path: root/repository_test.go
diff options
context:
space:
mode:
authorByoungchan Lee <[email protected]>2021-02-04 12:33:03 +0900
committerGitHub <[email protected]>2021-02-03 19:33:03 -0800
commit2fd0495c43c4a54a02e2bbfca886687621f83f9f (patch)
tree8a5df245daaa8f2fee8fc9c115ab276dab24eb6f /repository_test.go
parent73d97b9bbe7c9a7747af20aad670baba33b5e390 (diff)
Implement git_repository_set_config (#735)
Closes #732
Diffstat (limited to 'repository_test.go')
-rw-r--r--repository_test.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/repository_test.go b/repository_test.go
index 1950c69..5a0f920 100644
--- a/repository_test.go
+++ b/repository_test.go
@@ -40,3 +40,55 @@ func TestCreateCommitFromIds(t *testing.T) {
t.Errorf("mismatched commit ids, expected %v, got %v", expectedCommitId.String(), commitId.String())
}
}
+
+func TestRepositorySetConfig(t *testing.T) {
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ loc, err := time.LoadLocation("Europe/Berlin")
+ checkFatal(t, err)
+ sig := &Signature{
+ Name: "Rand Om Hacker",
+ Email: "[email protected]",
+ When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
+ }
+
+ idx, err := repo.Index()
+ checkFatal(t, err)
+ err = idx.AddByPath("README")
+
+ treeId, err := idx.WriteTree()
+ checkFatal(t, err)
+
+ message := "This is a commit\n"
+ tree, err := repo.LookupTree(treeId)
+ checkFatal(t, err)
+ _, err = repo.CreateCommit("HEAD", sig, sig, message, tree)
+ checkFatal(t, err)
+
+ repoConfig, err := repo.Config()
+ checkFatal(t, err)
+
+ temp := Config{}
+ localConfig, err := temp.OpenLevel(repoConfig, ConfigLevelLocal)
+ checkFatal(t, err)
+ repoConfig = nil
+
+ err = repo.SetConfig(localConfig)
+ checkFatal(t, err)
+
+ configFieldName := "core.filemode"
+ err = localConfig.SetBool(configFieldName, true)
+ checkFatal(t, err)
+
+ localConfig = nil
+
+ repoConfig, err = repo.Config()
+ checkFatal(t, err)
+
+ result, err := repoConfig.LookupBool(configFieldName)
+ checkFatal(t, err)
+ if result != true {
+ t.Fatal("result must be true")
+ }
+}