ref: 61f6e9f63b0d2c8d7c3a2a88a3d2885c9a7d8165
parent: 904a3d9ddf523d452d04d0b5814503e0ff17bd2e
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Mar 20 14:23:32 EDT 2018
tpl/transform: Add a comments test for Remarshal See #4521
--- a/tpl/transform/remarshal_test.go
+++ b/tpl/transform/remarshal_test.go
@@ -108,6 +108,48 @@
}
+func TestRemarshalComments(t *testing.T) {
+ t.Parallel()
+
+ ns := New(newDeps(viper.New()))
+ assert := require.New(t)
+
+ input := `
+Hugo = "Rules"
+
+# It really does!
+
+[m]
+# A comment
+a = "b"
+
+`
+
+ expected := `
+Hugo = "Rules"
+
+[m]
+ a = "b"
+`
+
+ for _, format := range []string{"json", "yaml", "toml"} {
+ fromTo := fmt.Sprintf("%s => %s", "toml", format)
+
+ converted := input
+ var err error
+ // Do a round-trip conversion
+ for _, toFormat := range []string{format, "toml"} {
+ converted, err = ns.Remarshal(toFormat, converted)
+ assert.NoError(err, fromTo)
+ }
+
+ diff := helpers.DiffStrings(expected, converted)
+ if len(diff) > 0 {
+ t.Fatalf("[%s] Expected \n%v\ngot\n%v\ndiff:\n%v\n", fromTo, expected, converted, diff)
+ }
+ }
+}
+
func TestTestRemarshalError(t *testing.T) {
t.Parallel()