Merge pull request #1796 from zhaque44/test-with-index
chore: Enhance Digester test coverage with edge case scenarios
This commit is contained in:
commit
0058004a83
|
@ -49,6 +49,13 @@ func TestWithIndex(t *testing.T) {
|
||||||
|
|
||||||
g.Expect(d.digests).To(BeEmpty())
|
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) {
|
func TestNewDigester(t *testing.T) {
|
||||||
|
@ -107,6 +114,13 @@ func TestDigester_Add(t *testing.T) {
|
||||||
|
|
||||||
g.Expect(d.digests).To(BeEmpty())
|
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) {
|
func TestDigester_Delete(t *testing.T) {
|
||||||
|
@ -138,6 +152,14 @@ func TestDigester_Delete(t *testing.T) {
|
||||||
d.Delete("foo")
|
d.Delete("foo")
|
||||||
g.Expect(d.digests).To(BeEmpty())
|
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) {
|
func TestDigester_Get(t *testing.T) {
|
||||||
|
@ -161,17 +183,26 @@ func TestDigester_Has(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDigester_Index(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{
|
i := map[string]string{
|
||||||
"foo": "bar",
|
"foo": "bar",
|
||||||
"bar": "baz",
|
"bar": "baz",
|
||||||
}
|
}
|
||||||
d := NewDigester(WithIndex(i))
|
d := NewDigester(WithIndex(i))
|
||||||
|
|
||||||
iCopy := d.Index()
|
iCopy := d.Index()
|
||||||
g.Expect(iCopy).To(Equal(i))
|
g.Expect(iCopy).To(Equal(i))
|
||||||
g.Expect(iCopy).ToNot(BeIdenticalTo(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) {
|
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(d.Len()).To(Equal(2))
|
||||||
|
|
||||||
|
g.Expect(NewDigester().Len()).To(Equal(0))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDigester_String(t *testing.T) {
|
func TestDigester_String(t *testing.T) {
|
||||||
|
@ -196,6 +229,8 @@ func TestDigester_String(t *testing.T) {
|
||||||
g.Expect(d.String()).To(Equal(`bar baz
|
g.Expect(d.String()).To(Equal(`bar baz
|
||||||
foo bar
|
foo bar
|
||||||
`))
|
`))
|
||||||
|
|
||||||
|
g.Expect(NewDigester().String()).To(Equal(""))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDigester_WriteTo(t *testing.T) {
|
func TestDigester_WriteTo(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue