MCPcopy
hub / github.com/spf13/viper / TestDefaultCodecRegistry

Function TestDefaultCodecRegistry

encoding_test.go:20–105  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18}
19
20func TestDefaultCodecRegistry(t *testing.T) {
21 t.Run("OK", func(t *testing.T) {
22 registry := NewCodecRegistry()
23
24 c := codec{}
25
26 err := registry.RegisterCodec("myformat", c)
27 require.NoError(t, err)
28
29 encoder, err := registry.Encoder("myformat")
30 require.NoError(t, err)
31
32 assert.Equal(t, c, encoder)
33
34 decoder, err := registry.Decoder("myformat")
35 require.NoError(t, err)
36
37 assert.Equal(t, c, decoder)
38 })
39
40 t.Run("CodecNotFound", func(t *testing.T) {
41 registry := NewCodecRegistry()
42
43 _, err := registry.Encoder("myformat")
44 require.Error(t, err)
45
46 _, err = registry.Decoder("myformat")
47 require.Error(t, err)
48 })
49
50 t.Run("FormatIsCaseInsensitive", func(t *testing.T) {
51 registry := NewCodecRegistry()
52
53 c := codec{}
54
55 err := registry.RegisterCodec("MYFORMAT", c)
56 require.NoError(t, err)
57
58 {
59 encoder, err := registry.Encoder("myformat")
60 require.NoError(t, err)
61
62 assert.Equal(t, c, encoder)
63 }
64
65 {
66 encoder, err := registry.Encoder("MYFORMAT")
67 require.NoError(t, err)
68
69 assert.Equal(t, c, encoder)
70 }
71
72 {
73 decoder, err := registry.Decoder("myformat")
74 require.NoError(t, err)
75
76 assert.Equal(t, c, decoder)
77 }

Callers

nothing calls this directly

Calls 5

NewCodecRegistryFunction · 0.85
RegisterCodecMethod · 0.80
EncoderMethod · 0.65
DecoderMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected