1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-12-02 19:27:52 +01:00
gojekyll/utils/yaml_test.go

35 lines
734 B
Go
Raw Normal View History

2017-07-09 22:17:20 +02:00
package utils
2017-06-23 00:26:16 +02:00
import (
"testing"
"github.com/stretchr/testify/require"
)
const mapYaml = "a: 1\nb: 2"
const listYaml = "- a\n- b"
func TestUnmarshalYAML(t *testing.T) {
var d interface{}
err := UnmarshalYAMLInterface([]byte(mapYaml), &d)
require.NoError(t, err)
switch d := d.(type) {
case map[interface{}]interface{}:
require.Len(t, d, 2)
require.Equal(t, 1, d["a"])
default:
require.IsType(t, d, map[interface{}]interface{}{})
}
err = UnmarshalYAMLInterface([]byte(listYaml), &d)
require.NoError(t, err)
require.IsType(t, d, []interface{}{})
switch d := d.(type) {
case []interface{}:
require.Len(t, d, 2)
require.Equal(t, "a", d[0])
default:
require.IsType(t, d, map[interface{}]interface{}{})
}
}