diff options
Diffstat (limited to 'plumbing/format/packfile/delta_test.go')
-rw-r--r-- | plumbing/format/packfile/delta_test.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/plumbing/format/packfile/delta_test.go b/plumbing/format/packfile/delta_test.go index 43253b0..9ee3499 100644 --- a/plumbing/format/packfile/delta_test.go +++ b/plumbing/format/packfile/delta_test.go @@ -2,6 +2,7 @@ package packfile import ( "fmt" + "math/rand" . "gopkg.in/check.v1" ) @@ -61,9 +62,25 @@ func (s *DeltaSuite) SetUpSuite(c *C) { {"4", 400}, {"5", 23}}, target: []piece{{"1", 30}, {"2", 20}, {"7", 40}, {"4", 400}, {"5", 10}}, + }, { + description: "A copy operation bigger tan 64kb", + base: []piece{{bigRandStr, 1}, {"1", 200}}, + target: []piece{{bigRandStr, 1}}, }} } +var bigRandStr = randStringBytes(100 * 1024) + +const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + +func randStringBytes(n int) string { + b := make([]byte, n) + for i := range b { + b[i] = letterBytes[rand.Intn(len(letterBytes))] + } + return string(b) +} + func (s *DeltaSuite) TestAddDelta(c *C) { for _, t := range s.testCases { baseBuf := genBytes(t.base) |