Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit a870f75

Browse files
committed
Add simple tests for SeekObjectHeader.
Signed-off-by: Filip Navara <[email protected]>
1 parent 44c9b31 commit a870f75

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

plumbing/format/packfile/scanner.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func (s *Scanner) readCount() (uint32, error) {
141141
// SeekObjectHeader seeks to specified offset and returns the ObjectHeader
142142
// for the next object in the reader
143143
func (s *Scanner) SeekObjectHeader(offset int64) (*ObjectHeader, error) {
144-
// if seeking we assume that you are not interested on the header
144+
// if seeking we assume that you are not interested in the header
145145
if s.version == 0 {
146146
s.version = VersionSupported
147147
}
@@ -150,8 +150,8 @@ func (s *Scanner) SeekObjectHeader(offset int64) (*ObjectHeader, error) {
150150
return nil, err
151151
}
152152

153-
h, err := s.nextObjectHeader();
154-
if err != nil {
153+
h, err := s.nextObjectHeader()
154+
if err != nil {
155155
return nil, err
156156
}
157157

@@ -165,13 +165,13 @@ func (s *Scanner) NextObjectHeader() (*ObjectHeader, error) {
165165
return nil, err
166166
}
167167

168-
offset, err := s.r.Seek(0, io.SeekCurrent);
169-
if err != nil {
168+
offset, err := s.r.Seek(0, io.SeekCurrent)
169+
if err != nil {
170170
return nil, err
171171
}
172172

173-
h, err := s.nextObjectHeader();
174-
if err != nil {
173+
h, err := s.nextObjectHeader()
174+
if err != nil {
175175
return nil, err
176176
}
177177

@@ -346,7 +346,7 @@ var byteSlicePool = sync.Pool{
346346
// SeekFromStart sets a new offset from start, returns the old position before
347347
// the change.
348348
func (s *Scanner) SeekFromStart(offset int64) (previous int64, err error) {
349-
// if seeking we assume that you are not interested on the header
349+
// if seeking we assume that you are not interested in the header
350350
if s.version == 0 {
351351
s.version = VersionSupported
352352
}

plumbing/format/packfile/scanner_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,23 @@ func (s *ScannerSuite) TestNextObjectHeaderWithOutReadObjectNonSeekable(c *C) {
118118
c.Assert(n, Equals, f.PackfileHash)
119119
}
120120

121+
func (s *ScannerSuite) TestSeekObjectHeader(c *C) {
122+
r := fixtures.Basic().One().Packfile()
123+
p := NewScanner(r)
124+
125+
h, err := p.SeekObjectHeader(expectedHeadersOFS[4].Offset)
126+
c.Assert(err, IsNil)
127+
c.Assert(h, DeepEquals, &expectedHeadersOFS[4])
128+
}
129+
130+
func (s *ScannerSuite) TestSeekObjectHeaderNonSeekable(c *C) {
131+
r := io.MultiReader(fixtures.Basic().One().Packfile())
132+
p := NewScanner(r)
133+
134+
_, err := p.SeekObjectHeader(expectedHeadersOFS[4].Offset)
135+
c.Assert(err, Equals, ErrSeekNotSupported)
136+
}
137+
121138
var expectedHeadersOFS = []ObjectHeader{
122139
{Type: plumbing.CommitObject, Offset: 12, Length: 254},
123140
{Type: plumbing.OFSDeltaObject, Offset: 186, Length: 93, OffsetReference: 12},

0 commit comments

Comments
 (0)