mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-31 05:09:12 +00:00
LibGfx: Support missing pixel formats in get_pixel()
Bitmap::get_pixel() was only handling two out of the four possible pixel formats, asserting when called with the other two. The asserting code path was triggered when loading JPEG XL images, causing crashes on pages like https://jpegxl.info/resources/jpeg-xl-test-page or https://html5test.co/.
This commit is contained in:
parent
f1d79483b7
commit
578a3af87d
Notes:
github-actions[bot]
2025-04-23 07:31:25 +00:00
Author: https://github.com/InvalidUsernameException
Commit: 578a3af87d
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4404
Reviewed-by: https://github.com/gmta ✅
11 changed files with 92 additions and 0 deletions
|
@ -15,6 +15,52 @@ TEST_CASE(color)
|
|||
}
|
||||
}
|
||||
|
||||
TEST_CASE(from_rgb)
|
||||
{
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff), Color::from_rgb(0x000000ff));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00), Color::from_rgb(0x0000ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00), Color::from_rgb(0x00ff0000));
|
||||
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff), Color::from_rgb(0xff0000ff));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00), Color::from_rgb(0xff00ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00), Color::from_rgb(0xffff0000));
|
||||
|
||||
EXPECT_EQ(Color(0xaa, 0xbb, 0xcc), Color::from_rgb(0x00aabbcc));
|
||||
}
|
||||
|
||||
TEST_CASE(from_argb)
|
||||
{
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0x00, 0xff), Color::from_argb(0xff000000));
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff, 0x00), Color::from_argb(0x000000ff));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00, 0x00), Color::from_argb(0x0000ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00, 0x00), Color::from_argb(0x00ff0000));
|
||||
|
||||
EXPECT_EQ(Color(0xaa, 0xbb, 0xcc, 0xdd), Color::from_argb(0xddaabbcc));
|
||||
}
|
||||
|
||||
TEST_CASE(from_bgr)
|
||||
{
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff), Color::from_bgr(0x00ff0000));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00), Color::from_bgr(0x0000ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00), Color::from_bgr(0x000000ff));
|
||||
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff), Color::from_bgr(0xffff0000));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00), Color::from_bgr(0xff00ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00), Color::from_bgr(0xff0000ff));
|
||||
|
||||
EXPECT_EQ(Color(0xaa, 0xbb, 0xcc), Color::from_bgr(0x00ccbbaa));
|
||||
}
|
||||
|
||||
TEST_CASE(from_abgr)
|
||||
{
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0x00, 0xff), Color::from_abgr(0xff000000));
|
||||
EXPECT_EQ(Color(0x00, 0x00, 0xff, 0x00), Color::from_abgr(0x00ff0000));
|
||||
EXPECT_EQ(Color(0x00, 0xff, 0x00, 0x00), Color::from_abgr(0x0000ff00));
|
||||
EXPECT_EQ(Color(0xff, 0x00, 0x00, 0x00), Color::from_abgr(0x000000ff));
|
||||
|
||||
EXPECT_EQ(Color(0xaa, 0xbb, 0xcc, 0xdd), Color::from_abgr(0xddccbbaa));
|
||||
}
|
||||
|
||||
TEST_CASE(all_green)
|
||||
{
|
||||
EXPECT_EQ(Color(Color::NamedColor::Green), Color::from_lab(87.8185, -79.2711, 80.9946));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue