[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