From aa2162ef57130ac49042e8bc174e176bfd09db06 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Sun, 19 Jul 2009 21:12:39 +0000 Subject: [PATCH] * Also test blitting with mask --- tests/dirty.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/dirty.cpp b/tests/dirty.cpp index 6d285c0..16736c2 100644 --- a/tests/dirty.cpp +++ b/tests/dirty.cpp @@ -196,17 +196,34 @@ public: cv2 = caca_create_canvas(2, 2); caca_fill_box(cv2, 0, 0, 2, 1, 'x'); + /* Check that blitting a canvas make a dirty rectangle + * only for modified lines */ + caca_blit(cv, 1, 1, cv2, NULL); i = caca_get_dirty_rect_count(cv); CPPUNIT_ASSERT_EQUAL(i, 1); caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh); - /* Check that blitting a canvas make a dirty rectangle - * only for modified lines */ CPPUNIT_ASSERT(dx == 1); CPPUNIT_ASSERT(dy == 1); CPPUNIT_ASSERT(dw >= 2); CPPUNIT_ASSERT(dh == 1); + + caca_clear_canvas(cv); + caca_clear_dirty_rect_list(cv); + + /* Check that blitting a canvas make a dirty rectangle + * only for modified chars when we have a mask */ + + caca_blit(cv, 1, 1, cv2, cv2); + i = caca_get_dirty_rect_count(cv); + CPPUNIT_ASSERT_EQUAL(i, 1); + caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh); + + CPPUNIT_ASSERT(dx == 1); + CPPUNIT_ASSERT(dy == 1); + CPPUNIT_ASSERT(dw == 2); + CPPUNIT_ASSERT(dh == 1); } private: