cthulhu/test/keystrokes/firefox/aria_tabpanel_text_dojo.py
2024-12-18 10:05:44 -05:00

96 lines
4.2 KiB
Python

#!/usr/bin/env python3
#
# Copyright (c) 2024 Stormux
# Copyright (c) 2010-2012 The Orca Team
# Copyright (c) 2012 Igalia, S.L.
# Copyright (c) 2005-2010 Sun Microsystems Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., Franklin Street, Fifth Floor,
# Boston MA 02110-1301 USA.
#
# Fork of Orca Screen Reader (GNOME)
# Original source: https://gitlab.gnome.org/GNOME/orca
"""Test of presentation of Dojo's panel text."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
#sequence.append(WaitForDocLoad())
sequence.append(PauseAction(5000))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"1. Space to press the Show TabContainer Dialog",
["BRAILLE LINE: 'TabContainer Dialog dialog'",
" VISIBLE: 'TabContainer Dialog dialog', cursor=1",
"BRAILLE LINE: 'First tab page tab'",
" VISIBLE: 'First tab page tab', cursor=1",
"BRAILLE LINE: 'Focus mode'",
" VISIBLE: 'Focus mode', cursor=0",
"SPEECH OUTPUT: 'TabContainer Dialog This is the first tab. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus.'",
"SPEECH OUTPUT: 'First tab page tab.'",
"SPEECH OUTPUT: 'Focus mode' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"2. Right Arrow to the Second tab page",
["BRAILLE LINE: 'First tab page tab'",
" VISIBLE: 'First tab page tab', cursor=1",
"BRAILLE LINE: 'Second tab page tab'",
" VISIBLE: 'Second tab page tab', cursor=1",
"SPEECH OUTPUT: 'Second tab page tab.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"3. Tab into the panel",
["BRAILLE LINE: 'ipsum dolor sit amet'",
" VISIBLE: 'ipsum dolor sit amet', cursor=1",
"BRAILLE LINE: 'Browse mode'",
" VISIBLE: 'Browse mode', cursor=0",
"SPEECH OUTPUT: 'ipsum dolor sit amet link.'",
"SPEECH OUTPUT: 'Browse mode' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"4. Down Arrow in Browse Mode",
["BRAILLE LINE: 'ipsum dolor sit amet'",
" VISIBLE: 'ipsum dolor sit amet', cursor=1",
"BRAILLE LINE: 'semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum'",
" VISIBLE: 'semper sagittis velit. Cras in m', cursor=1",
"SPEECH OUTPUT: 'semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"5. Down Arrow in Browse Mode",
["BRAILLE LINE: 'lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus'",
" VISIBLE: 'lacus. Etiam consequat scelerisq', cursor=1",
"SPEECH OUTPUT: 'lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()