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 @@
"""Testing of font preferences in the gnome-appearance properties dialog."""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
import utils
@@ -35,14 +38,14 @@ sequence = MacroSequence()
# then navigate to the Fonts tab
#
sequence.append(WaitForWindowActivate("Appearance Preferences"))
sequence.append(WaitForFocus("Theme", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Theme", acc_role=Atspi.Role.PAGE_TAB))
sequence.append(KeyComboAction("Right"))
sequence.append(WaitForFocus("Background", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Background", acc_role=Atspi.Role.PAGE_TAB))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(WaitForFocus("Fonts", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Fonts", acc_role=Atspi.Role.PAGE_TAB))
sequence.append(utils.AssertPresentationAction(
"Fonts tab",
["BRAILLE LINE: 'gnome-appearance-properties Application Appearance Preferences Dialog Fonts'",
@@ -54,12 +57,12 @@ sequence.append(utils.AssertPresentationAction(
# Open the 'Pick a Font' dialog
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>a"))
#sequence.append(WaitForWindowActivate("Pick a Font"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TABLE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TABLE))
sequence.append(utils.AssertPresentationAction(
"Pick a Font dialog",
["BRAILLE LINE: 'gnome-appearance-properties Application Pick a Font FontChooser'",
@@ -80,13 +83,13 @@ sequence.append(KeyComboAction("Down"))
sequence.append(WaitAction("object:state-changed:selected",
None,
None,
pyatspi.ROLE_TABLE_CELL,
Atspi.Role.TABLE_CELL,
5000))
sequence.append(KeyComboAction("Up"))
sequence.append(WaitAction("object:state-changed:selected",
None,
None,
pyatspi.ROLE_TABLE_CELL,
Atspi.Role.TABLE_CELL,
5000))
sequence.append(utils.AssertPresentationAction(
"Examine Family",
@@ -104,7 +107,7 @@ sequence.append(utils.AssertPresentationAction(
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TABLE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TABLE))
sequence.append(utils.AssertPresentationAction(
"Style table",
["BRAILLE LINE: 'gnome-appearance-properties Application Pick a Font FontChooser ScrollPane Style: Table Face ColumnHeader Regular'",
@@ -118,7 +121,7 @@ sequence.append(utils.AssertPresentationAction(
#
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TEXT))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TEXT))
sequence.append(utils.AssertPresentationAction(
"Size table",
["BRAILLE LINE: 'gnome-appearance-properties Application Pick a Font FontChooser Size: 10 $l'",
@@ -134,10 +137,10 @@ sequence.append(KeyComboAction("Return"))
sequence.append(WaitAction("object:selection-changed",
None,
None,
pyatspi.ROLE_TABLE,
Atspi.Role.TABLE,
5000))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TABLE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TABLE))
sequence.append(utils.AssertPresentationAction(
"Change size",
["BRAILLE LINE: 'gnome-appearance-properties Application Pick a Font FontChooser Size: 10 $l'",
@@ -162,7 +165,7 @@ sequence.append(utils.AssertPresentationAction(
# Accept the change and dismiss the 'Pick a Font' dialog.
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TEXT))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TEXT))
# check the font attributes
sequence.append(utils.StartRecordingAction())
@@ -175,41 +178,41 @@ sequence.append(utils.AssertPresentationAction(
"SPEECH OUTPUT: 'family-name Sans'"]))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("Cancel", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Cancel", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("OK", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("OK", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("<Alt>o"))
########################################################################
# Bring the 'Pick a Font' dialog back up
#
#sequence.append(WaitForWindowActivate("Appearance Preferences"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Return"))
#sequence.append(WaitForWindowActivate("Pick a Font"))
sequence.append(WaitForFocus("OK", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("OK", acc_role=Atspi.Role.PUSH_BUTTON))
########################################################################
# Go to the 'Size' areas and change it to 10 from 18
#
sequence.append(KeyComboAction("<Alt>z"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TEXT))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TEXT))
sequence.append(TypeAction("10"))
sequence.append(KeyComboAction("Return"))
sequence.append(WaitAction("object:selection-changed",
None,
None,
pyatspi.ROLE_TABLE,
Atspi.Role.TABLE,
5000))
########################################################################
# Accept the change and dismiss the 'Pick a Font' dialog.
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TABLE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TABLE))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_TEXT))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.TEXT))
# check the font attributes
sequence.append(utils.StartRecordingAction())
@@ -222,23 +225,23 @@ sequence.append(utils.AssertPresentationAction(
"SPEECH OUTPUT: 'family-name Sans'"]))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("Cancel", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Cancel", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("OK", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("OK", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("<Alt>o"))
########################################################################
# Revert application to original status
#
#sequence.append(WaitForWindowActivate("Appearance Preferences"))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(WaitForFocus("Fonts", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Fonts", acc_role=Atspi.Role.PAGE_TAB))
sequence.append(KeyComboAction("Left"))
sequence.append(WaitForFocus("Background", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Background", acc_role=Atspi.Role.PAGE_TAB))
sequence.append(KeyComboAction("Left"))
sequence.append(WaitForFocus("Theme", acc_role=pyatspi.ROLE_PAGE_TAB))
sequence.append(WaitForFocus("Theme", acc_role=Atspi.Role.PAGE_TAB))
# Just a little extra wait to let some events get through.
#