diff --git a/internal/images/image_test.go b/internal/images/image_test.go index 18a89c6..107959b 100644 --- a/internal/images/image_test.go +++ b/internal/images/image_test.go @@ -67,3 +67,24 @@ func TestResizeWithRotation(t *testing.T) { assert.Equal(t, testdata.RotatedImageThumbnailWidth, size.Width) assert.Equal(t, testdata.RotatedImageThumbnailHeight, size.Height) } + +func TestWebpSupport(t *testing.T) { + tmp, err := os.MkdirTemp("", "foto-test") + assert.Nil(t, err) + + size, err := GetPhotoSize(testdata.WebpTestFile) + assert.Equal(t, testdata.WebpTestfileWidth, size.Width) + assert.Equal(t, testdata.WebpTestfileHeight, size.Height) + + path := filepath.Join(tmp, "resized.webp") + + err = ResizeImage(testdata.WebpTestFile, path, testdata.WebpThumbnailWidth) + assert.Nil(t, err) + + size, err = GetPhotoSize(path) + assert.Equal(t, testdata.WebpThumbnailWidth, size.Width) + assert.Equal(t, testdata.WebpThumbnailHeight, size.Height) + + checksum, _ := files.Checksum(path) + assert.Equal(t, testdata.WebpExpectedThubmnailChecksum, *checksum) +} diff --git a/internal/testdata/testdata.go b/internal/testdata/testdata.go index 93a6917..a209bee 100644 --- a/internal/testdata/testdata.go +++ b/internal/testdata/testdata.go @@ -102,3 +102,13 @@ var ( RotatedImageThumbnailWidth = 640 RotatedImageThumbnailHeight = 480 ) + +var ( + WebpTestFile = "../../testdata/webp/test.webp" + WebpTestfileWidth = 8000 + WebpTestfileHeight = 6000 + + WebpThumbnailWidth = 640 + WebpThumbnailHeight = 480 + WebpExpectedThubmnailChecksum = "5a5f8fcae2e37e504d6e062ee8adefac45ec9102a410faa16d4a0278b310b0c8" +) diff --git a/testdata/webp/test-640.webp b/testdata/webp/test-640.webp new file mode 100644 index 0000000..18b47b7 Binary files /dev/null and b/testdata/webp/test-640.webp differ diff --git a/testdata/webp/test.webp b/testdata/webp/test.webp new file mode 100644 index 0000000..85ebf65 Binary files /dev/null and b/testdata/webp/test.webp differ