check / check (push) Canceled after 0s
The new package internal/imagerequest holds the request type, its two parts Source and Transform, the Format and Fit types, the dimension and fit checks, the /v1/image/ path parsing and the variant key; it imports no other package of pixa. imgcache.ParsedURL, imgcache.ImageRequest, signature.Request, imageprocessor.Request, the second Size, format and fit types and the conversions between them are gone. The image processor takes a Transform only. encurl keeps a private struct with the token's short CBOR field names. VariantKey moves with the function that makes it. Tests follow the moved and renamed code; the tests of the removed conversions go with them. Model: opus-5-5
51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package imageprocessor
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
"testing"
|
|
|
|
"sneak.berlin/go/pixa/internal/imagerequest"
|
|
)
|
|
|
|
// TestImageProcessor_LoadsEachSourceFormat verifies that an image in each of
|
|
// the six source formats, saved by the processor itself, is loaded and saved
|
|
// again in its own format (orig).
|
|
func TestImageProcessor_LoadsEachSourceFormat(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
proc := New(Params{})
|
|
|
|
for _, format := range []imagerequest.Format{
|
|
imagerequest.FormatJPEG, imagerequest.FormatPNG, imagerequest.FormatGIF,
|
|
imagerequest.FormatWebP, imagerequest.FormatAVIF, imagerequest.FormatJXL,
|
|
} {
|
|
saved, err := proc.Process(t.Context(),
|
|
bytes.NewReader(createTestPNG(t, 20, 20)),
|
|
&imagerequest.Transform{Format: format})
|
|
if err != nil {
|
|
t.Fatalf("saving the test image as %s: %v", format, err)
|
|
}
|
|
|
|
source, err := io.ReadAll(saved.Content)
|
|
if err != nil {
|
|
t.Fatalf("reading the %s image: %v", format, err)
|
|
}
|
|
|
|
result, err := proc.Process(t.Context(), bytes.NewReader(source),
|
|
&imagerequest.Transform{Format: imagerequest.FormatOriginal})
|
|
if err != nil {
|
|
t.Errorf("orig of the %s image: %v", format, err)
|
|
|
|
continue
|
|
}
|
|
|
|
t.Logf("orig of the %s image: %s", format, result.ContentType)
|
|
|
|
if result.ContentType != FormatToMIME(format) {
|
|
t.Errorf("orig of the %s image is %s, want %s",
|
|
format, result.ContentType, FormatToMIME(format))
|
|
}
|
|
}
|
|
}
|