comctl32: Add initial tests for the status bar control.

oldstable
Lei Zhang 2007-01-02 22:23:51 -08:00 committed by Alexandre Julliard
parent c292c40d05
commit 3a463f039b
2 changed files with 83 additions and 0 deletions

View File

@ -15,6 +15,7 @@ CTESTS = \
mru.c \
progress.c \
propsheet.c \
status.c \
string.c \
subclass.c \
tab.c \

View File

@ -0,0 +1,82 @@
/* Unit test suite for status control.
*
* Copyright 2007 Google (Lei Zhang)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <assert.h>
#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include "wine/test.h"
static HINSTANCE hinst;
static HWND create_status_control(DWORD style, DWORD exstyle)
{
HWND hWndStatus;
/* make the control */
hWndStatus = CreateWindowEx(0, STATUSCLASSNAME, NULL, style,
/* placement */
0, 0, 300, 20,
/* parent, etc */
NULL, NULL, hinst, NULL);
assert (hWndStatus);
return hWndStatus;
}
static void test_status_control(void)
{
HWND hWndStatus;
int r;
int nParts[] = {50, 150, -1};
RECT rc;
hWndStatus = create_status_control(0, 0);
r = SendMessage(hWndStatus, SB_SETPARTS, 3, (long)nParts);
ok(r == TRUE, "Expected TRUE, got %d\n", r);
r = SendMessage(hWndStatus, SB_SETTEXT, 0, (LPARAM)"First");
ok(r == TRUE, "Expected TRUE, got %d\n", r);
r = SendMessage(hWndStatus, SB_SETTEXT, 1, (LPARAM)"Second");
ok(r == TRUE, "Expected TRUE, got %d\n", r);
r = SendMessage(hWndStatus, SB_SETTEXT, 2, (LPARAM)"Third");
ok(r == TRUE, "Expected TRUE, got %d\n", r);
r = SendMessage(hWndStatus, SB_GETRECT, 0, (LPARAM)&rc);
ok(r == TRUE, "Expected TRUE, got %d\n", r);
ok(rc.top == 2, "Expected 2, got %d\n", rc.top);
ok(rc.bottom == 21, "Expected 21, got %d\n", rc.bottom);
ok(rc.left == 0, "Expected 0, got %d\n", rc.left);
ok(rc.right == 50, "Expected 50, got %d\n", rc.right);
r = SendMessage(hWndStatus, SB_GETRECT, -1, (LPARAM)&rc);
ok(r == FALSE, "Expected FALSE, got %d\n", r);
r = SendMessage(hWndStatus, SB_GETRECT, 5, (LPARAM)&rc);
ok(r == FALSE, "Expected FALSE, got %d\n", r);
DestroyWindow(hWndStatus);
}
START_TEST(status)
{
hinst = GetModuleHandleA(NULL);
InitCommonControls();
test_status_control();
}