MCPcopy
hub / github.com/go-git/go-git / TestParseTree

Method TestParseTree

plumbing/object/object_test.go:83–111  ·  view source on GitHub ↗
(c *C)

Source from the content-addressed store, hash-verified

81}
82
83func (s *ObjectsSuite) TestParseTree(c *C) {
84 hash := plumbing.NewHash("a8d315b2b1c615d43042c3a62402b8a54288cf5c")
85 tree, err := GetTree(s.Storer, hash)
86 c.Assert(err, IsNil)
87
88 c.Assert(tree.Entries, HasLen, 8)
89
90 entry, err := tree.entry(".gitignore")
91 c.Assert(err, IsNil)
92 c.Assert(entry.Name, Equals, ".gitignore")
93 c.Assert(entry.Mode, Equals, filemode.Regular)
94 c.Assert(entry.Hash.String(), Equals, "32858aad3c383ed1ff0a0f9bdf231d54a00c9e88")
95
96 count := 0
97 iter := tree.Files()
98 defer iter.Close()
99 for f, err := iter.Next(); err == nil; f, err = iter.Next() {
100 count++
101 if f.Name == "go/example.go" {
102 reader, err := f.Reader()
103 c.Assert(err, IsNil)
104 defer func() { c.Assert(reader.Close(), IsNil) }()
105 content, _ := io.ReadAll(reader)
106 c.Assert(content, HasLen, 2780)
107 }
108 }
109
110 c.Assert(count, Equals, 9)
111}
112
113func (s *ObjectsSuite) TestParseSignature(c *C) {
114 cases := map[string]Signature{

Callers

nothing calls this directly

Calls 8

NewHashFunction · 0.92
GetTreeFunction · 0.85
StringMethod · 0.65
FilesMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.65
ReaderMethod · 0.65
entryMethod · 0.45

Tested by

no test coverage detected