Skip to content

tests: Add assertions for current mouse cursor - #24284

Merged
kjarosh merged 2 commits into
ruffle-rs:masterfrom
ChrisCPI:tests-cursor-assertions
Jul 24, 2026
Merged

tests: Add assertions for current mouse cursor#24284
kjarosh merged 2 commits into
ruffle-rs:masterfrom
ChrisCPI:tests-cursor-assertions

Conversation

@ChrisCPI

Copy link
Copy Markdown
Collaborator

Description

Adds the optional ability to assert on what mouse cursor the player is currently using, which can be done by adding assert_cursor to a MouseMove action in input.json, set to any of the 4 cursor types (Arrow, Hand, IBeam, Grab). This may be useful in making tests for #24150.

Testing

The input.json for the avm2/mouse_pick_loader_avm1 test has been modified to use these new assertions as a proof of concept.

Checklist

  • I, a human, have self-reviewed this PR and fully understand the changes within.
  • I have made or updated tests where possible.
  • All of my commits are properly scoped, compile successfully, and pass all tests.
  • This PR does not make sense to split up into smaller PRs.
  • An LLM was involved in the authoring of this code.

@ChrisCPI ChrisCPI added A-tests Area: Tests & Test Framework T-feature Type: New Feature (that Flash doesn't have) labels Jul 23, 2026
@ChrisCPI
ChrisCPI force-pushed the tests-cursor-assertions branch 2 times, most recently from b7801f0 to fcf26b1 Compare July 23, 2026 05:35
@ChrisCPI
ChrisCPI marked this pull request as draft July 23, 2026 05:36
@ChrisCPI
ChrisCPI force-pushed the tests-cursor-assertions branch 4 times, most recently from eea944e to 1b5fc31 Compare July 23, 2026 05:52
@ChrisCPI
ChrisCPI marked this pull request as ready for review July 23, 2026 05:52
@kjarosh
kjarosh enabled auto-merge (rebase) July 23, 2026 07:43
@kjarosh
kjarosh force-pushed the tests-cursor-assertions branch from 1b5fc31 to 575076c Compare July 23, 2026 08:01
ChrisCPI added 2 commits July 24, 2026 11:00
Adds the ability to assert on what mouse cursor the player is currently using, done by adding `assert_cursor` to a `MouseMove` action in `input.json`.
@kjarosh
kjarosh force-pushed the tests-cursor-assertions branch from 575076c to 8112d83 Compare July 24, 2026 09:00
@kjarosh
kjarosh merged commit 0cb6334 into ruffle-rs:master Jul 24, 2026
27 of 28 checks passed
@ChrisCPI
ChrisCPI deleted the tests-cursor-assertions branch July 24, 2026 17:06
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Jul 28, 2026
Updates on Jul 25, 2026 08:25
------------------------------------------------------------------------------------
cubeb.mk ef47ae581df7c2f76058d554b3edde17f9ee7cba # Version: Commits on Apr 23, 2026
------------------------------------------------------------------------------------
wasapi: Trigger reconfig on render thread if device invalidated.,

-------------------------------------------------------------------------------------
azahar.mk 64dbcebfc7f80cad7f18c8214d5a1097dcce40de # Version: Commits on Jul 24, 2026
-------------------------------------------------------------------------------------
qt: move EnableMotion after button setup (#2345),

------------------------------------------------------------------------------------------
dolphin-emu.mk 707d3c7a732634ad8d522bd27e52b075f54ac4f3 # Version: Commits on Jul 25, 2026
------------------------------------------------------------------------------------------
Merge pull request #14475 from JoshuaVandaele/cmake-replaces-vs
CMake: Replace the Visual Studio project,

------------------------------------------------------------------------------------------
duckstation.mk a233ec1fb7f46181e77e6d2a52446ad6f0a7c54f # Version: Commits on Jul 25, 2026
------------------------------------------------------------------------------------------
Qt: Fix deprecation warning,

-----------------------------------------------------------------------------------
eden.mk f5d1a78846673020bab29c5327362a1f8e46ccf8 # Version: Commits on Jul 24, 2026
-----------------------------------------------------------------------------------
Move PULL_REQUEST_TEMPLATE to a single file

-------------------------------------------------------------------------------------
ppsspp.mk a6e4d691efeaf577ca2c557c92eb6737ab2c12be # Version: Commits on Jul 24, 2026
-------------------------------------------------------------------------------------
Merge pull request #21973 from hrydgard/more-cmake-cleanup
Clean up the CMake files, matching the project structure of the MSVC build,

--------------------------------------------------------------------------------------
tsugaru.mk aea4523c3b5253a0dd1ffa2da149f813df61d7fd # Version: Commits on Jul 24, 2026
--------------------------------------------------------------------------------------
Raster 0000 and FFFF for FMT-3631.,

---------------------------------------------------------------
ruffle.mk nightly-2026-07-25 # Version: Commits on Jul 25, 2026
---------------------------------------------------------------
## What's Changed
* tests: Add coverage for calling methods on duplicate ClassObjects by @Lord-McSweeney in ruffle-rs/ruffle#24288
* tests: Add assertions for current mouse cursor by @ChrisCPI in ruffle-rs/ruffle#24284
* avm1: Serialize top-level objects with class definitions as appropriate by @danielhjacobs in ruffle-rs/ruffle#24155
**Full Changelog**: ruffle-rs/ruffle@nightly-2026-07-24...nightly-2026-07-25,

------------------------------------------------------
appstream.mk v1.1.5 # Version: Commits on Jul 24, 2026
------------------------------------------------------
Release version 1.1.5,

--------------------------------------------------------------------------------------
uwe5622.mk 3eae88b765c2844d0f64ef25bbed4911e86387e5 # Version: Commits on Jul 25, 2026
--------------------------------------------------------------------------------------
Create README.md for `reference` (#2),

------------------------------------------------------------------------------------------
fallout2-ce.mk dd211294647de8df3650e1887f861cc46747ae69 # Version: Commits on Jul 25, 2026
------------------------------------------------------------------------------------------
[Et tu] get/set_terrain_name (#593)
* [Et tu] get/set_terrain_name,

----------------------------------------------------------------------
batocera-onscreen-keyboard.mk v0.20 # Version: Commits on Jul 24, 2026
----------------------------------------------------------------------
CHANGELOG: typo fix,

----------------------------------------------------------------------------------------
retroarch.mk 8e24e13fe342edf878ef6dcd61a3f948f7e9674a # Version: Commits on Jul 25, 2026
----------------------------------------------------------------------------------------
menu: exchange device indices instead of duplicating them
The device index selector wrote settings->uints.input_joypad_index[]
for one player without consulting the others, so stepping a player onto
an index another player already held left both of them there. The
mapping is then no longer injective and both players read the same
physical device: one controller drives two libretro ports, and pressing
Start joins a second player in a two player game.
The frontend cannot recover from this by itself. reallocate_port_if_needed()
reassigns ports by transposing entries of the same array, which
preserves a duplicate rather than resolving it, so the state survives
every hotplug and is written back out to the configuration on save.
Hand the vacated index to the displaced player, so moving onto an
occupied slot exchanges the two. Refusing the move instead would trap
the selector: with player 1 on index 0 and player 2 on index 1, player 2
could never be stepped left, because every reachable index below it is
taken.,

----------------------------------------------------------------------------------------
doomretro.mk da1e17f34956ef18b6c7419949c123f366abe4d2 # Version: Commits on Jul 25, 2026
----------------------------------------------------------------------------------------
Minor tweaks,

---------------------------------------------------------------------------------------
vkquake2.mk 2824da6240599c46a091d788f34f6cb8fe0fb4bd # Version: Commits on Jul 24, 2026
---------------------------------------------------------------------------------------
Fixed best practices validation warning (ignored clearValueCount),

----------------------------------------------------------------------------------------------
libretro-azahar.mk 64dbcebfc7f80cad7f18c8214d5a1097dcce40de # Version: Commits on Jul 24, 2026
----------------------------------------------------------------------------------------------
qt: move EnableMotion after button setup (#2345),

---------------------------------------------------------------------------------------------
libretro-fbneo.mk a2594cfa5e10341eb475647b77ebeb554779e740 # Version: Commits on Jul 25, 2026
---------------------------------------------------------------------------------------------
(libretro) update files,

--------------------------------------------------------------------------------------------
libretro-jaxe.mk c767afd785e01a15bcd575a2d93b737add82b675 # Version: Commits on Jul 24, 2026
--------------------------------------------------------------------------------------------
Merge pull request #28 from WizzardSK/ci-linux-aarch64
ci: add Linux aarch64 libretro build,

------------------------------------------------------------------------------------------------
libretro-mojozork.mk f94c3104aa18036d9ed5f0243814483f82e486cb # Version: Commits on Jul 24, 2026
------------------------------------------------------------------------------------------------
ci: add Linux aarch64 libretro build,

----------------------------------------------------------------------------------------------------
libretro-parallel-n64.mk 39819865868231319f185b741466b9bb2203620d # Version: Commits on Jul 24, 2026
----------------------------------------------------------------------------------------------------
angrylion zboss: the z translation's projection scale
The projection matrix carries a 1/32 scale in its z column, and the
matrix concatenation folds that scale through the entire column, the
translation row along with the rotation. The transform, though, adds
the z translation at full scale -- only the rotated coordinate is
divided down -- so the translation term has to be lifted back up by
five when it is accumulated.
Without the lift the transformed z comes out a thirty-second of its
true value. Geometry does not notice: the screen coordinates never use
this z, so every emitted command stays byte for byte what the
interpreter emits and the shadow comparison holds. The clip code does,
though. For a vertex near the near plane the shrunken z lands on the
wrong side of the w comparison, and the byte the microcode exports for
the intro movie's vertices came out with the near-plane bit clear
where the interpreter sets it -- one of the four records the game ANDs
to decide the next frame's work is ready.
Measured against the interpreter for the record it disagreed on: its
clip test sees z = -36 where the walk computed +26 (the same value
scaled by 32), and with the translation lifted the walk now produces
-36 too. The readiness scan the intro runs each field, which diverged
at the seventeenth of its records, now agrees on all of them.,

---------------------------------------------------------------------------------------------
libretro-pd777.mk d71299d75cc53097dc8bd4989c6d6f2acebd1eba # Version: Commits on Jul 24, 2026
---------------------------------------------------------------------------------------------
Fetch translations & Recreate libretro_core_options_intl.h,

----------------------------------------------------------------------------------------------
libretro-ppsspp.mk a6e4d691efeaf577ca2c557c92eb6737ab2c12be # Version: Commits on Jul 24, 2026
----------------------------------------------------------------------------------------------
Merge pull request #21973 from hrydgard/more-cmake-cleanup
Clean up the CMake files, matching the project structure of the MSVC build,

---------------------------------------------------------------------------------------------
libretro-vba-m.mk e3a2c324b8d650c6e4518a67dd3c64c97c4256e3 # Version: Commits on Jul 24, 2026
---------------------------------------------------------------------------------------------
translations: transifex pull
Signed-off-by: Rafael Kitover <rkitover@gmail.com>,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tests Area: Tests & Test Framework T-feature Type: New Feature (that Flash doesn't have)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants