mirror of
https://github.com/spf13/viper
synced 2024-12-23 03:57:01 +00:00
add test structure for hcl
This commit is contained in:
parent
c97c5cf59e
commit
d48326bfe9
1 changed files with 34 additions and 3 deletions
|
@ -65,7 +65,20 @@ id = "0001"
|
||||||
type = "donut"
|
type = "donut"
|
||||||
name = "Cake"
|
name = "Cake"
|
||||||
ppu = 0.55
|
ppu = 0.55
|
||||||
`)
|
foos {
|
||||||
|
foo {
|
||||||
|
key = 1
|
||||||
|
}
|
||||||
|
foo {
|
||||||
|
key = 2
|
||||||
|
}
|
||||||
|
foo {
|
||||||
|
key = 3
|
||||||
|
}
|
||||||
|
foo {
|
||||||
|
key = 4
|
||||||
|
}
|
||||||
|
}`)
|
||||||
|
|
||||||
var propertiesExample = []byte(`
|
var propertiesExample = []byte(`
|
||||||
p_id: 0001
|
p_id: 0001
|
||||||
|
@ -387,9 +400,9 @@ func TestSetEnvReplacer(t *testing.T) {
|
||||||
func TestAllKeys(t *testing.T) {
|
func TestAllKeys(t *testing.T) {
|
||||||
initConfigs()
|
initConfigs()
|
||||||
|
|
||||||
ks := sort.StringSlice{"title", "newkey", "owner", "name", "beard", "ppu", "batters", "hobbies", "clothing", "age", "hacker", "id", "type", "eyes", "p_id", "p_ppu", "p_batters.batter.type", "p_type", "p_name"}
|
ks := sort.StringSlice{"title", "newkey", "owner", "name", "beard", "ppu", "batters", "hobbies", "clothing", "age", "hacker", "id", "type", "eyes", "p_id", "p_ppu", "p_batters.batter.type", "p_type", "p_name", "foos"}
|
||||||
dob, _ := time.Parse(time.RFC3339, "1979-05-27T07:32:00Z")
|
dob, _ := time.Parse(time.RFC3339, "1979-05-27T07:32:00Z")
|
||||||
all := map[string]interface{}{"owner": map[string]interface{}{"organization": "MongoDB", "Bio": "MongoDB Chief Developer Advocate & Hacker at Large", "dob": dob}, "title": "TOML Example", "ppu": 0.55, "eyes": "brown", "clothing": map[interface{}]interface{}{"trousers": "denim", "jacket": "leather", "pants": map[interface{}]interface{}{"size": "large"}}, "id": "0001", "batters": map[string]interface{}{"batter": []interface{}{map[string]interface{}{"type": "Regular"}, map[string]interface{}{"type": "Chocolate"}, map[string]interface{}{"type": "Blueberry"}, map[string]interface{}{"type": "Devil's Food"}}}, "hacker": true, "beard": true, "hobbies": []interface{}{"skateboarding", "snowboarding", "go"}, "age": 35, "type": "donut", "newkey": "remote", "name": "Cake", "p_id": "0001", "p_ppu": "0.55", "p_name": "Cake", "p_batters.batter.type": "Regular", "p_type": "donut"}
|
all := map[string]interface{}{"owner": map[string]interface{}{"organization": "MongoDB", "Bio": "MongoDB Chief Developer Advocate & Hacker at Large", "dob": dob}, "title": "TOML Example", "ppu": 0.55, "eyes": "brown", "clothing": map[interface{}]interface{}{"trousers": "denim", "jacket": "leather", "pants": map[interface{}]interface{}{"size": "large"}}, "id": "0001", "batters": map[string]interface{}{"batter": []interface{}{map[string]interface{}{"type": "Regular"}, map[string]interface{}{"type": "Chocolate"}, map[string]interface{}{"type": "Blueberry"}, map[string]interface{}{"type": "Devil's Food"}}}, "hacker": true, "beard": true, "hobbies": []interface{}{"skateboarding", "snowboarding", "go"}, "age": 35, "type": "donut", "newkey": "remote", "name": "Cake", "p_id": "0001", "p_ppu": "0.55", "p_name": "Cake", "p_batters.batter.type": "Regular", "p_type": "donut", "foos": []map[string]interface{}{map[string]interface{}{"foo": []map[string]interface{}{map[string]interface{}{"key": 1}, map[string]interface{}{"key": 2}, map[string]interface{}{"key": 3}, map[string]interface{}{"key": 4}}}}}
|
||||||
|
|
||||||
var allkeys sort.StringSlice
|
var allkeys sort.StringSlice
|
||||||
allkeys = AllKeys()
|
allkeys = AllKeys()
|
||||||
|
@ -618,6 +631,24 @@ func TestFindsNestedKeys(t *testing.T) {
|
||||||
"clothing.trousers": "denim",
|
"clothing.trousers": "denim",
|
||||||
"owner.dob": dob,
|
"owner.dob": dob,
|
||||||
"beard": true,
|
"beard": true,
|
||||||
|
"foos": []map[string]interface{}{
|
||||||
|
map[string]interface{}{
|
||||||
|
"foo": []map[string]interface{}{
|
||||||
|
map[string]interface{}{
|
||||||
|
"key": 1,
|
||||||
|
},
|
||||||
|
map[string]interface{}{
|
||||||
|
"key": 2,
|
||||||
|
},
|
||||||
|
map[string]interface{}{
|
||||||
|
"key": 3,
|
||||||
|
},
|
||||||
|
map[string]interface{}{
|
||||||
|
"key": 4,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for key, expectedValue := range expected {
|
for key, expectedValue := range expected {
|
||||||
|
|
Loading…
Reference in a new issue