mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:03:00 +00:00
[COMCTL32_APITEST] -Add tests for CCM_GETVERSION and CCM_SETVERSION for the v5 and v6 toolbar control.
svn path=/trunk/; revision=74923
This commit is contained in:
parent
f71f869a95
commit
0cfb73fce3
4 changed files with 142 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
|
||||
add_executable(comctl32_apitest button.c testlist.c ../include/msgtrace.c comctl32_apitest.rc)
|
||||
add_executable(comctl32_apitest button.c toolbar.c testlist.c ../include/msgtrace.c comctl32_apitest.rc)
|
||||
target_link_libraries(comctl32_apitest wine)
|
||||
set_module_type(comctl32_apitest win32cui)
|
||||
add_importlibs(comctl32_apitest uxtheme comctl32 user32 gdi32 msvcrt kernel32 ntdll)
|
||||
add_rostests_file(TARGET comctl32_apitest)
|
||||
add_rostests_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/comctl32v5.manifest")
|
||||
|
|
15
rostests/apitests/comctl32/comctl32v5.manifest
Normal file
15
rostests/apitests/comctl32/comctl32v5.manifest
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
processorArchitecture="*"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
</assembly>
|
|
@ -2,9 +2,11 @@
|
|||
#include <apitest.h>
|
||||
|
||||
extern void func_button(void);
|
||||
extern void func_toolbar(void);
|
||||
|
||||
const struct test winetest_testlist[] =
|
||||
{
|
||||
{ "buttonv6", func_button },
|
||||
{ "toolbarv6", func_toolbar },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
|
123
rostests/apitests/comctl32/toolbar.c
Normal file
123
rostests/apitests/comctl32/toolbar.c
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* PROJECT: ReactOS api tests
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* PURPOSE: Test for toolbar window class v6
|
||||
* PROGRAMMERS: Giannis Adamopoulos
|
||||
*/
|
||||
|
||||
#include "wine/test.h"
|
||||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include <uxtheme.h>
|
||||
#include <undocuser.h>
|
||||
#include <msgtrace.h>
|
||||
#include <user32testhelpers.h>
|
||||
|
||||
HANDLE _CreateV5ActCtx()
|
||||
{
|
||||
ACTCTXW ActCtx = {sizeof(ACTCTX)};
|
||||
WCHAR buffer[MAX_PATH] , *separator;
|
||||
|
||||
ok (GetModuleFileNameW(NULL, buffer, MAX_PATH), "GetModuleFileName failed\n");
|
||||
separator = wcsrchr(buffer, L'\\');
|
||||
if (separator)
|
||||
wcscpy(separator + 1, L"comctl32v5.manifest");
|
||||
|
||||
ActCtx.lpSource = buffer;
|
||||
|
||||
return CreateActCtxW(&ActCtx);;
|
||||
}
|
||||
|
||||
|
||||
void TestVersionMessage()
|
||||
{
|
||||
HWND hwnd;
|
||||
int version;
|
||||
|
||||
hwnd = CreateWindowExW(0, TOOLBARCLASSNAMEW, L"Test", 0, 0, 0, 0, 0, 0, 0, 0, NULL);
|
||||
ok(hwnd != NULL, "CreateWindowEx failed\n");
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 5, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 7, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 4, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 6, "Got %d, expected 6\n", version);
|
||||
|
||||
DestroyWindow(hwnd);
|
||||
}
|
||||
|
||||
void TestV5VersionMessage()
|
||||
{
|
||||
HWND hwnd;
|
||||
int version;
|
||||
|
||||
hwnd = CreateWindowExW(0, TOOLBARCLASSNAMEW, L"Test", 0, 0, 0, 0, 0, 0, 0, 0, NULL);
|
||||
ok(hwnd != NULL, "CreateWindowEx failed\n");
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 0, "Got %d, expected 0\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 6, 0);
|
||||
ok(version == -1, "Got %d, expected -1\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 7, 0);
|
||||
ok(version == -1, "Got %d, expected -1\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 5, 0);
|
||||
ok(version == 0, "Got %d, expected -1\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 5, "Got %d, expected 5\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 4, 0);
|
||||
ok(version == 5, "Got %d, expected -1\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 4, "Got %d, expected 5\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_SETVERSION, 3, 0);
|
||||
ok(version == 4, "Got %d, expected -1\n", version);
|
||||
|
||||
version = SendMessageW(hwnd, CCM_GETVERSION, 0, 0);
|
||||
ok(version == 3, "Got %d, expected 5\n", version);
|
||||
|
||||
DestroyWindow(hwnd);
|
||||
}
|
||||
|
||||
START_TEST(toolbar)
|
||||
{
|
||||
HANDLE hV5ActCtx;
|
||||
|
||||
LoadLibraryW(L"comctl32.dll");
|
||||
|
||||
TestVersionMessage();
|
||||
|
||||
hV5ActCtx = _CreateV5ActCtx();
|
||||
ok (hV5ActCtx != INVALID_HANDLE_VALUE, "");
|
||||
if (hV5ActCtx)
|
||||
{
|
||||
ULONG_PTR cookie;
|
||||
BOOL bActivated = ActivateActCtx(hV5ActCtx, &cookie);
|
||||
if (bActivated)
|
||||
{
|
||||
TestV5VersionMessage();
|
||||
DeactivateActCtx(0, cookie);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue