mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 20:45:14 +00:00
LibGfx: Verify Rect and Quad are consistent in boundary point inclusions
This commit is contained in:
parent
5c4e162ba9
commit
7824721107
Notes:
github-actions[bot]
2024-12-15 22:28:45 +00:00
Author: https://github.com/shlyakpavel Commit: https://github.com/LadybirdBrowser/ladybird/commit/78247211076 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2926 Reviewed-by: https://github.com/gmta ✅
1 changed files with 30 additions and 0 deletions
|
@ -73,3 +73,33 @@ TEST_CASE(quad_contains)
|
|||
Gfx::Point<u8> out_bounds_point { 7, 12 };
|
||||
EXPECT(quad.contains(out_bounds_point) == false);
|
||||
}
|
||||
|
||||
TEST_CASE(quad_contains_boundary_points)
|
||||
{
|
||||
Gfx::Point<int> p1 { 0, 0 };
|
||||
Gfx::Point<int> p2 { 2, 0 };
|
||||
Gfx::Point<int> p3 { 2, 2 };
|
||||
Gfx::Point<int> p4 { 0, 2 };
|
||||
Gfx::Quad<int> square_quad { p1, p2, p3, p4 };
|
||||
Gfx::Rect<int> square_quad_as_rect = square_quad.bounding_rect();
|
||||
|
||||
auto const& point_at_top_left_vertex = p1;
|
||||
Gfx::Point<int> point_on_top_edge { 1, 0 };
|
||||
EXPECT_EQ(square_quad.contains(point_at_top_left_vertex), square_quad_as_rect.contains(point_at_top_left_vertex));
|
||||
EXPECT_EQ(square_quad.contains(point_on_top_edge), square_quad_as_rect.contains(point_on_top_edge));
|
||||
|
||||
auto const& point_at_top_right_vertex = p2;
|
||||
Gfx::Point<int> point_on_right_edge { 2, 1 };
|
||||
EXPECT_EQ(square_quad.contains(point_at_top_right_vertex), square_quad_as_rect.contains(point_at_top_right_vertex));
|
||||
EXPECT_EQ(square_quad.contains(point_on_right_edge), square_quad_as_rect.contains(point_on_right_edge));
|
||||
|
||||
auto const& point_at_bottom_left_vertex = p4;
|
||||
Gfx::Point<int> point_on_bottom_edge { 1, 2 };
|
||||
EXPECT_EQ(square_quad.contains(point_at_bottom_left_vertex), square_quad_as_rect.contains(point_at_bottom_left_vertex));
|
||||
EXPECT_EQ(square_quad.contains(point_on_bottom_edge), square_quad_as_rect.contains(point_on_bottom_edge));
|
||||
|
||||
auto const& point_at_bottom_right_vertex = p3;
|
||||
Gfx::Point<int> point_on_left_edge { 0, 1 };
|
||||
EXPECT_EQ(square_quad.contains(point_at_bottom_right_vertex), square_quad_as_rect.contains(point_at_bottom_right_vertex));
|
||||
EXPECT_EQ(square_quad.contains(point_on_left_edge), square_quad_as_rect.contains(point_on_left_edge));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue