diff --git a/helpers/pathname_test.go b/helpers/pathname_test.go new file mode 100644 index 0000000..f94694a --- /dev/null +++ b/helpers/pathname_test.go @@ -0,0 +1,12 @@ +package helpers + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestTrimExt(t *testing.T) { + require.Equal(t, "/a/b", TrimExt("/a/b.c")) + require.Equal(t, "/a/b", TrimExt("/a/b")) +} diff --git a/helpers/yaml_test.go b/helpers/yaml_test.go new file mode 100644 index 0000000..7aa4b7c --- /dev/null +++ b/helpers/yaml_test.go @@ -0,0 +1,34 @@ +package helpers + +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{}{}) + } +}