Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 0 additions & 33 deletions internal/image/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,36 +73,3 @@ func CropResizeImageRatioToBytes(reader io.Reader, width uint, widthRatio, heigh

return buf.Bytes(), nil
}

func ResizeImage(reader io.Reader, width, height uint) (image.Image, error) {
originalImage, _, err := image.Decode(reader)
if err != nil {
return nil, err
}
return resize.Resize(width, height, originalImage, resize.Lanczos3), nil
}

func ResizeImageToBytes(reader io.Reader, width, height uint) ([]byte, error) {
resizedImg, err := ResizeImage(reader, width, height)
if err != nil {
return nil, err
}

buf := new(bytes.Buffer)
err = png.Encode(buf, resizedImg)
if err != nil {
return nil, err
}

return buf.Bytes(), nil
}

func ResizeImageFromFileToBytes(fs afero.Fs, filepath string, width, height uint) ([]byte, error) {
reader, err := fs.Open(filepath)
if err != nil {
return nil, err
}
defer reader.Close()

return ResizeImageToBytes(reader, width, height)
}
43 changes: 0 additions & 43 deletions internal/image/image_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,43 +41,6 @@ func createTestPNG(t *testing.T, width, height int) []byte {
return buf.Bytes()
}

func Test_ResizeImage(t *testing.T) {
pngData := createTestPNG(t, 100, 100)
reader := bytes.NewReader(pngData)

resized, err := ResizeImage(reader, 50, 50)
require.NoError(t, err)
assert.NotNil(t, resized)
assert.Equal(t, 50, resized.Bounds().Dx())
assert.Equal(t, 50, resized.Bounds().Dy())
}

func Test_ResizeImageToBytes(t *testing.T) {
pngData := createTestPNG(t, 100, 100)
reader := bytes.NewReader(pngData)

result, err := ResizeImageToBytes(reader, 50, 50)
require.NoError(t, err)
assert.NotEmpty(t, result)
}

func Test_ResizeImageFromFileToBytes(t *testing.T) {
pngData := createTestPNG(t, 100, 100)
fs := slackdeps.NewFsMock()
err := afero.WriteFile(fs, "/test.png", pngData, 0644)
require.NoError(t, err)

result, err := ResizeImageFromFileToBytes(fs, "/test.png", 50, 50)
require.NoError(t, err)
assert.NotEmpty(t, result)
}

func Test_ResizeImageFromFileToBytes_FileNotFound(t *testing.T) {
fs := slackdeps.NewFsMock()
_, err := ResizeImageFromFileToBytes(fs, "/nonexistent.png", 50, 50)
assert.Error(t, err)
}

func Test_CropResizeImageRatio(t *testing.T) {
pngData := createTestPNG(t, 200, 100)
reader := bytes.NewReader(pngData)
Expand Down Expand Up @@ -113,9 +76,3 @@ func Test_CropResizeImageRatioFromFileToBytes_FileNotFound(t *testing.T) {
_, err := CropResizeImageRatioFromFileToBytes(fs, "/nonexistent.png", 100, 1, 1)
assert.Error(t, err)
}

func Test_ResizeImage_InvalidReader(t *testing.T) {
reader := bytes.NewReader([]byte("not a valid image"))
_, err := ResizeImage(reader, 50, 50)
assert.Error(t, err)
}
Loading