MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / TestImageTypesQuality

Function TestImageTypesQuality

env/types_test.go:367–412  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

365}
366
367func TestImageTypesQuality(t *testing.T) {
368 tests := []struct {
369 input string
370 want map[imagetype.Type]int
371 wantErr bool
372 errSubstr string
373 }{
374 {
375 input: "jpg=80,png=90,webp=85",
376 want: map[imagetype.Type]int{
377 imagetype.JPEG: 80,
378 imagetype.PNG: 90,
379 imagetype.WEBP: 85,
380 },
381 },
382 {
383 input: " jpg = 80 , png = 90 ",
384 want: map[imagetype.Type]int{imagetype.JPEG: 80, imagetype.PNG: 90},
385 },
386 {input: "jpg80", wantErr: true, errSubstr: "invalid format quality string"},
387 {input: "jpg=invalid", wantErr: true, errSubstr: "invalid quality"},
388 {input: "jpg=150", wantErr: true, errSubstr: "invalid quality"},
389 {input: "unknown=80", wantErr: true, errSubstr: "unknown image format"},
390 {input: "", want: nil},
391 }
392
393 for _, tt := range tests {
394 t.Run(tt.input, func(t *testing.T) {
395 t.Setenv(testVar, tt.input)
396 desc := env.ImageTypesQuality(testVar)
397
398 var result map[imagetype.Type]int
399 err := desc.Parse(&result)
400
401 if tt.wantErr {
402 require.Error(t, err)
403 if tt.errSubstr != "" {
404 assert.Contains(t, err.Error(), tt.errSubstr)
405 }
406 } else {
407 require.NoError(t, err)
408 assert.Equal(t, tt.want, result)
409 }
410 })
411 }
412}
413
414func TestURLPatterns(t *testing.T) {
415 tests := []struct {

Callers

nothing calls this directly

Calls 4

ImageTypesQualityFunction · 0.92
RunMethod · 0.80
ParseMethod · 0.80
ErrorMethod · 0.65

Tested by

no test coverage detected