diff options
Diffstat (limited to 'config/defaultConfigProvider_test.go')
-rw-r--r-- | config/defaultConfigProvider_test.go | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/config/defaultConfigProvider_test.go b/config/defaultConfigProvider_test.go index cd6247e60..204861216 100644 --- a/config/defaultConfigProvider_test.go +++ b/config/defaultConfigProvider_test.go @@ -17,6 +17,7 @@ import ( "context" "errors" "fmt" + "slices" "strconv" "strings" "testing" @@ -353,6 +354,90 @@ func TestDefaultConfigProvider(t *testing.T) { c.Assert(r.Wait(), qt.IsNil) }) + + c.Run("GetBool", func(c *qt.C) { + cfg := New() + + var k string + var v bool + + k, v = "foo", true + + cfg.Set(k, v) + c.Assert(cfg.Get(k), qt.Equals, v) + c.Assert(cfg.GetBool(k), qt.Equals, v) + }) + + c.Run("GetParams", func(c *qt.C) { + cfg := New() + k := "foo" + + cfg.Set(k, maps.Params{k: true}) + c.Assert(cfg.GetParams(k), qt.DeepEquals, maps.Params{ + k: true, + }) + + c.Assert(cfg.GetParams("bar"), qt.IsNil) + }) + + c.Run("Keys", func(c *qt.C) { + cfg := New() + k := "foo" + k2 := "bar" + + cfg.Set(k, maps.Params{k: struct{}{}}) + cfg.Set(k2, maps.Params{k2: struct{}{}}) + + c.Assert(len(cfg.Keys()), qt.Equals, 2) + + got := cfg.Keys() + slices.Sort(got) + + want := []string{k, k2} + slices.Sort(want) + + c.Assert(got, qt.DeepEquals, want) + }) + + c.Run("WalkParams", func(c *qt.C) { + cfg := New() + + cfg.Set("x", maps.Params{}) + cfg.Set("y", maps.Params{}) + + var got []string + cfg.WalkParams(func(params ...maps.KeyParams) bool { + got = append(got, params[len(params)-1].Key) + return false + }) + + want := []string{"", "x", "y"} + slices.Sort(got) + slices.Sort(want) + + c.Assert(got, qt.DeepEquals, want) + + cfg = New() + cfg.WalkParams(func(params ...maps.KeyParams) bool { + return true + }) + + got = []string{""} + want = []string{""} + c.Assert(got, qt.DeepEquals, want) + }) + + c.Run("SetDefaults", func(c *qt.C) { + cfg := New() + + cfg.SetDefaults(maps.Params{ + "foo": "bar", + "bar": "baz", + }) + + c.Assert(cfg.Get("foo"), qt.Equals, "bar") + c.Assert(cfg.Get("bar"), qt.Equals, "baz") + }) } func BenchmarkDefaultConfigProvider(b *testing.B) { |