]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
resources/images: Add some mask tests
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 10 Jan 2025 07:54:30 +0000 (09:54 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 11 Jan 2025 10:20:11 +0000 (12:20 +0200)
Closes #13244

resources/images/images_golden_integration_test.go
resources/images/testdata/images_golden/filters_mask/transparant.png [new file with mode: 0644]
resources/images/testdata/images_golden/filters_mask/wide.jpg [new file with mode: 0644]
resources/images/testdata/images_golden/filters_mask/yellow.jpg [new file with mode: 0644]
resources/testdata/mask.png [new file with mode: 0644]

index 20f3d23f99e1df5a0b898efca7088d3c9fcc9ee0..49d90a793945d16bcac1ad9ae5d90eb9bb737914 100644 (file)
@@ -133,6 +133,57 @@ Home.
        runGolden(t, name, files)
 }
 
+func TestGoldenFiltersMask(t *testing.T) {
+       t.Parallel()
+
+       if skipGolden {
+               t.Skip("Skip golden test on this architecture")
+       }
+
+       // Will be used to generate golden files.
+       name := "filters_mask"
+
+       files := `
+-- hugo.toml --
+[imaging]
+  bgColor = '#ebcc34'
+  hint = 'photo'
+  quality = 75
+  resampleFilter = 'Lanczos'
+-- assets/sunset.jpg --
+sourcefilename: ../testdata/sunset.jpg
+-- assets/mask.png --
+sourcefilename: ../testdata/mask.png
+
+-- layouts/index.html --
+Home.
+{{ $sunset := resources.Get "sunset.jpg" }}
+{{ $mask := resources.Get "mask.png" }}
+
+{{ template "mask" (dict "name" "transparant.png" "base" $sunset  "mask" $mask) }}
+{{ template "mask" (dict "name" "yellow.jpg" "base" $sunset  "mask" $mask) }}
+{{ template "mask" (dict "name" "wide.jpg" "base" $sunset "mask" $mask "spec" "resize 600x200") }}
+
+
+{{ define "mask"}}
+{{ $ext := path.Ext .name }}
+{{ if lt (len (path.Ext .name)) 4 }}
+       {{ errorf "No extension in %q" .name }}
+{{ end }}
+{{ $format := strings.TrimPrefix "." $ext }}
+{{ $spec := .spec | default (printf "resize 300x300 %s" $format) }}
+{{ $filters := slice (images.Process $spec) (images.Mask .mask) }}
+{{ $name := printf "images/%s" .name  }}
+{{ $img := .base.Filter $filters }}
+{{ with $img | resources.Copy $name }}
+{{ .Publish }}
+{{ end }}
+{{ end }}
+`
+
+       runGolden(t, name, files)
+}
+
 func TestGoldenFiltersText(t *testing.T) {
        t.Parallel()
 
diff --git a/resources/images/testdata/images_golden/filters_mask/transparant.png b/resources/images/testdata/images_golden/filters_mask/transparant.png
new file mode 100644 (file)
index 0000000..ffbd84c
Binary files /dev/null and b/resources/images/testdata/images_golden/filters_mask/transparant.png differ
diff --git a/resources/images/testdata/images_golden/filters_mask/wide.jpg b/resources/images/testdata/images_golden/filters_mask/wide.jpg
new file mode 100644 (file)
index 0000000..38ef715
Binary files /dev/null and b/resources/images/testdata/images_golden/filters_mask/wide.jpg differ
diff --git a/resources/images/testdata/images_golden/filters_mask/yellow.jpg b/resources/images/testdata/images_golden/filters_mask/yellow.jpg
new file mode 100644 (file)
index 0000000..a871235
Binary files /dev/null and b/resources/images/testdata/images_golden/filters_mask/yellow.jpg differ
diff --git a/resources/testdata/mask.png b/resources/testdata/mask.png
new file mode 100644 (file)
index 0000000..26ac857
Binary files /dev/null and b/resources/testdata/mask.png differ