Author: gadamopoulos
Date: Mon Jul 31 13:04:09 2017
New Revision: 75462

URL: http://svn.reactos.org/svn/reactos?rev=75462&view=rev
Log:
[COMCTL32_APITESTS] -Add toolbar tests for TB_SETBUTTONSIZE, TB_SETPADDING, 
TB_GETBUTTONSIZE, TB_GETMETRICS.

Modified:
    trunk/rostests/apitests/comctl32/toolbar.c

Modified: trunk/rostests/apitests/comctl32/toolbar.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/comctl32/toolbar.c?rev=75462&r1=75461&r2=75462&view=diff
==============================================================================
--- trunk/rostests/apitests/comctl32/toolbar.c  [iso-8859-1] (original)
+++ trunk/rostests/apitests/comctl32/toolbar.c  [iso-8859-1] Mon Jul 31 
13:04:09 2017
@@ -62,6 +62,141 @@
     DestroyWindow(hwnd);
 }
 
+void TestSetButtonSize()
+{
+    HWND hwnd;
+    LRESULT bsize;
+
+    hwnd = CreateWindowExW(0, TOOLBARCLASSNAMEW, L"Test", 0, 0, 0, 0, 0, 0, 0, 
0, NULL);
+    ok(hwnd != NULL, "CreateWindowEx failed\n");
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160017, "Expected 0x160017 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, MAKELONG(0, 0));
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160018, "Expected 0x160018 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160017, "Expected 0x160017 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x100001);
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160017, "Expected 0x160017 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x160017);
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160017, "Expected 0x160017 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x170017);
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x170017, "Expected 0x170017 got %lx\n", bsize);
+
+    DestroyWindow(hwnd);
+}
+
+void TestPadding()
+{
+    HWND hwnd;
+    LRESULT bsize;
+
+    hwnd = CreateWindowExW(0, TOOLBARCLASSNAMEW, L"Test", 0, 0, 0, 0, 0, 0, 0, 
0, NULL);
+    ok(hwnd != NULL, "CreateWindowEx failed\n");
+
+    bsize = SendMessageW(hwnd, TB_GETPADDING, 0, 0);
+    ok(bsize == 0x60007, "Expected 0x60007 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETPADDING, 0, 0x10001);
+    SendMessageW(hwnd, TB_SETBITMAPSIZE, 0, 0x10001);
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETPADDING, 0, 0);
+    ok(bsize == 0x10001, "Expected 0x10001 got %lx\n", bsize);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x20002, "Expected 0x20002 got %lx\n", bsize);
+
+#if 0 /* Luna specific */
+    SetWindowTheme(hwnd, L"TaskBand", NULL);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x20002, "Expected 0x20002 got %lx\n", bsize);
+
+    bsize = SendMessageW(hwnd, TB_GETPADDING, 0, 0);
+    ok(bsize == 0x10001, "Expected 0x10001 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160006, "Expected 0x160006 got %lx\n", bsize);
+
+    bsize = SendMessageW(hwnd, TB_GETPADDING, 0, 0);
+    ok(bsize == 0x10001, "Expected 0x10001 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETPADDING, 0, 0x10001);
+    SendMessageW(hwnd, TB_SETBITMAPSIZE, 0, 0x10001);
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETPADDING, 0, 0);
+    ok(bsize == 0x10001, "Expected 0x10001 got %lx\n", bsize);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x160006, "Expected 0x160006 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBITMAPSIZE, 0, 0x10001);
+    SendMessageW(hwnd, TB_SETPADDING, 0, 0x20002);
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x170007, "Expected 0x170007 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBITMAPSIZE, 0, 0x20002);
+    SendMessageW(hwnd, TB_SETPADDING, 0, 0x20002);
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+    ok(bsize == 0x170008, "Expected 0x170008 got %lx\n", bsize);
+
+    SendMessageW(hwnd, TB_SETBITMAPSIZE, 0, 0x100010);
+    SendMessageW(hwnd, TB_SETPADDING, 0, 0x20002);
+    SendMessageW(hwnd, TB_SETBUTTONSIZE, 0, 0x10001);
+
+    bsize = SendMessageW(hwnd, TB_GETBUTTONSIZE, 0, 0);
+
+    /* With a big enough image size the button size is bitmap size + pading + 
theme content margins */
+    ok(bsize == 0x1a0016, "Expected 0x1a0016 got %lx\n", bsize);
+#endif
+
+    DestroyWindow(hwnd);
+}
+
+void TestButtonSpacing()
+{
+    HWND hwnd;
+    TBMETRICS metrics;
+    LRESULT lres;
+
+    hwnd = CreateWindowExW(0, TOOLBARCLASSNAMEW, L"Test", 0, 0, 0, 0, 0, 0, 0, 
0, NULL);
+    ok(hwnd != NULL, "CreateWindowEx failed\n");
+
+    memset(&metrics, 0, sizeof(metrics));
+    lres = SendMessageW(hwnd, TB_GETMETRICS, 0, (LPARAM)&metrics);
+    ok (lres == 0, "Got %d result\n", (int)lres);
+    ok (metrics.dwMask == 0, "Got %lu\n", metrics.dwMask);
+    ok (metrics.cxPad == 0, "Got %d\n", metrics.cxPad);
+
+    metrics.cbSize = sizeof(metrics);
+    metrics.dwMask = TBMF_PAD|TBMF_BARPAD|TBMF_BUTTONSPACING;
+    lres = SendMessageW(hwnd, TB_GETMETRICS, 0, (LPARAM)&metrics);
+    ok (lres == 0, "Got %lu result\n", lres);
+    ok (metrics.dwMask == (TBMF_PAD|TBMF_BARPAD|TBMF_BUTTONSPACING), "Got 
%lu\n", metrics.dwMask);
+    ok (metrics.cxPad == 7, "Got %d\n", metrics.cxPad);
+    ok (metrics.cyPad == 6, "Got %d\n", metrics.cyPad);
+    ok (metrics.cxButtonSpacing == 0, "Got %d\n", metrics.cxButtonSpacing);
+    ok (metrics.cyButtonSpacing == 0, "Got %d\n", metrics.cyButtonSpacing);
+}
+
 void TestV5VersionMessage()
 {
     HWND hwnd;
@@ -107,6 +242,9 @@
     LoadLibraryW(L"comctl32.dll");
 
     TestVersionMessage();
+    TestSetButtonSize();
+    TestPadding();
+    TestButtonSpacing();
 
     hV5ActCtx = _CreateV5ActCtx();
     ok (hV5ActCtx != INVALID_HANDLE_VALUE, "CreateActCtxW failed\n");


Reply via email to