package magic import ( "testing" "sneak.berlin/go/pixa/internal/imagerequest" ) // testMIMEJXL is the MIME type of JPEG XL. const testMIMEJXL = "image/jxl" // TestDetectFormatJPEGXL verifies that both JPEG XL signatures, that of a // bare codestream and that of the container, are detected as JPEG XL and // match the MIME type image/jxl. func TestDetectFormatJPEGXL(t *testing.T) { t.Parallel() tests := []struct { name string data []byte }{ {"codestream", pad(0xFF, 0x0A)}, {"container", pad( 0x00, 0x00, 0x00, 0x0C, 0x4A, 0x58, 0x4C, 0x20, 0x0D, 0x0A, 0x87, 0x0A, )}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { t.Parallel() got, err := DetectFormat(tt.data) if err != nil || got != imagerequest.FormatJXL { t.Errorf("DetectFormat() = %q, %v, want %q", got, err, imagerequest.FormatJXL) } _, err = ValidateMagicBytes(tt.data, testMIMEJXL) if err != nil { t.Errorf("ValidateMagicBytes(%q) error = %v", testMIMEJXL, err) } }) } }