[COMCTL32_APITEST] -Add tests for the BST_HOT state.
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 10 Mar 2017 22:46:35 +0000 (22:46 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Fri, 10 Mar 2017 22:46:35 +0000 (22:46 +0000)
svn path=/trunk/; revision=74146

rostests/apitests/comctl32/button.c

index b327ef0..2cf2f54 100644 (file)
@@ -608,7 +608,10 @@ MSG_ENTRY mouseleave_nonthemed_sequence[]={
 
 void Test_MessagesNonThemed()
 {
 
 void Test_MessagesNonThemed()
 {
+    DWORD state;
+
     MOVE_CURSOR(0,0);
     MOVE_CURSOR(0,0);
+    EMPTY_CACHE();
 
     RegisterSimpleClass(TestProc, L"testClass");
     hWnd1 = CreateWindowW(L"testClass", L"Test parent", WS_POPUP | WS_VISIBLE, 100, 100, 200, 200, 0, NULL, NULL, NULL);
 
     RegisterSimpleClass(TestProc, L"testClass");
     hWnd1 = CreateWindowW(L"testClass", L"Test parent", WS_POPUP | WS_VISIBLE, 100, 100, 200, 200, 0, NULL, NULL, NULL);
@@ -659,27 +662,46 @@ void Test_MessagesNonThemed()
     FlushMessages();
     COMPARE_CACHE(pseudoleave_sequence);
 
     FlushMessages();
     COMPARE_CACHE(pseudoleave_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == 0, "Expected state 0, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(150,150);
     FlushMessages();
     COMPARE_CACHE(mouseenter_nonthemed_sequence);
 
     MOVE_CURSOR(150,150);
     FlushMessages();
     COMPARE_CACHE(mouseenter_nonthemed_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == BST_HOT, "Expected state BST_HOT, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(151,151);
     FlushMessages();
     COMPARE_CACHE(mousemove_sequence);
 
     MOVE_CURSOR(151,151);
     FlushMessages();
     COMPARE_CACHE(mousemove_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == BST_HOT, "Expected state BST_HOT, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(0,0);
     FlushMessages();
     COMPARE_CACHE(empty_chain);
     FlushMessages();
     COMPARE_CACHE(mouseleave_nonthemed_sequence);
 
     MOVE_CURSOR(0,0);
     FlushMessages();
     COMPARE_CACHE(empty_chain);
     FlushMessages();
     COMPARE_CACHE(mouseleave_nonthemed_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == 0, "Expected state 0, got %lu", state);
+    EMPTY_CACHE();
+
     DestroyWindow(hWnd1);
     DestroyWindow(hWnd2);
 }
 
 void Test_MessagesThemed()
 {
     DestroyWindow(hWnd1);
     DestroyWindow(hWnd2);
 }
 
 void Test_MessagesThemed()
 {
+    DWORD state;
+
     MOVE_CURSOR(0,0);
     MOVE_CURSOR(0,0);
+    EMPTY_CACHE();
 
     RegisterSimpleClass(TestProc, L"testClass");
     hWnd1 = CreateWindowW(L"testClass", L"Test parent", WS_POPUP | WS_VISIBLE, 100, 100, 200, 200, 0, NULL, NULL, NULL);
 
     RegisterSimpleClass(TestProc, L"testClass");
     hWnd1 = CreateWindowW(L"testClass", L"Test parent", WS_POPUP | WS_VISIBLE, 100, 100, 200, 200, 0, NULL, NULL, NULL);
@@ -728,20 +750,36 @@ void Test_MessagesThemed()
     FlushMessages();
     COMPARE_CACHE(pseudoleave_sequence);
 
     FlushMessages();
     COMPARE_CACHE(pseudoleave_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == 0, "Expected state 0, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(150,150);
     FlushMessages();
     COMPARE_CACHE(mouseenter_sequence);
 
     MOVE_CURSOR(150,150);
     FlushMessages();
     COMPARE_CACHE(mouseenter_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == BST_HOT, "Expected state BST_HOT, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(151,151);
     FlushMessages();
     COMPARE_CACHE(mousemove_sequence);
 
     MOVE_CURSOR(151,151);
     FlushMessages();
     COMPARE_CACHE(mousemove_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == BST_HOT, "Expected state BST_HOT, got %lu", state);
+    EMPTY_CACHE();
+
     MOVE_CURSOR(0,0);
     FlushMessages();
     COMPARE_CACHE(empty_chain);
     FlushMessages();
     COMPARE_CACHE(mouseleave_sequence);
 
     MOVE_CURSOR(0,0);
     FlushMessages();
     COMPARE_CACHE(empty_chain);
     FlushMessages();
     COMPARE_CACHE(mouseleave_sequence);
 
+    state = SendMessageW(hWnd2, BM_GETSTATE,0,0);
+    ok(state == 0, "Expected state 0, got %lu", state);
+    EMPTY_CACHE();
+
     DestroyWindow(hWnd1);
     DestroyWindow(hWnd2);
 }
     DestroyWindow(hWnd1);
     DestroyWindow(hWnd2);
 }