Repository: gohugoio/hugo (language: go)

Issue:
Return integrity value as string
This isn't broken, but it isn't right either. The `template.HTMLAttr` type is applicable to a key/value pair, not just the value.

https://github.com/gohugoio/hugo/blob/3af8bded26db1fa4c0ab292139371802a14026dc/resources/resource_transformers/integrity/integrity.go#L112-L115

Return a string instead.


Discussion / hints:

Fix patch:
diff --git a/resources/resource_transformers/integrity/integrity.go b/resources/resource_transformers/integrity/integrity.go
index 3a7db4c8078..63f4f4c7688 100644
--- a/resources/resource_transformers/integrity/integrity.go
+++ b/resources/resource_transformers/integrity/integrity.go
@@ -21,7 +21,6 @@ import (
 	"encoding/hex"
 	"fmt"
 	"hash"
-	"html/template"
 	"io"
 
 	"github.com/gohugoio/hugo/resources/internal"
@@ -109,9 +108,9 @@ func (c *Client) Fingerprint(res resources.ResourceTransformer, algo string) (re
 	return res.Transform(&fingerprintTransformation{algo: algo})
 }
 
-func integrity(algo string, sum []byte) template.HTMLAttr {
+func integrity(algo string, sum []byte) string {
 	encoded := base64.StdEncoding.EncodeToString(sum)
-	return template.HTMLAttr(algo + "-" + encoded)
+	return algo + "-" + encoded
 }
 
 func digest(h hash.Hash) ([]byte, error) {


Test patch:
diff --git a/resources/resource_transformers/integrity/integrity_test.go b/resources/resource_transformers/integrity/integrity_test.go
index ef3f13a558b..27e19361858 100644
--- a/resources/resource_transformers/integrity/integrity_test.go
+++ b/resources/resource_transformers/integrity/integrity_test.go
@@ -15,7 +15,6 @@ package integrity
 
 import (
 	"context"
-	"html/template"
 	"testing"
 
 	"github.com/gohugoio/hugo/resources/resource"
@@ -63,7 +62,7 @@ func TestTransform(t *testing.T) {
 
 	c.Assert(err, qt.IsNil)
 	c.Assert(transformed.RelPermalink(), qt.Equals, "/hugo.a5ad1c6961214a55de53c1ce6e60d27b6b761f54851fa65e33066460dfa6a0db.txt")
-	c.Assert(transformed.Data(), qt.DeepEquals, map[string]any{"Integrity": template.HTMLAttr("sha256-pa0caWEhSlXeU8HObmDSe2t2H1SFH6ZeMwZkYN+moNs=")})
+	c.Assert(transformed.Data(), qt.DeepEquals, map[string]any{"Integrity": "sha256-pa0caWEhSlXeU8HObmDSe2t2H1SFH6ZeMwZkYN+moNs="})
 	content, err := transformed.(resource.ContentProvider).Content(context.Background())
 	c.Assert(err, qt.IsNil)
 	c.Assert(content, qt.Equals, "Hugo Rocks!")