[COMCTL32_APITEST] Add a testcase for product version string (#8216)

Addendum to commit b5f763447c.

- KVM x86: https://reactos.org/testman/compare.php?ids=102897,102903
- KVM x64: https://reactos.org/testman/compare.php?ids=102898,102905

comctl32:tooltipv6: 1 tests executed (0 marked as todo, 0 failures), 0 skipped.
This commit is contained in:
Dmitry Borisov
2025-07-05 00:26:37 +06:00
committed by GitHub
parent bb881021ce
commit 0462ebf0d6
3 changed files with 83 additions and 2 deletions

View File

@@ -1,7 +1,19 @@
add_executable(comctl32_apitest button.c imagelist.c propsheet.c toolbar.c testlist.c ../include/msgtrace.c comctl32_apitest.rc)
list(APPEND SOURCE
../include/msgtrace.c
button.c
imagelist.c
propsheet.c
testlist.c
toolbar.c
tooltip.c)
add_executable(comctl32_apitest
${SOURCE}
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_importlibs(comctl32_apitest uxtheme comctl32 user32 gdi32 version msvcrt kernel32 ntdll)
add_rostests_file(TARGET comctl32_apitest)
add_rostests_file(FILE "${CMAKE_CURRENT_SOURCE_DIR}/comctl32v5.manifest")

View File

@@ -5,6 +5,7 @@ extern void func_button(void);
extern void func_ImageListApi(void);
extern void func_propsheet(void);
extern void func_toolbar(void);
extern void func_tooltip(void);
const struct test winetest_testlist[] =
{
@@ -12,5 +13,6 @@ const struct test winetest_testlist[] =
{ "ImageListApi", func_ImageListApi },
{ "propsheetv6", func_propsheet },
{ "toolbarv6", func_toolbar },
{ "tooltipv6", func_tooltip },
{ 0, 0 }
};

View File

@@ -0,0 +1,67 @@
/*
* PROJECT: ReactOS API Tests
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Unit tests for the comctl32 tooltips
* COPYRIGHT: Copyright 2025 Dmitry Borisov <di.sean@protonmail.com>
*/
/* INCLUDES *******************************************************************/
#include "wine/test.h"
#include <windows.h>
/* FUNCTIONS ******************************************************************/
static
VOID
TestDllProductVersion(VOID)
{
HANDLE hAppHeap = GetProcessHeap();
DWORD dwInfoSize;
LPVOID lpData;
VS_FIXEDFILEINFO* pInfo;
UINT uInfoLen;
dwInfoSize = GetFileVersionInfoSizeW(L"comctl32.dll", NULL);
if (dwInfoSize == 0)
{
skip("GetModuleFileNameW failed\n");
return;
}
lpData = HeapAlloc(hAppHeap, 0, dwInfoSize);
if (!lpData)
{
skip("No memory\n");
return;
}
if (!GetFileVersionInfoW(L"comctl32.dll", 0, dwInfoSize, lpData))
{
skip("Unable to retrieve the file version information\n");
goto Cleanup;
}
if (!VerQueryValueW(lpData, L"\\", (LPVOID *)&pInfo, &uInfoLen) || uInfoLen == 0)
{
skip("Unable to retrieve the root block\n");
goto Cleanup;
}
/*
* SIV 5.80 expects that the "product version" string of the comctl32.dll file
* will have the "file version" format. This value is used to determine
* whether tooltip support is available.
*/
ok(pInfo->dwProductVersionMS >= MAKELONG(5, 0),
"Unknown comctl32.dll version %lx\n", pInfo->dwProductVersionMS);
Cleanup:
HeapFree(hAppHeap, 0, lpData);
}
START_TEST(tooltip)
{
TestDllProductVersion();
}