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…
==============================================================================
--- 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");