koding / multiconfig

Load configuration from multiple sources in Go
http://godoc.org/github.com/koding/multiconfig
MIT License
454 stars 64 forks source link

Default values for slices of embedded structs are not working #67

Open ajanata opened 6 years ago

ajanata commented 6 years ago

Similar to #13, but the problem is if you have a slice of a struct, the default values aren't getting applied. I took a stab at trying to figure out what's going on here, but didn't really get anywhere productive.

cihangir commented 6 years ago

Hey @ajanata could you please share an example config/struct that fails?

ajanata commented 6 years ago

Hi @cihangir,

I've made a branch that contains a test case for this: https://github.com/ajanata/multiconfig/commit/f9657feea2708ee9ee37ca8bb070879105603808

It fails as such:

defaultslice_test.go:90: Test file defaultslice.toml, NestedField value is wrong: , want: nested
defaultslice_test.go:90: Test file defaultslice.json, NestedField value is wrong: , want: nested
defaultslice_test.go:90: Test file defaultslice.yaml, NestedField value is wrong: , want: nested

I also used the same struct directly, not as a slice, and the default value tag works as intended there (and is also tested).