(t *testing.T)
| 365 | } |
| 366 | |
| 367 | func 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 | |
| 414 | func TestURLPatterns(t *testing.T) { |
| 415 | tests := []struct { |
nothing calls this directly
no test coverage detected