Nikolay Sivov : user32/tests: Add some GetDlgItem() tests regarding children windows Z-order.
Alexandre Julliard
julliard at winehq.org
Sun Apr 25 20:01:48 CDT 2010
Module: wine
Branch: master
Commit: 0af447ce9f0685b8cc222fb3b1c8b4d6aad44325
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0af447ce9f0685b8cc222fb3b1c8b4d6aad44325
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Apr 23 20:52:13 2010 +0400
user32/tests: Add some GetDlgItem() tests regarding children windows Z-order.
---
dlls/user32/tests/dialog.c | 51 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c
index 1b36c53..d18ba0e 100644
--- a/dlls/user32/tests/dialog.c
+++ b/dlls/user32/tests/dialog.c
@@ -338,7 +338,7 @@ static int id (HWND h)
* (tab test)
*/
-static void GetNextDlgItemTest (void)
+static void test_GetNextDlgItem(void)
{
static test_record test [] =
{
@@ -574,7 +574,7 @@ static BOOL RegisterWindowClasses (void)
return TRUE;
}
-static void WM_NEXTDLGCTLTest(void)
+static void test_WM_NEXTDLGCTL(void)
{
DWORD dwVal;
@@ -681,7 +681,7 @@ static void WM_NEXTDLGCTLTest(void)
DestroyWindow(g_hwndTestDlg);
}
-static void IsDialogMessageWTest (void)
+static void test_IsDialogMessage(void)
{
MSG msg;
@@ -795,7 +795,7 @@ static const char * GetHwndString(HWND hw)
return "unknown handle";
}
-static void InitialFocusTest (void)
+static void test_initial_focus(void)
{
/* Test 1:
* This test intentionally returns FALSE in response to WM_INITDIALOG
@@ -897,6 +897,40 @@ static void test_GetDlgItemText(void)
"string retrieved using GetDlgItemText should have been NULL terminated\n");
}
+static void test_GetDlgItem(void)
+{
+ HWND hwnd, child1, child2, hwnd2;
+ BOOL ret;
+
+ hwnd = CreateWindowA("button", "parent", WS_VISIBLE, 0, 0, 100, 100, NULL, 0, g_hinst, NULL);
+ ok(hwnd != NULL, "failed to created window\n");
+
+ /* created with the same ID */
+ child1 = CreateWindowA("button", "child1", WS_VISIBLE|WS_CHILD, 0, 0, 10, 10, hwnd, 0, g_hinst, NULL);
+ ok(child1 != NULL, "failed to create first child\n");
+ child2 = CreateWindowA("button", "child2", WS_VISIBLE|WS_CHILD, 0, 0, 10, 10, hwnd, 0, g_hinst, NULL);
+ ok(child2 != NULL, "failed to create second child\n");
+
+ hwnd2 = GetDlgItem(hwnd, 0);
+ ok(hwnd2 == child1, "expected first child, got %p\n", hwnd2);
+
+ hwnd2 = GetTopWindow(hwnd);
+ ok(hwnd2 == child1, "expected first child to be top, got %p\n", hwnd2);
+
+ ret = SetWindowPos(child1, child2, 0, 0, 0, 0, SWP_NOMOVE);
+ ok(ret, "got %d\n", ret);
+ hwnd2 = GetTopWindow(hwnd);
+ ok(hwnd2 == child2, "expected second child to be top, got %p\n", hwnd2);
+
+ /* top window from child list is picked */
+ hwnd2 = GetDlgItem(hwnd, 0);
+ ok(hwnd2 == child2, "expected second child, got %p\n", hwnd2);
+
+ DestroyWindow(child1);
+ DestroyWindow(child2);
+ DestroyWindow(hwnd);
+}
+
static INT_PTR CALLBACK DestroyDlgWinProc (HWND hDlg, UINT uiMsg,
WPARAM wParam, LPARAM lParam)
{
@@ -1212,10 +1246,11 @@ START_TEST(dialog)
if (!RegisterWindowClasses()) assert(0);
- GetNextDlgItemTest();
- IsDialogMessageWTest();
- WM_NEXTDLGCTLTest();
- InitialFocusTest();
+ test_GetNextDlgItem();
+ test_IsDialogMessage();
+ test_WM_NEXTDLGCTL();
+ test_initial_focus();
+ test_GetDlgItem();
test_GetDlgItemText();
test_DialogBoxParamA();
test_DisabledDialogTest();
More information about the wine-cvs
mailing list