mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
parent
3854a6fa6c
commit
bb232a351a
2 changed files with 32 additions and 1 deletions
|
@ -17,11 +17,13 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
qt "github.com/frankban/quicktest"
|
||||||
"github.com/gohugoio/hugo/hugolib"
|
"github.com/gohugoio/hugo/hugolib"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Issue 8931
|
// Issue 8931
|
||||||
func TestImageCache(t *testing.T) {
|
func TestImageCache(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
files := `
|
files := `
|
||||||
-- config.toml --
|
-- config.toml --
|
||||||
|
@ -67,3 +69,28 @@ bmp: {{ $bmp.RelPermalink }}|{{ $bmp.MediaType }}|
|
||||||
assertImages()
|
assertImages()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSVGError(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
files := `
|
||||||
|
-- config.toml --
|
||||||
|
-- assets/circle.svg --
|
||||||
|
<svg height="100" width="100"><circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /></svg>
|
||||||
|
-- layouts/index.html --
|
||||||
|
{{ $svg := resources.Get "circle.svg" }}
|
||||||
|
Width: {{ $svg.Width }}
|
||||||
|
`
|
||||||
|
|
||||||
|
b, err := hugolib.NewIntegrationTestBuilder(
|
||||||
|
hugolib.IntegrationTestConfig{
|
||||||
|
T: t,
|
||||||
|
TxtarString: files,
|
||||||
|
NeedsOsFS: true,
|
||||||
|
Running: true,
|
||||||
|
}).BuildE()
|
||||||
|
|
||||||
|
b.Assert(err, qt.IsNotNil)
|
||||||
|
b.Assert(err.Error(), qt.Contains, `error calling Width: this method is only available for raster images. To determine if an image is SVG, you can do {{ if eq .MediaType.SubType "svg" }}{{ end }}`)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -297,7 +297,11 @@ func (r *resourceAdapter) DecodeImage() (image.Image, error) {
|
||||||
func (r *resourceAdapter) getImageOps() images.ImageResourceOps {
|
func (r *resourceAdapter) getImageOps() images.ImageResourceOps {
|
||||||
img, ok := r.target.(images.ImageResourceOps)
|
img, ok := r.target.(images.ImageResourceOps)
|
||||||
if !ok {
|
if !ok {
|
||||||
panic(fmt.Sprintf("%T is not an image", r.target))
|
if r.MediaType().SubType == "svg" {
|
||||||
|
panic("this method is only available for raster images. To determine if an image is SVG, you can do {{ if eq .MediaType.SubType \"svg\" }}{{ end }}")
|
||||||
|
}
|
||||||
|
fmt.Println(r.MediaType().SubType)
|
||||||
|
panic("this method is only available for image resources")
|
||||||
}
|
}
|
||||||
r.init(false, false)
|
r.init(false, false)
|
||||||
return img
|
return img
|
||||||
|
|
Loading…
Reference in a new issue