Commit 89e9d6db authored by Michael Stefaniuc's avatar Michael Stefaniuc Committed by Alexandre Julliard

comctl32/tests: Add some ImageList_BeginDrag() tests.

parent 0a191f85
...@@ -253,6 +253,50 @@ static void check_bits(HWND hwnd, HIMAGELIST himl, int idx, int size, ...@@ -253,6 +253,50 @@ static void check_bits(HWND hwnd, HIMAGELIST himl, int idx, int size,
#endif /* VISIBLE */ #endif /* VISIBLE */
} }
static void test_begindrag(void)
{
HIMAGELIST himl = createImageList(7,13);
HIMAGELIST drag;
BOOL ret;
int count;
POINT hotspot;
count = ImageList_GetImageCount(himl);
ok(count > 2, "Tests need an ImageList with more than 2 images\n");
/* Two BeginDrag() without EndDrag() in between */
ret = ImageList_BeginDrag(himl, 1, 0, 0);
drag = ImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList_BeginDrag() failed\n");
ret = ImageList_BeginDrag(himl, 0, 3, 5);
ok(!ret, "ImageList_BeginDrag() returned TRUE\n");
drag = ImageList_GetDragImage(NULL, &hotspot);
ok(!!drag, "No active ImageList drag left\n");
ok(hotspot.x == 0 && hotspot.y == 0, "New ImageList drag was created\n");
ImageList_EndDrag();
drag = ImageList_GetDragImage(NULL, NULL);
ok(!drag, "ImageList drag was not destroyed\n");
/* Invalid image index */
ImageList_BeginDrag(himl, 0, 0, 0);
ret = ImageList_BeginDrag(himl, count, 3, 5);
ok(!ret, "ImageList_BeginDrag() returned TRUE\n");
drag = ImageList_GetDragImage(NULL, &hotspot);
ok(drag && hotspot.x == 0 && hotspot.y == 0, "Active drag should not have been canceled\n");
ImageList_EndDrag();
drag = ImageList_GetDragImage(NULL, NULL);
ok(!drag, "ImageList drag was not destroyed\n");
/* Invalid negative image indexes succeed */
ret = ImageList_BeginDrag(himl, -17, 0, 0);
drag = ImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList drag was created\n");
ImageList_EndDrag();
ret = ImageList_BeginDrag(himl, -1, 0, 0);
drag = ImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList drag was created\n");
ImageList_EndDrag();
}
static void test_hotspot(void) static void test_hotspot(void)
{ {
struct hotspot { struct hotspot {
...@@ -2087,6 +2131,7 @@ START_TEST(imagelist) ...@@ -2087,6 +2131,7 @@ START_TEST(imagelist)
InitCommonControls(); InitCommonControls();
test_create_destroy(); test_create_destroy();
test_begindrag();
test_hotspot(); test_hotspot();
test_add_remove(); test_add_remove();
test_imagecount(); test_imagecount();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment