summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2025-05-14 23:58:39 +0200
committerVictor Kareh <[email protected]>2026-02-13 09:29:25 -0500
commit481968b14fb7082a5233a47173c462f179811cde (patch)
treed6d0d98bec89393d34553696c92f3864db43a907 /test
parent56853727df29fe2918ebec89eae5b38cda98c5d0 (diff)
downloadatril-481968b14fb7082a5233a47173c462f179811cde.tar.bz2
atril-481968b14fb7082a5233a47173c462f179811cde.tar.xz
Fix tests with AT-SPI2 >= 2.53
Role name for push buttons changed from "push button" to "button" for uniformizing APIs, but that means the names Dogtail use have to match, as it's not using the role IDs but names. Fix this by trying to ask AT-SPI2 for the name, and falling back on the historical name in the odd case it'd fail.
Diffstat (limited to 'test')
-rwxr-xr-xtest/test1.py12
-rwxr-xr-xtest/test2.py14
-rwxr-xr-xtest/test6.py10
-rwxr-xr-xtest/test7.py12
-rw-r--r--test/testCommon.py10
-rwxr-xr-xtest/testEditMenu.py4
-rwxr-xr-xtest/testEncryptedFile.py10
-rwxr-xr-xtest/testFileMenu.py10
-rwxr-xr-xtest/testHelpMenu.py4
9 files changed, 42 insertions, 44 deletions
diff --git a/test/test1.py b/test/test1.py
index 97db085c..f485b3dd 100755
--- a/test/test1.py
+++ b/test/test1.py
@@ -2,27 +2,23 @@
# This test opens the interface and just clicks around a bit.
-import os
-import dogtail.config
-dogtail.config.config.logDebugToStdOut = True
-dogtail.config.config.logDebugToFile = False
+from testCommon import pushButton
from dogtail.procedural import *
-os.environ['LANG']='C'
run('atril')
# Test file->open
focus.application('atril')
click('File', roleName='menu')
click('Open…', roleName='menu item')
-click('Cancel', roleName='push button')
+click('Cancel', roleName=pushButton)
# Toolbar editor
focus.application('atril')
click('Edit', roleName='menu')
click('Toolbar', roleName='menu item')
-click('Close', roleName='push button')
+click('Close', roleName=pushButton)
# About dialog
focus.application('atril')
@@ -30,7 +26,7 @@ click('Help', roleName='menu')
click('About', roleName='menu item')
click('Credits', roleName='toggle button')
click('Credits', roleName='toggle button')
-click('Close', roleName='push button')
+click('Close', roleName=pushButton)
# Close atril
focus.application('atril')
diff --git a/test/test2.py b/test/test2.py
index d690edbb..b4f3a5c8 100755
--- a/test/test2.py
+++ b/test/test2.py
@@ -3,26 +3,26 @@
# This test opens a password encrypted file and tries to unlock it.
import os
-os.environ['LANG']='C'
-srcdir = os.environ['srcdir']
-
+from testCommon import pushButton
from dogtail.procedural import *
+srcdir = os.environ['srcdir']
+
run('atril', arguments=' '+srcdir+'/test-encrypt.pdf')
# Try an incorrect password first
focus.application('atril')
type('wrong password')
-click('Unlock Document', roleName='push button')
+click('Unlock Document', roleName=pushButton)
focus.dialog('Enter password')
-click('Cancel', roleName='push button')
+click('Cancel', roleName=pushButton)
# Try again with the correct password
focus.frame('test-encrypt.pdf — Password Required')
-click('Unlock Document', roleName='push button')
+click('Unlock Document', roleName=pushButton)
focus.dialog('Enter password')
type('Foo')
-click('Unlock Document', roleName='push button')
+click('Unlock Document', roleName=pushButton)
# Close atril
focus.application('atril')
diff --git a/test/test6.py b/test/test6.py
index a2687d08..30367fe2 100755
--- a/test/test6.py
+++ b/test/test6.py
@@ -3,15 +3,11 @@
# Test printing
import os
-import dogtail.config
-dogtail.config.config.logDebugToStdOut = True
-dogtail.config.config.logDebugToFile = False
+from testCommon import pushButton
+from dogtail.procedural import *
-os.environ['LANG']='C'
srcdir = os.environ['srcdir']
-from dogtail.procedural import *
-
recent_used = os.path.expanduser('~/.local/share/recently-used.xbel')
recent_used_orig = recent_used + '.orig'
@@ -31,7 +27,7 @@ click('Print…', roleName='menu item')
click('Print to File', roleName='table cell', raw=True)
click('Postscript', roleName='radio button', raw=True)
-click('Print', roleName='push button')
+click('Print', roleName=pushButton)
statinfo = os.stat (ps_file)
if statinfo.st_size > 100000:
diff --git a/test/test7.py b/test/test7.py
index 03792c6c..f0b71582 100755
--- a/test/test7.py
+++ b/test/test7.py
@@ -3,16 +3,12 @@
# Test printing
import os
-import dogtail.config
-import time
-dogtail.config.config.logDebugToStdOut = True
-dogtail.config.config.logDebugToFile = False
-
-os.environ['LANG']='C'
-srcdir = os.environ['srcdir']
+from testCommon import pushButton
from dogtail.procedural import *
+srcdir = os.environ['srcdir']
+
run('atril', arguments=' '+srcdir+'/test-page-labels.pdf')
focus.application('atril')
@@ -27,7 +23,7 @@ focus.dialog('Print')
click('Page Setup', roleName='page tab', raw=True)
click('All sheets')
click('Odd sheets', roleName='menu item')
-click('Preview', roleName='push button')
+click('Preview', roleName=pushButton)
keyCombo('<Alt><F4>')
# Close atril
diff --git a/test/testCommon.py b/test/testCommon.py
index dd6ec51a..c4aa3a0e 100644
--- a/test/testCommon.py
+++ b/test/testCommon.py
@@ -6,6 +6,16 @@ import signal
os.environ['LANG'] = 'C'
+# try and figure out the role name for push buttons, which changed in ATSPI 2.53
+try:
+ import gi
+ gi.require_version('Atspi', '2.0')
+ from gi.repository import Atspi
+
+ pushButton = Atspi.role_get_name(Atspi.Role.PUSH_BUTTON)
+except ImportError:
+ pushButton = 'push button'
+
from dogtail.config import config
config.logDebugToStdOut = True
config.logDebugToFile = False
diff --git a/test/testEditMenu.py b/test/testEditMenu.py
index 1b81fd07..2a8e89b5 100755
--- a/test/testEditMenu.py
+++ b/test/testEditMenu.py
@@ -2,7 +2,7 @@
# This test opens the Edit menu and runs through the menu items.
-from testCommon import run_app, bail
+from testCommon import run_app, bail, pushButton
from dogtail.procedural import *
@@ -20,7 +20,7 @@ try:
focus.frame('test-links.pdf')
type('link')
- click('Find Previous', roleName='push button')
+ click('Find Previous', roleName=pushButton)
click('Edit', roleName='menu')
click('Find Next', roleName='menu item')
diff --git a/test/testEncryptedFile.py b/test/testEncryptedFile.py
index 83c48a60..808efac4 100755
--- a/test/testEncryptedFile.py
+++ b/test/testEncryptedFile.py
@@ -2,7 +2,7 @@
# Test opening a password encrypted file and unlocking it.
-from testCommon import run_app, bail
+from testCommon import run_app, bail, pushButton
from dogtail.procedural import *
@@ -13,16 +13,16 @@ try:
# Try an incorrect password first
focus.dialog('Enter password')
type('wrong password')
- click('Unlock Document', roleName='push button')
+ click('Unlock Document', roleName=pushButton)
focus.dialog('Enter password')
- click('Cancel', roleName='push button')
+ click('Cancel', roleName=pushButton)
# Try again with the correct password
focus.frame('test-encrypt.pdf — Password Required')
- click('Unlock Document', roleName='push button')
+ click('Unlock Document', roleName=pushButton)
type('Foo')
focus.dialog('Enter password')
- click('Unlock Document', roleName='push button')
+ click('Unlock Document', roleName=pushButton)
# Close Atril
focus.frame('test-encrypt.pdf — Dokument1')
diff --git a/test/testFileMenu.py b/test/testFileMenu.py
index 5c1c5a9a..81723c8d 100755
--- a/test/testFileMenu.py
+++ b/test/testFileMenu.py
@@ -2,7 +2,7 @@
# Test that the File menu and menu items work correctly.
-from testCommon import run_app, bail
+from testCommon import run_app, bail, pushButton
from dogtail.procedural import *
@@ -12,20 +12,20 @@ try:
# Open a file
click('File', roleName='menu')
click('Open…', roleName='menu item')
- click('Cancel', roleName='push button')
+ click('Cancel', roleName=pushButton)
# Save As
focus.frame('test-links.pdf')
click('File', roleName='menu')
click('Save As…', roleName='menu item')
- click('Cancel', roleName='push button')
+ click('Cancel', roleName=pushButton)
# Print
focus.frame('test-links.pdf')
click('File', roleName='menu')
click('Print…', roleName='menu item')
focus.dialog('Print')
- click('Cancel', roleName='push button')
+ click('Cancel', roleName=pushButton)
# Properties
focus.frame('test-links.pdf')
@@ -34,7 +34,7 @@ try:
click('Fonts', roleName='page tab')
click('General', roleName='page tab')
focus.dialog('Properties')
- click('Close', roleName='push button')
+ click('Close', roleName=pushButton)
# Close
focus.frame('test-links.pdf')
diff --git a/test/testHelpMenu.py b/test/testHelpMenu.py
index 9acfac7a..fcbdaeb5 100755
--- a/test/testHelpMenu.py
+++ b/test/testHelpMenu.py
@@ -2,7 +2,7 @@
# This test opens the Help menu and runs through the menu items.
-from testCommon import run_app, bail
+from testCommon import run_app, bail, pushButton
from dogtail.procedural import *
@@ -13,7 +13,7 @@ try:
click('About', roleName='menu item')
focus.dialog('About Atril Document Viewer')
click('License', roleName='toggle button')
- click('Close', roleName='push button')
+ click('Close', roleName=pushButton)
focus.frame('')
click('Help', roleName='menu')