[Wine-devel] Eter's patch is applied to winehq repo 01/23/13

builder-robot на etersoft.ru builder-robot на etersoft.ru
Ср Янв 23 07:03:03 MSK 2013


New Etersoft's patches since last build time:
commit 77337d75f2902486712b0a822853453ac118085f
Author: Sergey Guralnik <serhio на etersoft.ru>

    user32/tests: Test standard scrollbar initialization.

---

commit 77337d75f2902486712b0a822853453ac118085f
Author: Sergey Guralnik <serhio на etersoft.ru>
Date:   Tue Jan 15 11:15:56 2013 +0200

    user32/tests: Test standard scrollbar initialization.

diff --git a/dlls/user32/tests/scroll.c b/dlls/user32/tests/scroll.c
index 1d7e75e..49f42bb 100644
--- a/dlls/user32/tests/scroll.c
+++ b/dlls/user32/tests/scroll.c
@@ -396,6 +396,101 @@ todo_wine
     DestroyWindow( hwnd);
 }
 
+static LRESULT CALLBACK scroll_init_proc(HWND hwnd, UINT msg,
+                                        WPARAM wparam, LPARAM lparam)
+{
+    SCROLLINFO horz, vert;
+    CREATESTRUCTA *cs = (CREATESTRUCTA *)lparam;
+    BOOL h_ret, v_ret;
+
+    switch(msg)
+    {
+        case WM_NCCREATE:
+            return cs->lpCreateParams ? DefWindowProcA(hwnd, msg, wparam, lparam) :
+                                        TRUE;
+
+        case WM_CREATE:
+            horz.cbSize = sizeof horz;
+            horz.fMask  = SIF_ALL;
+            horz.nMin   = 0xdeadbeaf;
+            horz.nMax   = 0xbaadc0de;
+            vert = horz;
+            h_ret = GetScrollInfo(hwnd, SB_HORZ, &horz);
+            v_ret = GetScrollInfo(hwnd, SB_VERT, &vert);
+
+            if(cs->lpCreateParams)
+            {
+                /* WM_NCCREATE was passed to DefWindowProc */
+                if(cs->style & (WS_VSCROLL | WS_HSCROLL))
+                {
+                    todo_wine
+                        ok(h_ret && v_ret, "GetScrollInfo() should return NON-zero "
+                            "but got h_ret=%d v_ret=%d\n", h_ret, v_ret);
+                    todo_wine
+                        ok(vert.nMin == 0 && vert.nMax == 100,
+                            "unexpected init values(SB_VERT): min=%d max=%d\n",
+                            vert.nMin, vert.nMax);
+                    todo_wine
+                        ok(horz.nMin == 0 && horz.nMax == 100,
+                            "unexpected init values(SB_HORZ): min=%d max=%d\n",
+                            horz.nMin, horz.nMax);
+                }
+                else
+                {
+                    ok(!h_ret && !v_ret, "GetScrollInfo() should return zeru, "
+                            "but got h_ret=%d v_ret=%d\n", h_ret, v_ret);
+                    ok(vert.nMin == 0xdeadbeaf && vert.nMax == 0xbaadc0de,
+                            "unexpected  initialization(SB_VERT): min=%d max=%d\n",
+                            vert.nMin, vert.nMax);
+                    ok(horz.nMin == 0xdeadbeaf && horz.nMax == 0xbaadc0de,
+                            "unexpected  initialization(SB_HORZ): min=%d max=%d\n",
+                            horz.nMin, horz.nMax);
+                }
+            }
+            else
+            {
+                ok(!h_ret && !v_ret, "GetScrollInfo() should return zeru, "
+                    "but got h_ret=%d v_ret=%d\n", h_ret, v_ret);
+                ok(horz.nMin == 0xdeadbeaf && horz.nMax == 0xbaadc0de &&
+                    vert.nMin == 0xdeadbeaf && vert.nMax == 0xbaadc0de,
+                        "unexpected initialization\n");
+            }
+            return FALSE; /* abort creation */
+
+        default:
+            /* need for WM_GETMINMAXINFO, which precedes WM_NCCREATE */
+            return 0;
+    }
+}
+
+static void scrollbar_test_init(void)
+{
+    WNDCLASSEXA wc;
+    CHAR cls_name[] = "scroll_test_class";
+    LONG style[] = {WS_VSCROLL, WS_HSCROLL, WS_VSCROLL | WS_HSCROLL, 0};
+    int i;
+
+    memset( &wc, 0, sizeof wc );
+    wc.cbSize        = sizeof wc;
+    wc.style         = CS_VREDRAW | CS_HREDRAW;
+    wc.hInstance     = GetModuleHandleA(0);
+    wc.hCursor       = LoadCursorA(NULL, IDC_ARROW);
+    wc.hbrBackground = GetStockObject(WHITE_BRUSH);
+    wc.lpszClassName = cls_name;
+    wc.lpfnWndProc   = scroll_init_proc;
+    RegisterClassExA(&wc);
+
+    for(i = 0; i < sizeof style / sizeof style[0]; i++)
+    {
+        /* need not to destroy these windows due creation abort */
+        CreateWindowExA(0, cls_name, NULL, style[i],
+                100, 100, 100, 100, NULL, NULL, wc.hInstance, (LPVOID)TRUE);
+        CreateWindowExA(0, cls_name, NULL, style[i],
+                100, 100, 100, 100, NULL, NULL, wc.hInstance, (LPVOID)FALSE);
+    }
+    UnregisterClassA(cls_name, wc.hInstance);
+}
+
 START_TEST ( scroll )
 {
     WNDCLASSA wc;
@@ -444,6 +539,8 @@ START_TEST ( scroll )
     scrollbar_test_default( WS_VSCROLL);
     scrollbar_test_default( WS_HSCROLL | WS_VSCROLL);
 
+    scrollbar_test_init();
+
     DestroyWindow(hScroll);
     DestroyWindow(hMainWnd);
 }


Подробная информация о списке рассылки Wine-devel