diff options
Diffstat (limited to 'config/config_test.go')
-rw-r--r-- | config/config_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/config/config_test.go b/config/config_test.go index 5a88c19..8108a94 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -4,6 +4,7 @@ import ( "io/ioutil" "os" "path/filepath" + "strings" "github.com/go-git/go-git/v5/plumbing" . "gopkg.in/check.v1" @@ -46,6 +47,8 @@ func (s *ConfigSuite) TestUnmarshal(c *C) { [branch "master"] remote = origin merge = refs/heads/master +[init] + defaultBranch = main `) cfg := NewConfig() @@ -77,6 +80,7 @@ func (s *ConfigSuite) TestUnmarshal(c *C) { c.Assert(cfg.Submodules["qux"].Branch, Equals, "bar") c.Assert(cfg.Branches["master"].Remote, Equals, "origin") c.Assert(cfg.Branches["master"].Merge, Equals, plumbing.ReferenceName("refs/heads/master")) + c.Assert(cfg.Init.DefaultBranch, Equals, "main") } func (s *ConfigSuite) TestMarshal(c *C) { @@ -99,12 +103,15 @@ func (s *ConfigSuite) TestMarshal(c *C) { [branch "master"] remote = origin merge = refs/heads/master +[init] + defaultBranch = main `) cfg := NewConfig() cfg.Core.IsBare = true cfg.Core.Worktree = "bar" cfg.Pack.Window = 20 + cfg.Init.DefaultBranch = "main" cfg.Remotes["origin"] = &RemoteConfig{ Name: "origin", URLs: []string{"git@github.com:mcuadros/go-git.git"}, @@ -315,3 +322,29 @@ func (s *ConfigSuite) TestRemoteConfigDefaultValues(c *C) { c.Assert(config.Raw, NotNil) c.Assert(config.Pack.Window, Equals, DefaultPackWindow) } + +func (s *ConfigSuite) TestLoadConfigLocalScope(c *C) { + cfg, err := LoadConfig(LocalScope) + c.Assert(err, NotNil) + c.Assert(cfg, IsNil) +} + +func (s *ConfigSuite) TestRemoveUrlOptions(c *C) { + buf := []byte(` +[remote "alt"] + url = git@github.com:mcuadros/go-git.git + url = git@github.com:src-d/go-git.git + fetch = +refs/heads/*:refs/remotes/origin/* + fetch = +refs/pull/*:refs/remotes/origin/pull/*`) + + cfg := NewConfig() + err := cfg.Unmarshal(buf) + c.Assert(err, IsNil) + c.Assert(len(cfg.Remotes), Equals, 1) + cfg.Remotes["alt"].URLs = []string{} + + buf, err = cfg.Marshal() + if strings.Contains(string(buf), "url") { + c.Fatal("conifg should not contain any url sections") + } +} |