https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d066dae7d9a396c1c000ea87225a3718d10b6322
commit d066dae7d9a396c1c000ea87225a3718d10b6322 Author: Katayama Hirofumi MZ <katayama.hirofumi...@gmail.com> AuthorDate: Sat Jul 10 00:05:43 2021 +0900 Commit: GitHub <nore...@github.com> CommitDate: Sat Jul 10 00:05:43 2021 +0900 [IMM32_APITEST] Add imm32_apitest test program (#3810) Add a test program for imm32.dll as a proof of concept. CORE-11700 --- modules/rostests/apitests/CMakeLists.txt | 1 + modules/rostests/apitests/imm32/CMakeLists.txt | 10 ++++++++ modules/rostests/apitests/imm32/imcc.c | 33 ++++++++++++++++++++++++++ modules/rostests/apitests/imm32/testlist.c | 11 +++++++++ 4 files changed, 55 insertions(+) diff --git a/modules/rostests/apitests/CMakeLists.txt b/modules/rostests/apitests/CMakeLists.txt index 7c1ff8120ed..b9f10c04120 100644 --- a/modules/rostests/apitests/CMakeLists.txt +++ b/modules/rostests/apitests/CMakeLists.txt @@ -23,6 +23,7 @@ add_subdirectory(dnsapi) add_subdirectory(fontext) add_subdirectory(gdi32) add_subdirectory(gditools) +add_subdirectory(imm32) add_subdirectory(iphlpapi) add_subdirectory(kernel32) add_subdirectory(loadconfig) diff --git a/modules/rostests/apitests/imm32/CMakeLists.txt b/modules/rostests/apitests/imm32/CMakeLists.txt new file mode 100644 index 00000000000..7e5e1223d7b --- /dev/null +++ b/modules/rostests/apitests/imm32/CMakeLists.txt @@ -0,0 +1,10 @@ + +list(APPEND SOURCE + imcc.c + testlist.c) + +add_executable(imm32_apitest ${SOURCE}) +target_link_libraries(imm32_apitest wine ${PSEH_LIB}) +set_module_type(imm32_apitest win32cui) +add_importlibs(imm32_apitest imm32 msvcrt kernel32 ntdll) +add_rostests_file(TARGET imm32_apitest) diff --git a/modules/rostests/apitests/imm32/imcc.c b/modules/rostests/apitests/imm32/imcc.c new file mode 100644 index 00000000000..230222be263 --- /dev/null +++ b/modules/rostests/apitests/imm32/imcc.c @@ -0,0 +1,33 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Test for imm32 IMCC + * COPYRIGHT: Copyright 2021 Katayama Hirofumi MZ (katayama.hirofumi...@gmail.com) + */ + +#include <ntstatus.h> +#define WIN32_NO_STATUS +#include <windows.h> +#include <imm.h> +#include "wine/test.h" + +START_TEST(imcc) +{ + HIMCC hImcc; + DWORD i; + + for (i = 0; i < 4; ++i) + { + hImcc = ImmCreateIMCC(i); + ok_long(LocalSize(hImcc), 4); + ok_long(ImmGetIMCCSize(hImcc), 4); + ok_long(ImmGetIMCCLockCount(hImcc), (LocalFlags(hImcc) & LMEM_LOCKCOUNT)); + ImmDestroyIMCC(hImcc); + } + + hImcc = ImmCreateIMCC(5); + ok_long(LocalSize(hImcc), 5); + ok_long(ImmGetIMCCSize(hImcc), 5); + ok_long(ImmGetIMCCLockCount(hImcc), (LocalFlags(hImcc) & LMEM_LOCKCOUNT)); + ImmDestroyIMCC(hImcc); +} diff --git a/modules/rostests/apitests/imm32/testlist.c b/modules/rostests/apitests/imm32/testlist.c new file mode 100644 index 00000000000..15f00bfca65 --- /dev/null +++ b/modules/rostests/apitests/imm32/testlist.c @@ -0,0 +1,11 @@ + +#define STANDALONE +#include <wine/test.h> + +extern void func_imcc(void); + +const struct test winetest_testlist[] = +{ + { "imcc", func_imcc }, + { 0, 0 } +};