diff --git a/resources/images/images_golden_integration_test.go b/resources/images/images_golden_integration_test.go index dd2a6e060..20f3d23f9 100644 --- a/resources/images/images_golden_integration_test.go +++ b/resources/images/images_golden_integration_test.go @@ -229,6 +229,42 @@ Home. runGolden(t, name, files) } +func TestGoldenFuncs(t *testing.T) { + t.Parallel() + + if skipGolden { + t.Skip("Skip golden test on this architecture") + } + + // Will be used to generate golden files. + name := "funcs" + + files := ` +-- hugo.toml -- +-- assets/sunset.jpg -- +sourcefilename: ../testdata/sunset.jpg + +-- layouts/index.html -- +Home. + +{{ template "copy" (dict "name" "qr-default.png" "img" (images.QR "https://gohugo.io")) }} +{{ template "copy" (dict "name" "qr-level-high_scale-6.png" "img" (images.QR "https://gohugo.io" (dict "level" "high" "scale" 6))) }} + +{{ define "copy"}} +{{ if lt (len (path.Ext .name)) 4 }} + {{ errorf "No extension in %q" .name }} +{{ end }} +{{ $img := .img }} +{{ $name := printf "images/%s" .name }} +{{ with $img | resources.Copy $name }} +{{ .Publish }} +{{ end }} +{{ end }} +` + + runGolden(t, name, files) +} + func runGolden(t testing.TB, name, files string) *hugolib.IntegrationTestBuilder { t.Helper() diff --git a/resources/images/testdata/images_golden/funcs/qr-default.png b/resources/images/testdata/images_golden/funcs/qr-default.png new file mode 100644 index 000000000..6c7ab919e Binary files /dev/null and b/resources/images/testdata/images_golden/funcs/qr-default.png differ diff --git a/resources/images/testdata/images_golden/funcs/qr-level-high_scale-6.png b/resources/images/testdata/images_golden/funcs/qr-level-high_scale-6.png new file mode 100644 index 000000000..17e00f1a1 Binary files /dev/null and b/resources/images/testdata/images_golden/funcs/qr-level-high_scale-6.png differ