#!/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 sayAll.""" from macaroon.playback import * import utils sequence = MacroSequence() #sequence.append(WaitForDocLoad()) sequence.append(PauseAction(5000)) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("KP_Add")) sequence.append(utils.AssertPresentationAction( "1. KP_Add to do a SayAll", ["SPEECH OUTPUT: 'Here are some entries'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'form'", "SPEECH OUTPUT: 'Type'", "SPEECH OUTPUT: 'something'", "SPEECH OUTPUT: 'link'", "SPEECH OUTPUT: 'rather'", "SPEECH OUTPUT: 'amusing'", "SPEECH OUTPUT: 'link'", "SPEECH OUTPUT: 'here:'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Amusing numbers fall between'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'and'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: '.'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'I'm a label'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Am I a label as well?'", "SPEECH OUTPUT: 'What the heck should we do here?'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'Looking at what follows visually, I'm not sure what I would type/i.e.'", "SPEECH OUTPUT: 'what the labels are.'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Too far away to be a label.'", "SPEECH OUTPUT: 'Distance doesn't count on the left'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Sometimes labels can be below the fields due to
'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'First Name'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'M.I.'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Last Name'", "SPEECH OUTPUT: 'Other times it's due to layout tables'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'First name'", "SPEECH OUTPUT: 'Middle", "initial'", "SPEECH OUTPUT: 'Last'", "SPEECH OUTPUT: 'name'", "SPEECH OUTPUT: 'link'", "SPEECH OUTPUT: 'Second verse same as the first (only now the labels are above the fields)'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'First Name'", "SPEECH OUTPUT: 'Middle", "initial'", "SPEECH OUTPUT: 'Last'", "SPEECH OUTPUT: 'name'", "SPEECH OUTPUT: 'link'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Decisions, decisions.... When in doubt, closest table cell text wins'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'First name'", "SPEECH OUTPUT: 'Middle", "initial'", "SPEECH OUTPUT: 'Last name'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Given name'", "SPEECH OUTPUT: 'initial'", "SPEECH OUTPUT: 'Surname'", "SPEECH OUTPUT: 'First name'", "SPEECH OUTPUT: 'Middle", "initial'", "SPEECH OUTPUT: 'Last name'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'Given name'", "SPEECH OUTPUT: 'initial'", "SPEECH OUTPUT: 'Surname'", "SPEECH OUTPUT: 'Decisions, decisions.... We should try to figure out if we're in a grid of fields.'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'First name'", "SPEECH OUTPUT: 'Middle", "initial'", "SPEECH OUTPUT: 'Last name'", "SPEECH OUTPUT: 'patched image'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'We mustn't forget images as labels -- even if that practice is lame'", "SPEECH OUTPUT: 'heading level 2'", "SPEECH OUTPUT: 'bandaid graphic'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'bandaid graphic redux'", "SPEECH OUTPUT: 'Magic disappearing text trick:'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'tab to me and I disappear'", "SPEECH OUTPUT: 'Tell me a secret:'", "SPEECH OUTPUT: 'password text'", "SPEECH OUTPUT: 'Tell me a little more about yourself:'", "SPEECH OUTPUT: 'entry'", "SPEECH OUTPUT: 'I", "am a monkey with a long tail. '", "SPEECH OUTPUT: ' I like to swing from trees and eat", "bananas. '", "SPEECH OUTPUT: ' I've recently taken up typing and plan to write my memoirs. '"])) sequence.append(utils.AssertionSummaryAction()) sequence.start()