mirror of https://github.com/spf13/viper.git
test(encoding): add tests for codec registry implementation
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
parent
d2221e2ef9
commit
2a1765daf8
|
@ -36,4 +36,70 @@ func TestDefaultCodecRegistry(t *testing.T) {
|
||||||
|
|
||||||
assert.Equal(t, c, decoder)
|
assert.Equal(t, c, decoder)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("CodecNotFound", func(t *testing.T) {
|
||||||
|
registry := NewCodecRegistry()
|
||||||
|
|
||||||
|
_, err := registry.Encoder("myformat")
|
||||||
|
require.Error(t, err)
|
||||||
|
|
||||||
|
_, err = registry.Decoder("myformat")
|
||||||
|
require.Error(t, err)
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("FormatIsCaseInsensitive", func(t *testing.T) {
|
||||||
|
registry := NewCodecRegistry()
|
||||||
|
|
||||||
|
c := codec{}
|
||||||
|
|
||||||
|
err := registry.RegisterCodec("MYFORMAT", c)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
{
|
||||||
|
encoder, err := registry.Encoder("myformat")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, encoder)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
encoder, err := registry.Encoder("MYFORMAT")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, encoder)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
decoder, err := registry.Decoder("myformat")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, decoder)
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
decoder, err := registry.Decoder("MYFORMAT")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, decoder)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("OverrideDefault", func(t *testing.T) {
|
||||||
|
registry := NewCodecRegistry()
|
||||||
|
|
||||||
|
c := codec{}
|
||||||
|
|
||||||
|
err := registry.RegisterCodec("yaml", c)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
encoder, err := registry.Encoder("yaml")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, encoder)
|
||||||
|
|
||||||
|
decoder, err := registry.Decoder("yaml")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, c, decoder)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue