Merge pull request #1796 from zhaque44/test-with-index

chore: Enhance Digester test coverage with edge case scenarios
This commit is contained in:
Matheus Pimenta 2025-05-09 15:30:13 +01:00 committed by GitHub
commit 0058004a83
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 44 additions and 9 deletions

View File

@ -49,6 +49,13 @@ func TestWithIndex(t *testing.T) {
g.Expect(d.digests).To(BeEmpty())
})
t.Run("handles nil index", func(t *testing.T) {
g := NewWithT(t)
d := &Digester{}
WithIndex(nil)(d)
g.Expect(d.index).To(BeNil())
})
}
func TestNewDigester(t *testing.T) {
@ -107,6 +114,13 @@ func TestDigester_Add(t *testing.T) {
g.Expect(d.digests).To(BeEmpty())
})
t.Run("adds empty key and value", func(t *testing.T) {
g := NewWithT(t)
d := NewDigester()
d.Add("", "")
g.Expect(d.index).To(HaveKeyWithValue("", ""))
})
}
func TestDigester_Delete(t *testing.T) {
@ -138,6 +152,14 @@ func TestDigester_Delete(t *testing.T) {
d.Delete("foo")
g.Expect(d.digests).To(BeEmpty())
})
t.Run("deletes non-existent key without error", func(t *testing.T) {
g := NewWithT(t)
d := NewDigester()
d.Delete("non-existent")
g.Expect(d.index).To(BeEmpty())
g.Expect(d.digests).To(BeEmpty())
})
}
func TestDigester_Get(t *testing.T) {
@ -161,17 +183,26 @@ func TestDigester_Has(t *testing.T) {
}
func TestDigester_Index(t *testing.T) {
g := NewWithT(t)
t.Run("returns a copy of the index", func(t *testing.T) {
g := NewWithT(t)
i := map[string]string{
"foo": "bar",
"bar": "baz",
}
d := NewDigester(WithIndex(i))
i := map[string]string{
"foo": "bar",
"bar": "baz",
}
d := NewDigester(WithIndex(i))
iCopy := d.Index()
g.Expect(iCopy).To(Equal(i))
g.Expect(iCopy).ToNot(BeIdenticalTo(i))
iCopy := d.Index()
g.Expect(iCopy).To(Equal(i))
g.Expect(iCopy).ToNot(BeIdenticalTo(i))
})
t.Run("returns an empty copy for an empty index", func(t *testing.T) {
g := NewWithT(t)
d := NewDigester()
emptyIndex := d.Index()
g.Expect(emptyIndex).To(BeEmpty())
})
}
func TestDigester_Len(t *testing.T) {
@ -183,6 +214,8 @@ func TestDigester_Len(t *testing.T) {
}))
g.Expect(d.Len()).To(Equal(2))
g.Expect(NewDigester().Len()).To(Equal(0))
}
func TestDigester_String(t *testing.T) {
@ -196,6 +229,8 @@ func TestDigester_String(t *testing.T) {
g.Expect(d.String()).To(Equal(`bar baz
foo bar
`))
g.Expect(NewDigester().String()).To(Equal(""))
}
func TestDigester_WriteTo(t *testing.T) {