@@ -133,6 +133,57 @@ Home.
133
133
runGolden (t , name , files )
134
134
}
135
135
136
+ func TestGoldenFiltersMask (t * testing.T ) {
137
+ t .Parallel ()
138
+
139
+ if skipGolden {
140
+ t .Skip ("Skip golden test on this architecture" )
141
+ }
142
+
143
+ // Will be used to generate golden files.
144
+ name := "filters_mask"
145
+
146
+ files := `
147
+ -- hugo.toml --
148
+ [imaging]
149
+ bgColor = '#ebcc34'
150
+ hint = 'photo'
151
+ quality = 75
152
+ resampleFilter = 'Lanczos'
153
+ -- assets/sunset.jpg --
154
+ sourcefilename: ../testdata/sunset.jpg
155
+ -- assets/mask.png --
156
+ sourcefilename: ../testdata/mask.png
157
+
158
+ -- layouts/index.html --
159
+ Home.
160
+ {{ $sunset := resources.Get "sunset.jpg" }}
161
+ {{ $mask := resources.Get "mask.png" }}
162
+
163
+ {{ template "mask" (dict "name" "transparant.png" "base" $sunset "mask" $mask) }}
164
+ {{ template "mask" (dict "name" "yellow.jpg" "base" $sunset "mask" $mask) }}
165
+ {{ template "mask" (dict "name" "wide.jpg" "base" $sunset "mask" $mask "spec" "resize 600x200") }}
166
+
167
+
168
+ {{ define "mask"}}
169
+ {{ $ext := path.Ext .name }}
170
+ {{ if lt (len (path.Ext .name)) 4 }}
171
+ {{ errorf "No extension in %q" .name }}
172
+ {{ end }}
173
+ {{ $format := strings.TrimPrefix "." $ext }}
174
+ {{ $spec := .spec | default (printf "resize 300x300 %s" $format) }}
175
+ {{ $filters := slice (images.Process $spec) (images.Mask .mask) }}
176
+ {{ $name := printf "images/%s" .name }}
177
+ {{ $img := .base.Filter $filters }}
178
+ {{ with $img | resources.Copy $name }}
179
+ {{ .Publish }}
180
+ {{ end }}
181
+ {{ end }}
182
+ `
183
+
184
+ runGolden (t , name , files )
185
+ }
186
+
136
187
func TestGoldenFiltersText (t * testing.T ) {
137
188
t .Parallel ()
138
189
0 commit comments