MCPcopy Index your code
hub / github.com/coldbrewcloud/coldbrew-cli / TestConfig_Defaults

Function TestConfig_Defaults

config/load_test.go:75–184  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

73}
74
75func TestConfig_Defaults(t *testing.T) {
76 // defaulting with nil: should not change anything
77 conf := testClone(refConfig)
78 conf.Defaults(nil)
79 assert.Equal(t, refConfig, conf)
80
81 // test envs (other attributes test covered by def* tests)
82 conf1 := &Config{}
83 conf2 := &Config{Env: map[string]string{
84 "key1": "value1",
85 "key2": "value2",
86 }}
87 conf3 := &Config{Env: map[string]string{
88 "key2": "value2-2",
89 "key3": "value3",
90 }}
91 conf1.Defaults(conf2)
92 assert.Len(t, conf1.Env, 2)
93 assert.Equal(t, "value1", conf1.Env["key1"])
94 assert.Equal(t, "value2", conf1.Env["key2"])
95 conf2.Defaults(conf3)
96 assert.Len(t, conf2.Env, 3)
97 assert.Equal(t, "value1", conf2.Env["key1"])
98 assert.Equal(t, "value2-2", conf2.Env["key2"])
99 assert.Equal(t, "value3", conf2.Env["key3"])
100
101 // test defS()
102 obj1 := &testObject{}
103 obj2 := &testObject{String: conv.SP("foo")}
104 obj3 := &testObject{String: conv.SP("bar")}
105 defS(&obj1.String, obj2.String)
106 assert.Equal(t, "foo", conv.S(obj1.String))
107 assert.Equal(t, "foo", conv.S(obj2.String))
108 defS(&obj1.String, obj2.String)
109 assert.Equal(t, "foo", conv.S(obj2.String))
110 assert.Equal(t, "bar", conv.S(obj3.String))
111 obj1 = &testObject{}
112 obj2 = &testObject{}
113 defS(&obj1.String, obj2.String)
114 assert.Nil(t, obj1.String)
115 assert.Nil(t, obj2.String)
116 obj1 = &testObject{String: conv.SP("foo")}
117 obj2 = &testObject{}
118 defS(&obj1.String, obj2.String)
119 assert.Equal(t, "foo", conv.S(obj1.String))
120 assert.Nil(t, obj2.String)
121
122 // test defB()
123 obj1 = &testObject{}
124 obj2 = &testObject{Bool: conv.BP(true)}
125 obj3 = &testObject{Bool: conv.BP(false)}
126 defB(&obj1.Bool, obj2.Bool)
127 assert.Equal(t, true, conv.B(obj1.Bool))
128 assert.Equal(t, true, conv.B(obj2.Bool))
129 defB(&obj1.Bool, obj2.Bool)
130 assert.Equal(t, true, conv.B(obj2.Bool))
131 assert.Equal(t, false, conv.B(obj3.Bool))
132 obj1 = &testObject{}

Callers

nothing calls this directly

Calls 6

DefaultsMethod · 0.95
testCloneFunction · 0.85
defSFunction · 0.85
defBFunction · 0.85
defU16Function · 0.85
defF64Function · 0.85

Tested by

no test coverage detected