#!/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 from macaroon.playback import * import utils sequence = MacroSequence() #sequence.append(WaitForDocLoad()) sequence.append(PauseAction(5000)) # Work around some new quirk in Gecko that causes this test to fail if # run via the test harness rather than manually. sequence.append(KeyComboAction("r")) sequence.append(KeyComboAction("Home")) sequence.append(KeyComboAction("h")) sequence.append(KeyComboAction("h")) sequence.append(KeyComboAction("h")) sequence.append(PauseAction(5000)) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "1. Shift Down", ["BRAILLE LINE: 'About h1'", " VISIBLE: 'About h1', cursor=1", "SPEECH OUTPUT: 'About'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "2. Shift Down", ["BRAILLE LINE: 'Cthulhu is a free, open source, flexible, extensible, and'", " VISIBLE: 'rce, flexible, extensible, and', cursor=32", "SPEECH OUTPUT: 'Cthulhu is a free, open source, flexible, extensible, and '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "3. Shift Down", ["BRAILLE LINE: 'powerful assistive technology for people with visual'", " VISIBLE: 'hnology for people with visual', cursor=32", "SPEECH OUTPUT: 'powerful assistive technology for people with visual '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "4. Shift Down", ["BRAILLE LINE: 'impairments. Using various combinations of speech'", " VISIBLE: 'various combinations of speech', cursor=32", "SPEECH OUTPUT: 'impairments. Using various combinations of speech '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "5. Shift Down", ["BRAILLE LINE: 'synthesis, braille, and magnification, Cthulhu helps provide'", " VISIBLE: 'nification, Cthulhu helps provide', cursor=32", "SPEECH OUTPUT: 'synthesis, braille, and magnification, Cthulhu helps provide '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "6. Shift Down", ["BRAILLE LINE: 'access to applications and toolkits that support the AT-SPI'", " VISIBLE: 'olkits that support the AT-SPI', cursor=32", "SPEECH OUTPUT: 'access to applications and toolkits that support the AT-SPI '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "7. Shift Down", ["BRAILLE LINE: '(e.g., the GNOME desktop). The development of Cthulhu has'", " VISIBLE: '). The development of Cthulhu has', cursor=32", "SPEECH OUTPUT: '(e.g., the GNOME desktop). The development of Cthulhu has '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "8. Shift Down", ["BRAILLE LINE: 'been led by the Accessibility Program Office of Sun'", " VISIBLE: 'been led by the Accessibility Pr', cursor=17", "SPEECH OUTPUT: 'been led by the '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "9. Shift Down", ["BRAILLE LINE: 'Microsystems, Inc. with contributions from many'", " VISIBLE: 'Microsystems, Inc. with contribu', cursor=1", "SPEECH OUTPUT: 'Accessibility Program Office of Sun Microsystems, Inc. with'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "10. Shift Down", ["BRAILLE LINE: 'community members.'", " VISIBLE: 'community members.', cursor=1", "SPEECH OUTPUT: 'contributions from many community members .'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "11. Shift Down", ["BRAILLE LINE: 'The complete list of work to do, including bugs and feature requests, along with known'", " VISIBLE: 'ure requests, along with known', cursor=32", "SPEECH OUTPUT: 'The complete list of work to do, including bugs and feature requests, along with known '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "12. Shift Down", ["BRAILLE LINE: 'problems in other components, is maintained in Bugzilla \\(please see our notes on how'", " VISIBLE: 'r components, is maintained in B', cursor=32", "SPEECH OUTPUT: 'problems in other components, is maintained in Bugzilla \\(please see our'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "13. Shift Down", ["BRAILLE LINE: 'we use Bugzilla\\).'", " VISIBLE: 'we use Bugzilla\\).', cursor=1", "SPEECH OUTPUT: 'notes on how we use Bugzilla \\).'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "14. Shift Down", ["BRAILLE LINE: 'Please join and participate on the Cthulhu mailing list (archives): it's a helpful, kind, and'", " VISIBLE: 'se join and participate on the O', cursor=32", "SPEECH OUTPUT: 'Please join and participate on the Cthulhu mailing list (archives ): it's a helpful, kind, and'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "15. Shift Down", ["BRAILLE LINE: 'productive environment composed of users and developers.'", " VISIBLE: 'productive environment composed ', cursor=0", "SPEECH OUTPUT: 'productive environment composed of users and developers. '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "16. Shift Down", ["BRAILLE LINE: 'Audio Guides h1'", " VISIBLE: 'Audio Guides h1', cursor=1", "SPEECH OUTPUT: 'Audio Guides'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "17. Shift Down", ["BRAILLE LINE: 'Darragh Ó Héiligh has created several audio guides for Cthulhu. This is a fantastic'", " VISIBLE: 'Darragh Ó Héiligh has created se', cursor=1", "SPEECH OUTPUT: 'Darragh Ó Héiligh has created several audio guides for Cthulhu. This is a fantastic'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "18. Shift Down", ["BRAILLE LINE: 'contribution (THANKS!)!!! The audio guides can be found at'", " VISIBLE: 'e audio guides can be found at', cursor=32", "SPEECH OUTPUT: 'contribution (THANKS!)!!! The audio guides can be found at '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "19. Shift Down", ["BRAILLE LINE: 'http://www.digitaldarragh.com/linuxat.asp and include the following:'", " VISIBLE: 'http://www.digitaldarragh.com/li', cursor=1", "SPEECH OUTPUT: 'http://www.digitaldarragh.com/linuxat.asp and include the following:'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "20. Shift Down", ["BRAILLE LINE: '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'", " VISIBLE: 'Walk through of the installation', cursor=1", "SPEECH OUTPUT: 'Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "21. Shift Down", ["BRAILLE LINE: '• Review of Fedora 7 and the Cthulhu screen reader for the Gnome graphical desktop'", " VISIBLE: 'Review of Fedora 7 and the Cthulhu ', cursor=1", "SPEECH OUTPUT: 'Review of Fedora 7 and the Cthulhu screen reader for the Gnome graphical desktop'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "22. Shift Down", ["BRAILLE LINE: '• Guide to installing the latest versions of Firefox and Cthulhu'", " VISIBLE: 'Guide to installing the latest v', cursor=1", "SPEECH OUTPUT: 'Guide to installing the latest versions of Firefox and Cthulhu'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "23. Shift Down", ["BRAILLE LINE: 'Download/Installation h1'", " VISIBLE: 'Download/Installation h1', cursor=1", "SPEECH OUTPUT: 'Download/Installation'", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "24. Shift Down", ["BRAILLE LINE: 'As of GNOME 2.16, Cthulhu is a part of the GNOME platform. As a result, Cthulhu is already'", " VISIBLE: '. As a result, Cthulhu is already', cursor=32", "SPEECH OUTPUT: 'As of GNOME 2.16, Cthulhu is a part of the GNOME platform. As a result, Cthulhu is already '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Down")) sequence.append(utils.AssertPresentationAction( "25. Shift Down", ["BRAILLE LINE: 'provided by default on a number of operating system distributions, including Open'", " VISIBLE: 'ystem distributions, including O', cursor=32", "SPEECH OUTPUT: 'provided by default on a number of operating system distributions, including '", "SPEECH OUTPUT: 'selected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "26. Shift Up", ["BRAILLE LINE: 'Solaris and Ubuntu.'", " VISIBLE: 'Solaris and Ubuntu.', cursor=1", "SPEECH OUTPUT: 'provided by default on a number of operating system distributions, including '", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "27. Shift Up", ["BRAILLE LINE: 'provided by default on a number of operating system distributions, including Open'", " VISIBLE: 'provided by default on a number ', cursor=0", "SPEECH OUTPUT: 'As of GNOME 2.16, Cthulhu is a part of the GNOME platform. As a result, Cthulhu is already '", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "28. Shift Up", ["BRAILLE LINE: 'As of GNOME 2.16, Cthulhu is a part of the GNOME platform. As a result, Cthulhu is already'", " VISIBLE: 'As of GNOME 2.16, Cthulhu is a part', cursor=1", "SPEECH OUTPUT: 'Download/Installation'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "29. Shift Up", ["BRAILLE LINE: 'Download/Installation h1'", " VISIBLE: 'Download/Installation h1', cursor=1", "SPEECH OUTPUT: 'Guide to installing the latest versions of Firefox and Cthulhu'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "30. Shift Up", ["BRAILLE LINE: '• Guide to installing the latest versions of Firefox and Cthulhu'", " VISIBLE: 'Guide to installing the latest v', cursor=1", "SPEECH OUTPUT: 'Review of Fedora 7 and the Cthulhu screen reader for the Gnome graphical desktop'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "31. Shift Up", ["BRAILLE LINE: '• Review of Fedora 7 and the Cthulhu screen reader for the Gnome graphical desktop'", " VISIBLE: 'Review of Fedora 7 and the Cthulhu ', cursor=1", "SPEECH OUTPUT: 'Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "32. Shift Up", ["BRAILLE LINE: '• Walk through of the installation of Ubuntu 7.4. Very helpful tutorial'", " VISIBLE: 'Walk through of the installation', cursor=1", "SPEECH OUTPUT: 'http://www.digitaldarragh.com/linuxat.asp and include the following:'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "33. Shift Up", ["BRAILLE LINE: 'http://www.digitaldarragh.com/linuxat.asp and include the following:'", " VISIBLE: 'http://www.digitaldarragh.com/li', cursor=1", "SPEECH OUTPUT: 'contribution (THANKS!)!!! The audio guides can be found at '", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "34. Shift Up", ["BRAILLE LINE: 'contribution (THANKS!)!!! The audio guides can be found at'", " VISIBLE: 'contribution (THANKS!)!!! The au', cursor=0", "SPEECH OUTPUT: 'Darragh Ó Héiligh has created several audio guides for Cthulhu. This is a fantastic'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "35. Shift Up", ["BRAILLE LINE: 'Darragh Ó Héiligh has created several audio guides for Cthulhu. This is a fantastic'", " VISIBLE: 'Darragh Ó Héiligh has created se', cursor=1", "SPEECH OUTPUT: 'Audio Guides'", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("Up")) sequence.append(utils.AssertPresentationAction( "36. Shift Up", ["BRAILLE LINE: 'Audio Guides h1'", " VISIBLE: 'Audio Guides h1', cursor=1", "SPEECH OUTPUT: 'productive environment composed of users and developers. '", "SPEECH OUTPUT: 'unselected' voice=system"])) sequence.append(utils.StartRecordingAction()) sequence.append(KeyComboAction("c")) sequence.append(utils.AssertPresentationAction( "37. Control c", ["BRAILLE LINE: 'Copied selection to clipboard.'", " VISIBLE: 'Copied selection to clipboard.', cursor=0", "SPEECH OUTPUT: 'Copied selection to clipboard.' voice=system"])) sequence.append(utils.AssertionSummaryAction()) sequence.start()