IMG-13: http.Header, *ImageData -> ImageData (#1473)

* ImageData.Headers()

* *ImageData -> ImageData

* withmatt -> httpheaders of our own

* .Clone() headers, nil

* NewFromBytesWithFormat -> nil

* svg.go -> do not Clone()
This commit is contained in:
Victor Sokolov
2025-08-01 15:44:21 +02:00
committed by GitHub
parent e40851e460
commit 3d14c85de3
39 changed files with 356 additions and 258 deletions

View File

@@ -20,6 +20,7 @@ import (
"github.com/imgproxy/imgproxy/v3/ierrors"
"github.com/imgproxy/imgproxy/v3/imagetype"
"github.com/imgproxy/imgproxy/v3/security"
"github.com/imgproxy/imgproxy/v3/testutil"
)
type ImageDataTestSuite struct {
@@ -94,7 +95,7 @@ func (s *ImageDataTestSuite) TestDownloadStatusOK() {
s.Require().NoError(err)
s.Require().NotNil(imgdata)
s.Require().Equal(s.defaultData, imgdata.data)
s.Require().True(testutil.ReadersEqual(s.T(), bytes.NewReader(s.defaultData), imgdata.Reader()))
s.Require().Equal(imagetype.JPEG, imgdata.Format())
}
@@ -165,7 +166,7 @@ func (s *ImageDataTestSuite) TestDownloadStatusPartialContent() {
} else {
s.Require().NoError(err)
s.Require().NotNil(imgdata)
s.Require().Equal(s.defaultData, imgdata.data)
s.Require().True(testutil.ReadersEqual(s.T(), bytes.NewReader(s.defaultData), imgdata.Reader()))
s.Require().Equal(imagetype.JPEG, imgdata.Format())
}
})
@@ -278,27 +279,27 @@ func (s *ImageDataTestSuite) TestDownloadGzip() {
s.Require().NoError(err)
s.Require().NotNil(imgdata)
s.Require().Equal(s.defaultData, imgdata.data)
s.Require().True(testutil.ReadersEqual(s.T(), bytes.NewReader(s.defaultData), imgdata.Reader()))
s.Require().Equal(imagetype.JPEG, imgdata.Format())
}
func (s *ImageDataTestSuite) TestFromFile() {
imgdata, err := FromFile("../testdata/test1.jpg", "Test image", security.DefaultOptions())
imgdata, err := NewFromPath("../testdata/test1.jpg", security.DefaultOptions())
s.Require().NoError(err)
s.Require().NotNil(imgdata)
s.Require().Equal(s.defaultData, imgdata.data)
s.Require().True(testutil.ReadersEqual(s.T(), bytes.NewReader(s.defaultData), imgdata.Reader()))
s.Require().Equal(imagetype.JPEG, imgdata.Format())
}
func (s *ImageDataTestSuite) TestFromBase64() {
b64 := base64.StdEncoding.EncodeToString(s.defaultData)
imgdata, err := FromBase64(b64, "Test image", security.DefaultOptions())
imgdata, err := NewFromBase64(b64, security.DefaultOptions())
s.Require().NoError(err)
s.Require().NotNil(imgdata)
s.Require().Equal(s.defaultData, imgdata.data)
s.Require().True(testutil.ReadersEqual(s.T(), bytes.NewReader(s.defaultData), imgdata.Reader()))
s.Require().Equal(imagetype.JPEG, imgdata.Format())
}