WIP: AX port and noatspi work

This commit is contained in:
Storm Dragon
2025-12-25 20:51:34 -05:00
parent 0a18de8e87
commit e134bf97d5
103 changed files with 12882 additions and 3556 deletions

View File

@@ -25,6 +25,9 @@
"""Test of menus in Java's SwingSet2."""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
import utils
@@ -34,7 +37,7 @@ sequence = MacroSequence()
# We wait for the demo to come up and for focus to be on the toggle button
#
#sequence.append(WaitForWindowActivate("SwingSet2",None))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TOGGLE_BUTTON))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TOGGLE_BUTTON))
# Wait for entire window to get populated.
sequence.append(PauseAction(5000))
@@ -42,14 +45,14 @@ sequence.append(PauseAction(5000))
# Hack to deal with a timing issue which seems to interfere with our
# setting the locusOfFocus reliably.
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TOGGLE_BUTTON))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TOGGLE_BUTTON))
##########################################################################
# Open File menu
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>f"))
sequence.append(WaitForFocus("File", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("File", acc_role=Atspi.Role.MENU))
sequence.append(utils.AssertPresentationAction(
"1. Open File menu",
["BRAILLE LINE: 'SwingSet2 Application SwingSet2 Frame RootPane LayeredPane File Menu'",
@@ -80,7 +83,7 @@ sequence.append(utils.AssertPresentationAction(
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(WaitForFocus("Look & Feel", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("Look & Feel", acc_role=Atspi.Role.MENU))
sequence.append(utils.AssertPresentationAction(
"3. Move to Look & Feel menu",
["BRAILLE LINE: 'SwingSet2 Application SwingSet2 Frame RootPane LayeredPane Look & Feel Menu'",
@@ -108,7 +111,7 @@ sequence.append(utils.AssertPresentationAction(
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(WaitForFocus("Themes", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("Themes", acc_role=Atspi.Role.MENU))
sequence.append(utils.AssertPresentationAction(
"5. Move to Themes menu",
["BRAILLE LINE: 'SwingSet2 Application SwingSet2 Frame RootPane LayeredPane Look & Feel Menu'",
@@ -138,7 +141,7 @@ sequence.append(utils.AssertPresentationAction(
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(WaitForFocus("Audio", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("Audio", acc_role=Atspi.Role.MENU))
sequence.append(utils.AssertPresentationAction(
"7. Move to Audio menu",
["BRAILLE LINE: 'SwingSet2 Application SwingSet2 Frame RootPane LayeredPane Swing demo menu bar MenuBar Audio Menu'",