Commit Graph

84 Commits

Author SHA1 Message Date
Francois Gouget a21d4fb8e3 user32/tests: Use the caller line number for open_clipboard() & co.
In particular this stops the traces in open_clipboard() and
has_no_open_wnd() from clobbering the line number when used in
expressions such as ok(has_no_open_wnd(), ...).

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Francois Gouget 91a791e517 user32/tests: Preserve the initial GetLastError() value for test_ClipboardOwner().
One of the tests expects GetLastError() to still return 0xdeadbeef after
has_no_open_wnd(), which would not be the case if another process did
open the clipboard.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Francois Gouget 222d2d94e0 user32/tests: Use winetest contexts to simplify set_clipboard_data_process().
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Francois Gouget f58505d1db user32/tests: Protect GetOpenClipboardWindow() from interference.
As for OpenClipboard(), if another application opened the clipboard,
GetOpenClipboardWindow() will not return the expected value.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:00:30 +02:00
Francois Gouget 316eec8f66 user32/tests: Protect OpenClipboard() from interference.
Applications using ole32's clipboard API (e.g. Radeon / QT5) end up
monitoring the content of the clipboard and calling OpenClipboard()
while user32:clipboard runs. This causes the test's own
OpenClipboard() calls to fail.
Similarly the KDE clipboard manager may query the Wine clipboard
content while the test runs, causing winex11.drv to call
OpenClipboard() with the same effect.
So call OpenClipboard() again when it fails due to the clipboard
already being open. If opening the clipboard still fails, trace who
opened the clipboard, particularly the window class name to help
identify the source of interference.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:00:30 +02:00
Francois Gouget 76a027b75d user32/tests: Use winetest contexts to simplify test_string().
This ensures all traces have the relevant context information, in
particular the OpenClipboard() checks, and simplifies the ok() calls.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:54:41 +02:00
Francois Gouget c59cd90633 user32/tests: Use wine_{push,pop}_context() to simplify test_synthesized().
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:54:39 +02:00
Francois Gouget cf85253a9c user32/tests: Fix the clipboard format id vs. atom table checks.
One cannot assume that a random integer has zero chance of being a valid
atom.
Reenable the GlobalFindAtomA() check in a todo_wine.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-21 08:56:33 +02:00
Francois Gouget 948f20312b user32/tests: Fix the clipboard CF_LOCALE test.
By default CF_LOCALE matches the current input language, not the default
user LCID.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 22:05:32 +02:00
Francois Gouget a5639d62b5 user32/tests: Avoid copying the clipboard buffer sizes everywhere.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 22:05:32 +02:00
Francois Gouget a909baeb4e tests: Report all errors when failing to wait for a child process.
Report the line number where the test failed to wait for the child so
one can identify which child process did not behave as expected.
Also wait_child_process() is meant for the general case so report
all non-crash error cases as test failures so they are accounted for.
Omit the "winetest_" prefix to match the other Wine test functions and
so the underlying winetest_wait_child_process() function can be wrapped
with the usual line-capturing macros.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:51:44 +01:00
Zebediah Figura 388dd4d890 user32/tests: Avoid testing that GDI handles are no longer valid.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Michael Stefaniuc 1694ab087a user32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-28 18:27:20 +02:00
Zebediah Figura 318edcc94a user32/tests: Wait for the WM_CLIPBOARDUPDATE message to be received.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 10:24:25 +01:00
Zebediah Figura 0b63b779cc user32/tests: Add a helper to check clipboard sequence and messages.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 10:24:22 +01:00
Marcus Meissner 77f4c20af3 user32/tests: Check GetClipboardFormatName length.
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 12:15:28 +01:00
Marcus Meissner ebfd1d3df6 user32/tests: Removed a unreliable test.
Signed-off-by: Marcus Meissner <meissner@suse.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-31 17:00:47 +01:00
Alexandre Julliard 719e28bd2c server: Don't increment the clipboard sequence number for delayed rendering or synthesized formats.
Based on a patch by Piotr Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-24 13:03:39 +02:00
Piotr Caban 66c7b37a98 user32: Test clipboard sequence number for delayed rendered data.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:19 +02:00
Piotr Caban 1e9d40e601 user32: Test clipboard sequence number for synthesized data.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:17 +02:00
Piotr Caban 61d78205d2 user32: Don't load GetClipboardSequenceNumber dynamically in tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 19:02:15 +02:00
Alexandre Julliard 0647abc507 user32/tests: Test resulting size of strings with trailing nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 16:55:45 -05:00
Sebastian Lackner cf0f7fcfd5 user32/tests: Fix test failures on 64-bit testbot VMs.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 18:38:13 +02:00
Sebastian Lackner df3c2a4a41 user32: Also release GMEM_FIXED data in free_cached_data.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-01 15:14:10 +02:00
Alexandre Julliard 8f24641ff3 user32: Enforce null termination of strings added to the clipboard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:24 +09:00
Alexandre Julliard f0fbf1a9d1 user32: Cache clipboard data on the client side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 15:12:21 +09:00
Alexandre Julliard 3044935b0e user32: Retrieve clipboard data from the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:48:32 +09:00
Alexandre Julliard c69b4995c5 user32: Retrieve available clipboard formats from the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:20:41 +09:00
Alexandre Julliard 79f90e4e41 user32: Store clipboard data on the server side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 14:20:26 +09:00
Alexandre Julliard 08aa64e38e user32/tests: Add some tests for the contents of the clipboard data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-15 21:02:34 +09:00
Alexandre Julliard 4bdcf512cf user32: Fix GetClipboardFormatName behavior for integer formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 16:25:07 +09:00
Alexandre Julliard 30179166d2 user32/tests: Comment out a test that crashes on 64-bit Vista.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 14:19:33 +09:00
Alexandre Julliard 0b95237677 user32/tests: Add more tests for clipboard data storage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:41:02 +09:00
Alexandre Julliard ed97fa1cb2 user32/tests: Add more tests for GDI and private clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:49:27 +09:00
Alexandre Julliard 3bab02d02a user32/tests: Make the clipboard sequence tests more strict.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:48:58 +09:00
Alexandre Julliard ef08bd7675 user32: Clear last error in EnumClipboardFormats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-09 22:48:32 +09:00
Alexandre Julliard 9a652e211c user32: Synthesize bitmap clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 11:36:24 +09:00
Alexandre Julliard 1993898459 user32: Synthesize metafile clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 10:51:21 +09:00
Alexandre Julliard 8865f4a4ec user32: Synthesize text clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 00:34:24 +09:00
Alexandre Julliard b1e8ed3e3b user32/tests: Add a few more tests for synthesized formats rendering.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 17:24:53 +09:00
Alexandre Julliard fa06ecbfce user32: Implement GetUpdatedClipboardFormats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-06 15:35:49 +09:00
Alexandre Julliard e01592e82f user32/tests: Add some tests for synthesized clipboard formats.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 16:20:07 +09:00
Alexandre Julliard 2b8021d4d0 server: Don't release the clipboard owner window when the owner thread terminates.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:14:22 +09:00
Alexandre Julliard bddab0e7f8 server: Add a release_clipboard request, and notify the owner and viewer on release.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:02:04 +09:00
Alexandre Julliard c6f12bd9cc server: Notify all listeners when the contents of the clipboard have changed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-30 16:33:04 +09:00
Alexandre Julliard 35537b1d45 server: Implement Add/RemoveClipboardFormatListener.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 23:54:40 +09:00
Alexandre Julliard 19d16a7cb1 server: Add some validation of clipboard window handles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 21:31:50 +09:00
Alexandre Julliard 7888382e0a user32: Notify the clipboard viewer on close even if we are not the owner.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:09:08 +09:00
Alexandre Julliard 57e2b75c02 user32/tests: Add some tests for inter-process clipboard viewer notifications.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 21:36:32 +09:00
Alexandre Julliard 5962df3a1e server: Cleanup clipboard information upon window destruction.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-24 00:16:43 +09:00