Vadim Markovtsev пре 6 година
родитељ
комит
1e8817de28
2 измењених фајлова са 25 додато и 1 уклоњено
  1. 14 1
      internal/burndown/file_test.go
  2. 11 0
      leaves/burndown_test.go

+ 14 - 1
internal/burndown/file_test.go

@@ -625,8 +625,19 @@ func TestFileMergeNoop(t *testing.T) {
 	file1.Update(4, 20, 10, 0)
 	// 0 0 | 20 4 | 30 1 | 50 0 | 130 -1        [0]: 100, [1]: 20, [4]: 10
 	file2 := file1.Clone(false)
+
 	dirty := file1.Merge(7, file2)
+	assert.True(t, dirty)
+	dirty = file1.Merge(7, file2)
+	assert.True(t, dirty)
+	file1.Hash = plumbing.NewHash("ffffffffffffffffffffffffffffffffffffffff")
+	file2.Hash = plumbing.NewHash("ffffffffffffffffffffffffffffffffffffffff")
+	dirty = file1.Merge(7, file2)
 	assert.False(t, dirty)
+	file2.Hash = plumbing.ZeroHash
+	dirty = file1.Merge(7, file2)
+	assert.True(t, dirty)
+
 	dump1 := file1.Dump()
 	dump2 := file2.Dump()
 	assert.Equal(t, dump1, dump2)
@@ -639,8 +650,10 @@ func TestFileMergeNoop(t *testing.T) {
 	file1.Update(TreeMergeMark, 60, 30, 30)
 	// 0 0 | 20 4 | 30 1 | 50 0 | 60 M | 90 0 | 130 -1
 	// [0]: 70, [1]: 20, [4]: 10
+	file1.Hash = plumbing.NewHash("ffffffffffffffffffffffffffffffffffffffff")
+	file2.Hash = plumbing.NewHash("ffffffffffffffffffffffffffffffffffffffff")
 	dirty = file1.Merge(7, file2)
-	// because the hashes are still the same
+	// because the hashes are the same
 	assert.False(t, dirty)
 }
 

+ 11 - 0
leaves/burndown_test.go

@@ -16,6 +16,7 @@ import (
 	"gopkg.in/src-d/go-git.v4/plumbing/object"
 	"gopkg.in/src-d/hercules.v4/internal/pb"
 	items "gopkg.in/src-d/hercules.v4/internal/plumbing"
+	file "gopkg.in/src-d/hercules.v4/internal/burndown"
 	"gopkg.in/src-d/hercules.v4/internal/plumbing/identity"
 	"gopkg.in/src-d/hercules.v4/internal/test"
 	)
@@ -203,6 +204,16 @@ func TestBurndownConsumeFinalize(t *testing.T) {
 	assert.Len(t, burndown2.peopleHistories, 0)
 	assert.Len(t, burndown2.fileHistories, 0)
 
+	// check merge hashes
+	burndown3 := BurndownAnalysis{}
+	burndown3.Initialize(test.Repository)
+	deps[items.DependencyDay] = file.TreeMergeMark
+	_, err = burndown3.Consume(deps)
+	assert.Nil(t, err)
+	assert.Equal(t, burndown3.files["cmd/hercules/main.go"].Hash, plumbing.ZeroHash)
+	assert.Equal(t, burndown3.files["analyser.go"].Hash, plumbing.ZeroHash)
+	assert.Equal(t, burndown3.files[".travis.yml"].Hash, plumbing.ZeroHash)
+
 	// stage 2
 	// 2b1ed978194a94edeabbca6de7ff3b5771d4d665
 	deps[identity.DependencyAuthor] = 1