headers: merge parsing of key-values

This commit is contained in:
aler9
2021-04-04 14:52:28 +02:00
parent cbb47e158a
commit 5847b507d1
10 changed files with 328 additions and 131 deletions

View File

@@ -49,21 +49,43 @@ var casesSession = []struct {
}
func TestSessionRead(t *testing.T) {
for _, c := range casesSession {
t.Run(c.name, func(t *testing.T) {
for _, ca := range casesSession {
t.Run(ca.name, func(t *testing.T) {
var h Session
err := h.Read(c.vin)
err := h.Read(ca.vin)
require.NoError(t, err)
require.Equal(t, c.h, h)
require.Equal(t, ca.h, h)
})
}
}
func TestSessionReadError(t *testing.T) {
for _, ca := range []struct {
name string
hv base.HeaderValue
}{
{
"empty",
base.HeaderValue{},
},
{
"2 values",
base.HeaderValue{"a", "b"},
},
} {
t.Run(ca.name, func(t *testing.T) {
var h Session
err := h.Read(ca.hv)
require.Error(t, err)
})
}
}
func TestSessionWrite(t *testing.T) {
for _, c := range casesSession {
t.Run(c.name, func(t *testing.T) {
req := c.h.Write()
require.Equal(t, c.vout, req)
for _, ca := range casesSession {
t.Run(ca.name, func(t *testing.T) {
req := ca.h.Write()
require.Equal(t, ca.vout, req)
})
}
}