]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
tpl/transform: Revert unmarshal whitespace removal
authorJoe Mooring <joe.mooring@veriphor.com>
Tue, 22 Oct 2024 00:46:53 +0000 (17:46 -0700)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 22 Oct 2024 07:42:40 +0000 (09:42 +0200)
Fixes #12977

tpl/transform/transform_integration_test.go
tpl/transform/unmarshal.go

index da8290e1777b780ee84a20204bc98b4027390ada..5f34ff81bf5891f96c814327397bc9458e247c5f 100644 (file)
@@ -248,7 +248,7 @@ func TestToMathMacros(t *testing.T) {
 -- hugo.toml --
 disableKinds = ['page','rss','section','sitemap','taxonomy','term']
 -- layouts/index.html --
-{{ $macros := dict 
+{{ $macros := dict
     "\\addBar" "\\bar{#1}"
        "\\bold" "\\mathbf{#1}"
 }}
@@ -261,3 +261,21 @@ disableKinds = ['page','rss','section','sitemap','taxonomy','term']
 <mi>y</mi>
        `)
 }
+
+// Issue #12977
+func TestUnmarshalWithIndentedYAML(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+disableKinds = ['page','rss','section','sitemap','taxonomy','term']
+-- layouts/index.html --
+{{ $yaml := "\n  a:\n    b: 1\n  c:\n    d: 2\n" }}
+{{ $yaml | transform.Unmarshal | encoding.Jsonify }}
+`
+
+       b := hugolib.Test(t, files)
+
+       b.AssertFileExists("public/index.html", true)
+       b.AssertFileContent("public/index.html", `{"a":{"b":1},"c":{"d":2}}`)
+}
index 0068947f6d5a19d98d489dae67272ee358ac6234..a3a9c040a471ba9fa7c14990ece97a724c42a77e 100644 (file)
@@ -112,9 +112,8 @@ func (ns *Namespace) Unmarshal(args ...any) (any, error) {
        if err != nil {
                return nil, fmt.Errorf("type %T not supported", data)
        }
-       dataStr = strings.TrimSpace(dataStr)
 
-       if dataStr == "" {
+       if strings.TrimSpace(dataStr) == "" {
                return nil, nil
        }