82 Commits
Author SHA1 Message Date
Oleg DubinskiyandMohammad Amin Mollazadeh c126bccb4b [USER32_APITEST] Add a test for IsServerSideWindow() (#9229)
CORE-19946
Adapted from PR #7577

This function tests whether a window has a window procedure that resides in kernel mode.
It is not documented by Microsoft, but unofficial (3rd party) documentation[^1] exists.
It is required and used internally by uxtheme.dll from Windows XP/2003/Vista/7/etc.

[^1]: https://undoc.airesoft.co.uk/user32.dll/IsServerSideWindow.php

Co-authored-by: Mohammad Amin Mollazadeh <[email protected]>
2026-07-06 17:58:55 +02:00
Katayama Hirofumi MZ b7932431e7 [SDK][SHELL32_APITEST][USER32_APITEST] Update <msgdump.h> to version 21 (#9171)
Modernize development tools.
JIRA issue: N/A
- Update <msgdump.h> to
  version 21.
- Adapt shell32_apitest and
  user32_apitest.
2026-06-17 23:37:30 +09:00
Timo Kreuzer dd27d0e194 [APITESTS] Make sure test functions are name correctly
With automatic test list creation, the function name (from START_TEST(name)) will also be the test name and some of those conflict with wine tests.
2026-05-15 16:50:48 +00:00
Timo Kreuzer 1cf31524d5 [REACTOS] Stop using non-conforming swprintf / vswprintf
Use the underscored versions instead.
2026-05-07 06:27:58 +00:00
Timo Kreuzer e5bf20d865 [USER32_APITEST] Fix stack corruption
Found by /RTC1
2026-04-24 14:17:58 +00:00
Carl J. Bialorucki 20d322fcdc [USER32_APITEST_MENUUI] Don't let rosautotest wait on a test list from user32_apitest_menuui.exe (#8469)
- [USER32_APITEST_MENUUI] Return an empty test list when called with --list
NOTE: The better way to fix this is to move this executable to \reactos\bin\suppl. But that requires some refactoring of tests already in our source tree.
2026-03-23 18:32:52 -05:00
Doug Lyons 3637fd8b1d [USER32_APITEST] New LoadImage 1bpp test for PR #4015 retry (#8522)
CORE-13935

* Make LoadImage1bpp.c a sub-test of LoadImage.c for apitest.

* Add broken() for Vista x64 Testbot regression test fix based on reviewer comments.
2026-01-29 22:06:57 -06:00
Timo Kreuzer 5272cc27d6 [CRT_APITEST] Fix tests for sprintf
- Dynamically load function from the appropriate DLL
- Fix tests for crtdll and user32
2025-10-18 15:12:19 +03:00
Timo Kreuzer 570354e984 [ROSTESTS] Remove definitions of __ROS_LONG64__ in testlist.c 2025-09-11 09:17:13 +03:00
Katayama Hirofumi MZ d958a24678 [NTUSER][USER32_APITEST] Support ShowWindow.SW_FORCEMINIMIZE (#8261)
One more step to support ghost windows.
JIRA issue: CORE-19671
- Add IntForceMinimizeWindow helper
  function.
- Use IntForceMinimizeWindow in
  co_WinPosShowWindow function.
- Enhance ShowWindow testcase in
  user32_apitest.
- Add mask to the return value of
  GetWindowLong.
2025-07-20 13:14:01 +09:00
Whindmar Saksit c0ea1c0e9f [USER32][APITESTS] Use the correct user32 icon resource ids (#7807) 2025-07-06 15:24:25 +02:00
Katayama Hirofumi MZ 3c35117f97 [NTUSER][USER32_APITEST] TrackPopupMenuEx: Check flags (#8094)
Validate flags.
JIRA issue: CORE-3247
- In NtUserTrackPopupMenuEx function, validate the flags.
- If validation failed, then set last error and return FALSE.
- Add SAL annotations to NtUserTrackPopupMenuEx.
- Keep reference to menu in the function.
- Add TrackPopupMenuEx testcase to user32_apitest.
2025-06-10 21:25:14 +09:00
Katayama Hirofumi MZ 92ff994cc2 [SDK][USER32_APITEST] Update <msgdump.h> (#8099)
JIRA issue: N/A
- Replace MSGDUMP_TPRINTF with
  MSGDUMP_PRINTF and use ANSI for
  strings. Now, we can use printf-
  compatible function for dump.
- Fix some mistakes.
- Adapt user32_apitest
  MessageStateAnalyzer to these
  changes.
2025-06-08 14:10:22 +09:00
Katayama Hirofumi MZ 7d8d8a6e52 [USER32_APITEST] Add MenuUI testcase (#8066)
Verifying menu behavior.
JIRA issue: CORE-5065
JIRA issue: CORE-10829
JIRA issue: CORE-11756
- Add user32_apitest_menuui sub
  program for MenuUI testcase.
- Add MenuUI testcase.
2025-06-04 05:56:01 +09:00
Timo Kreuzer d1f9e06a4f [REACTOS] Change manifest architecture from "X86"/"" to "*" 2025-05-05 10:02:51 +00:00
Whindmar Saksit 4965d6a8ac [USER32_APITEST] Add more PrivateExtractIcons tests (#7831) 2025-04-02 15:16:04 +02:00
Katayama Hirofumi MZ fe11f7a2e5 [REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Doug Lyons 1c55924045 [USER32_APTEST][USER32] CopyImage improve regression test and function. (#7524)
CORE-19806 and CORE-17902.

* Follow-up of PR #6886 and commit d3ec7cd to remove hack.
2024-12-24 17:51:31 -06:00
Tomáš VeselýandHermès BÉLUSCA - MAÏTO 0540c212ea [USER32_APITEST] Improve RedrawWindow API test. Follow up of #7160 (#7297)
* extension-RedrawWindow-apitest-by-flags-update

Co-authored-by: Hermès BÉLUSCA - MAÏTO <[email protected]>
2024-12-11 13:58:15 -06:00
Tomáš Veselý 52d6a71461 [USER32_APITEST] Improve RedrawWindow API test by testing flags (#7160)
As part of fixing some bugs like CORE-13149, extend the tests to include more detailed examination of rendering functions. Extend the RedrawWindow test to include tests of all flags. As part of it, I am also testing the 2-point states of the render areas.

I moved the original test without changes into a separate function GetMessageRedrawWindowTest. For the flag tests I added FlagsRedrawWindowTest function. It sequentially tests the RedrawWindow with different flag combinations and compares the results with those discovered in Windows XP and Windows 11 (the values in both versions confirmed to be identical).

The API test turned out well in ReactOS, the only deviation was that in many cases (whenever the RDW_INVALIDATE flag is present) a WM_ERASEBKGND message is received after the window is rendered without the RDW_ERASE flag.
(this is what I'm focusing on now in https://github.com/turican0/reactos/tree/fix-RDW_ERASE-in-co_UserRedrawWindow, but before I merge it, I want to create more API tests)
2024-09-01 14:32:43 +03:00
Marek BencandStanislav Motylkov a9b77d89fb [USER32_APITEST] Add scrollbar showing/hiding testcase (#7254)
Checks CORE-19669, making sure that CS_HREDRAW and CS_VREDRAW
are respected when the client area changes due to the scrollbar
disappearing or re-appearing.

ROSTESTS-397

Co-authored-by: Stanislav Motylkov <[email protected]>
2024-08-27 13:25:02 -05:00
Katayama Hirofumi MZ efe42074cc [USER32][USER32_APITEST] CopyImage: Check flags (#7075)
JIRA issue: N/A
- Check CopyImage flags.
- If there is any invalid flag, then set ERROR_INVALID_PARAMETER
  and return NULL.
- Add CopyImage testcase.
2024-07-08 19:24:15 +09:00
Katayama Hirofumi MZ 172d65327b [USER32_APITEST] Add SetWindowPlacement testcase (#7082)
Verify behavior of NtUserSetWindowPlacement
function.
JIRA issue: N/A
Add SetWindowPlacement testcase into
user32_apitest.
2024-07-08 00:34:18 +09:00
Doug Lyons ffd060295d [USER32_APITEST] Test MSVC rc.exe compiled 32-bpp BI_BITFIELD bmp (#6755)
* Cleanup and Changes based on reviewer comments
* For failure, show returned and expected values

CORE-17005
2024-04-27 13:30:51 -05:00
Katayama Hirofumi MZ 0d43ce7879 [USER32_APITEST][SDK] Add GW_ENABLEDPOPUP testcase (#6564)
JIRA issue: CORE-6920
- Add GW_ENABLEDPOPUP constant to
  <winuser.h>.
- Add GW_ENABLEDPOPUP testcase.
2024-03-06 07:52:30 +09:00
Whindmar Saksit 82c07abf1a [USER32] Support loading icons from data file module (#6065)
GetModuleFileName() fails on LOAD_LIBRARY_AS_DATAFILE causing LoadImage to fail.
Use a fake filename for LR_SHARED (with same format as Windows).
This may not be a good design, but it does match Windows' behaviour.

+ Added test.
2023-12-17 22:11:50 +01:00
Doug Lyons c00d41d91c [USER32_APITEST] Add test for bad 'Icon Groups' but good 'Icons' such as F1'97 (#6020)
Add test for bad 'Icon Groups' but good 'Icons' such as created
by old versions of Watcom C/C++
That icon shows fine in Windows Explorer WinXP/Win2K3,
but does not show in WinVista/Win7 anymore.
A very special corner case.

We will commit the proposed fix shortly after committing the new test.
2023-11-26 15:26:05 +00:00
Hermès Bélusca-Maïto 6cdaad13bd Add missing OEMRESOURCE for using the OBM_, OIC_, OCR_ defines from winuser.h
Fix build by commit 072965eb0 for modules:
EXPLORER, COMCTL32, IERNONCE, URLMON, USER32_(API|WINE)TESTS

Note that some of these modules (from Wine) already have the OEMRESOURCE
defined; however, only in one of their files. But we have added
precompiled headers for them where we have included either windows.h
or winuser.h in them, without OEMRESOURCE. The result is, that when
compiling these modules with PCH support, the OEMRESOURCE define was
_not_ satisfied and thus, compile errors arose.

Fix this by adding #define OEMRESOURCE before the windows headers also
in the precompiled headers we have added for these modules.
2023-11-22 17:02:45 +01:00
Egor Ananyin 26ffe2f826 [USER32_APITEST] Add a test for system menu messages (#5573)
Based on msg.c Wine test. CORE-19061
2023-08-24 16:33:03 +02:00
Doug Lyons 454a27cdff [USER32_APITEST] Improve user32:PrivateExtractIcons test (#5209)
- Improve the test by examining total number of icon groups in files
  and by adding more testcases including two new icon files.
- Add new ROS.ico file which has both a normal icon and a PNG one.
- Add tests for explorer.exe and new ROS.ico and sysicon.ico files.

CORE-18897
2023-07-10 22:24:41 +03:00
Timo Kreuzer c7fd9983cb [USER32_APITEST] Add tests for GetClassInfo 2023-05-16 21:59:19 +03:00
Timo Kreuzer a9675d00a2 [USER32_APITEST] Add tests for [Get|Set]Window[Word|Long|LongPtr] 2023-05-16 21:59:19 +03:00
Timo Kreuzer 28a305e26a [USER32_APITEST] Comment out a test for GetMessageTime that randomly fails on Windows 2023-04-17 00:41:31 +03:00
Timo Kreuzer e536256e0a [USER32_APITEST] Remove "ugly ros hack"
This hack corrupts memory and causes test failures on Windows.
2023-04-17 00:41:31 +03:00
Katayama Hirofumi MZ 7c14c0ed73 [USER32_APITEST] Follow-up of c39bf0d
Avoid buffer overflow. CORE-15289, CORE-11700
2023-03-20 16:33:11 +09:00
Katayama Hirofumi MZ c39bf0d54b [USER32_APITEST] Improve MessageStateAnalyzer testcase
CORE-15289, CORE-11700
2023-03-20 16:17:50 +09:00
Stanislav Motylkov 4b10fdbce9 [USER32_APITEST] Add tests for CharPrev/Next/Ex/A/W
CORE-18415 CORE-18452
2022-11-07 19:02:09 +03:00
Stanislav Motylkov 6aacfa93c0 [USER32_APITEST] Add tests for Keyboard Layouts
CORE-17906
2022-10-05 16:18:16 +03:00
Stanislav Motylkov c1c127932d [USER32_APITEST] Add tests for MapVirtualKeyW
For @julcar. See PR #4730 for details. CORE-17906
2022-10-02 02:46:24 +03:00
Victor Perevertkin 97f075a2ab [USER32_APITEST] Convert global variables to static ones 2022-04-26 03:38:29 +03:00
James Tabor 993eb07654 [User32|API_TEST] Add Get Window Ptr Test
Adding test to verify results from a foreign window process.
See CORE-17856.
2021-11-27 14:47:11 -06:00
Arjav Garg a602bc3550 [NTUSER] Fix UserSendKeyboardInput() KEYEVENTF_SCANCODE use case (CORE-17144) 2021-09-25 09:56:12 -04:00
Hermès Bélusca-Maïto 9393fc320e [FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Hermès Bélusca-Maïto 9b1edceae1 [REACTOS] Fix some instances of DPRINTs with trailing whitespace before newlines. 2021-09-13 03:52:19 +02:00
Katayama Hirofumi MZ 94d9e9c2a8 [USER32_APITEST] Add SetFocus testcase (#3732)
Investigate about setting keyboard focus. CORE-17550
2021-06-09 16:14:31 +09:00
Katayama Hirofumi MZ a8ed286c86 [USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
2021-05-30 09:37:38 +09:00
Dmitry Borisov 2e6c9ee1ca [USER32_APITEST] Add a test for SPI_GETGRADIENTCAPTIONS (#3338) 2020-12-20 23:12:20 +03:00
Amine Khaldi 139a3d6661 [CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Katayama Hirofumi MZ 1816e4f6cb [USER32_APITEST] Strengthen DrawText testcase (#2450)
Add uFormat and pszText parameters into user32_apitest DrawText testcase. CORE-16753
2020-03-17 23:24:11 +09:00
Katayama Hirofumi MZ eb227153e5 [USER32_APITEST] Strengthen ScrollWindowEx for SW_SCROLLCHILDREN (#2324)
Improve ScrollWindowEx testcase for investigation of SW_SCROLLCHILDREN flag.
CORE-16687, CORE-12114
2020-02-11 11:27:55 +09:00