github.com/DominikUrban/viper@v0.0.0-20220730150717-aaf74638bd32/internal/encoding/yaml/yaml2_test.go (about) 1 //go:build viper_yaml2 2 // +build viper_yaml2 3 4 package yaml 5 6 // original form of the data 7 const original = `# key-value pair 8 key: value 9 list: 10 - item1 11 - item2 12 - item3 13 map: 14 key: value 15 16 # nested 17 # map 18 nested_map: 19 map: 20 key: value 21 list: 22 - item1 23 - item2 24 - item3 25 ` 26 27 // encoded form of the data 28 const encoded = `key: value 29 list: 30 - item1 31 - item2 32 - item3 33 map: 34 key: value 35 nested_map: 36 map: 37 key: value 38 list: 39 - item1 40 - item2 41 - item3 42 ` 43 44 // decoded form of the data 45 // 46 // in case of YAML it's slightly different from Viper's internal representation 47 // (eg. map is decoded into a map with interface key) 48 var decoded = map[string]interface{}{ 49 "key": "value", 50 "list": []interface{}{ 51 "item1", 52 "item2", 53 "item3", 54 }, 55 "map": map[interface{}]interface{}{ 56 "key": "value", 57 }, 58 "nested_map": map[interface{}]interface{}{ 59 "map": map[interface{}]interface{}{ 60 "key": "value", 61 "list": []interface{}{ 62 "item1", 63 "item2", 64 "item3", 65 }, 66 }, 67 }, 68 } 69 70 // Viper's internal representation 71 var data = map[string]interface{}{ 72 "key": "value", 73 "list": []interface{}{ 74 "item1", 75 "item2", 76 "item3", 77 }, 78 "map": map[string]interface{}{ 79 "key": "value", 80 }, 81 "nested_map": map[string]interface{}{ 82 "map": map[string]interface{}{ 83 "key": "value", 84 "list": []interface{}{ 85 "item1", 86 "item2", 87 "item3", 88 }, 89 }, 90 }, 91 }