Add another transform test
authorMatthias Clasen <mclasen@redhat.com>
Sun, 30 Apr 2023 20:22:39 +0000 (16:22 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 1 May 2023 17:35:22 +0000 (13:35 -0400)
Test that transforming bounds with negative scales
works as expected.

testsuite/gsk/transform.c

index 1300dedf6ae821f6c7485c53c89fef48309a457d..855eb57f7287c44d479356fada10619b7f0ce5b5 100644 (file)
@@ -582,6 +582,14 @@ test_transform_bounds (void)
   t = gsk_transform_translate (t, &GRAPHENE_POINT_INIT (-50, -50));
   gsk_transform_transform_bounds (t, &bounds, &out);
   g_assert_true (graphene_rect_equal (&out, &GRAPHENE_RECT_INIT(0, 0, 100, 100)));
+
+  t = gsk_transform_scale (NULL, -1, 1);
+  gsk_transform_transform_bounds (t, &bounds, &out);
+  g_assert_true (graphene_rect_equal (&out, &GRAPHENE_RECT_INIT(-100, 0, 100, 100)));
+
+  t = gsk_transform_scale (NULL, -1, -2);
+  gsk_transform_transform_bounds (t, &bounds, &out);
+  g_assert_true (graphene_rect_equal (&out, &GRAPHENE_RECT_INIT(-100, -200, 100, 200)));
 }
 
 #define DEG_TO_RAD(x) ((x) / 180.0 * G_PI)