From 921e59b676693c0e7ab29da629bed92eb6e4be2d Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Mon, 21 Oct 2024 17:46:53 -0700 Subject: [PATCH] tpl/transform: Revert unmarshal whitespace removal Fixes #12977 --- tpl/transform/transform_integration_test.go | 20 +++++++++++++++++++- tpl/transform/unmarshal.go | 3 +-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/tpl/transform/transform_integration_test.go b/tpl/transform/transform_integration_test.go index da8290e1777..5f34ff81bf5 100644 --- a/tpl/transform/transform_integration_test.go +++ b/tpl/transform/transform_integration_test.go @@ -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'] y `) } + +// 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}}`) +} diff --git a/tpl/transform/unmarshal.go b/tpl/transform/unmarshal.go index 0068947f6d5..a3a9c040a47 100644 --- a/tpl/transform/unmarshal.go +++ b/tpl/transform/unmarshal.go @@ -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 }