@@ -71,7 +71,7 @@ func createTestPNG(t *testing.T, width, height int) []byte {
}
}
func TestImageProcessor_ResizeJPEG ( t * testing . T ) {
func TestImageProcessor_ResizeJPEG ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestJPEG ( t , 800 , 600 )
input := createTestJPEG ( t , 800 , 600 )
@@ -118,7 +118,7 @@ func TestImageProcessor_ResizeJPEG(t *testing.T) {
}
}
func TestImageProcessor_ConvertToPNG ( t * testing . T ) {
func TestImageProcessor_ConvertToPNG ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestJPEG ( t , 200 , 150 )
input := createTestJPEG ( t , 200 , 150 )
@@ -151,7 +151,7 @@ func TestImageProcessor_ConvertToPNG(t *testing.T) {
}
}
func TestImageProcessor_OriginalSize ( t * testing . T ) {
func TestImageProcessor_OriginalSize ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestJPEG ( t , 640 , 480 )
input := createTestJPEG ( t , 640 , 480 )
@@ -179,7 +179,7 @@ func TestImageProcessor_OriginalSize(t *testing.T) {
}
}
func TestImageProcessor_FitContain ( t * testing . T ) {
func TestImageProcessor_FitContain ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// 800x400 image (2:1 aspect) into 400x400 box with contain
// 800x400 image (2:1 aspect) into 400x400 box with contain
@@ -206,7 +206,7 @@ func TestImageProcessor_FitContain(t *testing.T) {
}
}
func TestImageProcessor_ProportionalScale_WidthOnly ( t * testing . T ) {
func TestImageProcessor_ProportionalScale_WidthOnly ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// 800x600 image, request width=400 height=0
// 800x600 image, request width=400 height=0
@@ -236,7 +236,7 @@ func TestImageProcessor_ProportionalScale_WidthOnly(t *testing.T) {
}
}
func TestImageProcessor_ProportionalScale_HeightOnly ( t * testing . T ) {
func TestImageProcessor_ProportionalScale_HeightOnly ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// 800x600 image, request width=0 height=300
// 800x600 image, request width=0 height=300
@@ -266,7 +266,7 @@ func TestImageProcessor_ProportionalScale_HeightOnly(t *testing.T) {
}
}
func TestImageProcessor_ProcessPNG ( t * testing . T ) {
func TestImageProcessor_ProcessPNG ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestPNG ( t , 400 , 300 )
input := createTestPNG ( t , 400 , 300 )
@@ -298,7 +298,7 @@ func TestImageProcessor_ImplementsInterface(t *testing.T) {
}
}
func TestImageProcessor_SupportedFormats ( t * testing . T ) {
func TestImageProcessor_SupportedFormats ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
inputFormats := proc . SupportedInputFormats ( )
inputFormats := proc . SupportedInputFormats ( )
if len ( inputFormats ) == 0 {
if len ( inputFormats ) == 0 {
@@ -312,7 +312,7 @@ func TestImageProcessor_SupportedFormats(t *testing.T) {
}
}
func TestImageProcessor_RejectsOversizedInput ( t * testing . T ) {
func TestImageProcessor_RejectsOversizedInput ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// Create an image that exceeds MaxInputDimension (e.g., 10000x100)
// Create an image that exceeds MaxInputDimension (e.g., 10000x100)
@@ -337,7 +337,7 @@ func TestImageProcessor_RejectsOversizedInput(t *testing.T) {
}
}
func TestImageProcessor_RejectsOversizedInputHeight ( t * testing . T ) {
func TestImageProcessor_RejectsOversizedInputHeight ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// Create an image with oversized height
// Create an image with oversized height
@@ -361,7 +361,7 @@ func TestImageProcessor_RejectsOversizedInputHeight(t *testing.T) {
}
}
func TestImageProcessor_AcceptsMaxDimensionInput ( t * testing . T ) {
func TestImageProcessor_AcceptsMaxDimensionInput ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// Create an image at exactly MaxInputDimension - should be accepted
// Create an image at exactly MaxInputDimension - should be accepted
@@ -383,7 +383,7 @@ func TestImageProcessor_AcceptsMaxDimensionInput(t *testing.T) {
}
}
func TestImageProcessor_EncodeWebP ( t * testing . T ) {
func TestImageProcessor_EncodeWebP ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestJPEG ( t , 200 , 150 )
input := createTestJPEG ( t , 200 , 150 )
@@ -426,7 +426,7 @@ func TestImageProcessor_EncodeWebP(t *testing.T) {
}
}
func TestImageProcessor_DecodeAVIF ( t * testing . T ) {
func TestImageProcessor_DecodeAVIF ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
// Load test AVIF file
// Load test AVIF file
@@ -468,7 +468,7 @@ func TestImageProcessor_DecodeAVIF(t *testing.T) {
func TestImageProcessor_RejectsOversizedInputData ( t * testing . T ) {
func TestImageProcessor_RejectsOversizedInputData ( t * testing . T ) {
// Create a processor with a very small byte limit
// Create a processor with a very small byte limit
const limit = 1024
const limit = 1024
proc := NewImageProcessor ( limit )
proc := New (Params { MaxInputBytes : limit } )
ctx := context . Background ( )
ctx := context . Background ( )
// Create a valid JPEG that exceeds the byte limit
// Create a valid JPEG that exceeds the byte limit
@@ -499,7 +499,7 @@ func TestImageProcessor_AcceptsInputWithinLimit(t *testing.T) {
input := createTestJPEG ( t , 10 , 10 )
input := createTestJPEG ( t , 10 , 10 )
limit := int64 ( len ( input ) ) * 10 // 10× headroom
limit := int64 ( len ( input ) ) * 10 // 10× headroom
proc := NewImageProcessor ( limit )
proc := New (Params { MaxInputBytes : limit } )
ctx := context . Background ( )
ctx := context . Background ( )
req := & ImageRequest {
req := & ImageRequest {
@@ -518,20 +518,20 @@ func TestImageProcessor_AcceptsInputWithinLimit(t *testing.T) {
func TestImageProcessor_DefaultMaxInputBytes ( t * testing . T ) {
func TestImageProcessor_DefaultMaxInputBytes ( t * testing . T ) {
// Passing 0 should use the default
// Passing 0 should use the default
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
if proc . maxInputBytes != DefaultMaxInputBytes {
if proc . maxInputBytes != DefaultMaxInputBytes {
t . Errorf ( "maxInputBytes = %d, want %d" , proc . maxInputBytes , DefaultMaxInputBytes )
t . Errorf ( "maxInputBytes = %d, want %d" , proc . maxInputBytes , DefaultMaxInputBytes )
}
}
// Passing negative should also use the default
// Passing negative should also use the default
proc = NewImageProcessor ( - 1 )
proc = New (Params { MaxInputBytes : - 1 } )
if proc . maxInputBytes != DefaultMaxInputBytes {
if proc . maxInputBytes != DefaultMaxInputBytes {
t . Errorf ( "maxInputBytes = %d, want %d" , proc . maxInputBytes , DefaultMaxInputBytes )
t . Errorf ( "maxInputBytes = %d, want %d" , proc . maxInputBytes , DefaultMaxInputBytes )
}
}
}
}
func TestImageProcessor_EncodeAVIF ( t * testing . T ) {
func TestImageProcessor_EncodeAVIF ( t * testing . T ) {
proc := NewImageProcessor ( 0 )
proc := New( Params { } )
ctx := context . Background ( )
ctx := context . Background ( )
input := createTestJPEG ( t , 200 , 150 )
input := createTestJPEG ( t , 200 , 150 )