mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-11 01:42:15 +01:00
fix(chromium): missing webp validation
This commit is contained in:
@@ -171,7 +171,7 @@ func FormDataChromiumScreenshotOptions(ctx *api.Context) (*api.FormData, Screens
|
||||
return nil
|
||||
}
|
||||
|
||||
if value != "png" && value != "jpeg" && value != "" {
|
||||
if value != "png" && value != "jpeg" && value != "webp" {
|
||||
return fmt.Errorf("wrong value, expected either 'png', 'jpeg' or 'webp'")
|
||||
}
|
||||
|
||||
|
||||
@@ -209,7 +209,24 @@ func TestFormDataChromiumScreenshotOptions(t *testing.T) {
|
||||
}(),
|
||||
},
|
||||
{
|
||||
scenario: "valid format form field",
|
||||
scenario: "valid png format form field",
|
||||
ctx: func() *api.ContextMock {
|
||||
ctx := &api.ContextMock{Context: new(api.Context)}
|
||||
ctx.SetValues(map[string][]string{
|
||||
"format": {
|
||||
"png",
|
||||
},
|
||||
})
|
||||
return ctx
|
||||
}(),
|
||||
expectedOptions: func() ScreenshotOptions {
|
||||
options := DefaultScreenshotOptions()
|
||||
options.Format = "png"
|
||||
return options
|
||||
}(),
|
||||
},
|
||||
{
|
||||
scenario: "valid jpeg format form field",
|
||||
ctx: func() *api.ContextMock {
|
||||
ctx := &api.ContextMock{Context: new(api.Context)}
|
||||
ctx.SetValues(map[string][]string{
|
||||
@@ -225,6 +242,23 @@ func TestFormDataChromiumScreenshotOptions(t *testing.T) {
|
||||
return options
|
||||
}(),
|
||||
},
|
||||
{
|
||||
scenario: "valid webp format form field",
|
||||
ctx: func() *api.ContextMock {
|
||||
ctx := &api.ContextMock{Context: new(api.Context)}
|
||||
ctx.SetValues(map[string][]string{
|
||||
"format": {
|
||||
"webp",
|
||||
},
|
||||
})
|
||||
return ctx
|
||||
}(),
|
||||
expectedOptions: func() ScreenshotOptions {
|
||||
options := DefaultScreenshotOptions()
|
||||
options.Format = "webp"
|
||||
return options
|
||||
}(),
|
||||
},
|
||||
{
|
||||
scenario: "invalid quality form field (not an integer)",
|
||||
ctx: func() *api.ContextMock {
|
||||
|
||||
Reference in New Issue
Block a user