Make sure all files that should be present are present.

This commit is contained in:
Storm Dragon
2024-10-17 16:33:13 -04:00
parent 9d78a3fbee
commit c615709602
1395 changed files with 1344591 additions and 0 deletions

View File

@ -0,0 +1,80 @@
#!/usr/bin/python
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("<Shift>F10"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"1. Review current line",
["BRAILLE LINE: 'Cut $l'",
" VISIBLE: 'Cut $l', cursor=1",
"SPEECH OUTPUT: 'Cut'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"2. Review previous line",
[""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"3. Review next line",
["BRAILLE LINE: 'Copy $l'",
" VISIBLE: 'Copy $l', cursor=1",
"SPEECH OUTPUT: 'Copy'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"4. Review next line",
["BRAILLE LINE: 'Paste $l'",
" VISIBLE: 'Paste $l', cursor=1",
"SPEECH OUTPUT: 'Paste'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"5. Review next line",
["BRAILLE LINE: 'Delete $l'",
" VISIBLE: 'Delete $l', cursor=1",
"SPEECH OUTPUT: 'Delete'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"6. Review next line",
["BRAILLE LINE: 'separator $l'",
" VISIBLE: 'separator $l', cursor=1",
"SPEECH OUTPUT: 'separator'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"7. Review next line",
["BRAILLE LINE: 'Select All $l'",
" VISIBLE: 'Select All $l', cursor=1",
"SPEECH OUTPUT: 'Select All'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"8. Review next line",
["BRAILLE LINE: 'Insert Emoji $l'",
" VISIBLE: 'Insert Emoji $l', cursor=1",
"SPEECH OUTPUT: 'Insert Emoji'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,73 @@
#!/usr/bin/python
"""Test of learn mode."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Printing"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("h"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(TypeAction("f"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"1. Cthulhu command: check text attributes",
["BRAILLE LINE: 'Reads the attributes associated with the current text character.'",
" VISIBLE: 'Reads the attributes associated ', cursor=0",
"SPEECH OUTPUT: 'insert '",
"SPEECH OUTPUT: 'f '",
"SPEECH OUTPUT: 'Reads the attributes associated with the current text character.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(TypeAction(" "))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"2. Cthulhu command: bring up preferences",
["BRAILLE LINE: 'Learn mode. Press escape to exit.'",
" VISIBLE: 'Learn mode. Press escape to exi', cursor=0",
"BRAILLE LINE: 'Displays the preferences configuration dialog.'",
" VISIBLE: 'Displays the preferences configu', cursor=0",
"SPEECH OUTPUT: 'insert '",
"SPEECH OUTPUT: 'space '",
"SPEECH OUTPUT: 'Displays the preferences configuration dialog.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"3. Cthulhu command: flat review current word",
["BRAILLE LINE: 'Learn mode. Press escape to exit.'",
" VISIBLE: 'Learn mode. Press escape to exi', cursor=0",
"BRAILLE LINE: 'Speaks the current flat review item or word.'",
" VISIBLE: 'Speaks the current flat review i', cursor=0",
"SPEECH OUTPUT: 'begin '",
"SPEECH OUTPUT: 'Speaks the current flat review item or word.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction("5"))
sequence.append(utils.AssertPresentationAction(
"4. Regular typing command",
["BRAILLE LINE: 'Learn mode. Press escape to exit.'",
" VISIBLE: 'Learn mode. Press escape to exi', cursor=0",
"SPEECH OUTPUT: '5 '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Escape"))
sequence.append(utils.AssertPresentationAction(
"5. Exit learn mode",
["BRAILLE LINE: 'Exiting learn mode.'",
" VISIBLE: 'Exiting learn mode.', cursor=0",
"SPEECH OUTPUT: 'escape '",
"SPEECH OUTPUT: 'Exiting learn mode.' voice=system"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,58 @@
#!/usr/bin/python
"""Test of menu accelerator label output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(utils.AssertPresentationAction(
"1. Initial menu and menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu'",
" VISIBLE: 'Preferences menu', cursor=1",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Prefer Dark Theme check menu item'",
" VISIBLE: '< > Prefer Dark Theme check menu', cursor=1",
"SPEECH OUTPUT: 'Preferences menu.'",
"SPEECH OUTPUT: 'Prefer Dark Theme check menu item not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Next menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Hide Titlebar when maximized check menu item'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'Hide Titlebar when maximized check menu item not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. Next menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Color menu.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Preferences menu'",
"SPEECH OUTPUT: 'Color menu.'",
"SPEECH OUTPUT: '3 of 5.'",
"SPEECH OUTPUT: 'C'"]))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,84 @@
#!/usr/bin/python
"""Test of presentation of dialogs and alerts."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(PauseAction(1000))
sequence.append(TypeAction("Dialog and Message Boxes"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("space"))
sequence.append(utils.AssertPresentationAction(
"1. Initial dialog",
["BRAILLE LINE: 'gtk3-demo application Dialogs and Message Boxes frame'",
" VISIBLE: 'Dialogs and Message Boxes frame', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Dialogs and Message Boxes frame Dialogs panel Message Dialog push button'",
" VISIBLE: 'Message Dialog push button', cursor=1",
"SPEECH OUTPUT: 'Dialogs and Message Boxes frame'",
"SPEECH OUTPUT: 'Dialogs panel.'",
"SPEECH OUTPUT: 'Message Dialog push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("space"))
sequence.append(utils.AssertPresentationAction(
"2. Information alert",
["BRAILLE LINE: 'gtk3-demo application Information alert'",
" VISIBLE: 'Information alert', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Information alert Cancel push button'",
" VISIBLE: 'Cancel push button', cursor=1",
"SPEECH OUTPUT: 'Information alert.'",
"SPEECH OUTPUT: 'This message box has been popped up the following",
"number of times: 1'",
"SPEECH OUTPUT: 'Cancel push button'"]))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("Testing"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("Again"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>i"))
sequence.append(utils.AssertPresentationAction(
"3. Entry 1",
["BRAILLE LINE: 'gtk3-demo application Interactive Dialog dialog'",
" VISIBLE: 'Interactive Dialog dialog', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Interactive Dialog dialog Entry 1 Testing $l'",
" VISIBLE: 'Entry 1 Testing $l', cursor=16",
"SPEECH OUTPUT: 'Interactive Dialog'",
"SPEECH OUTPUT: 'Entry 1 text.'",
"SPEECH OUTPUT: 'Testing selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"4. Entry 2",
["BRAILLE LINE: 'gtk3-demo application Interactive Dialog dialog Entry 2 Again $l'",
" VISIBLE: 'Entry 2 Again $l', cursor=14",
"BRAILLE LINE: 'gtk3-demo application Interactive Dialog dialog Entry 2 Again $l'",
" VISIBLE: 'Entry 2 Again $l', cursor=14",
"SPEECH OUTPUT: 'Entry 2 text.'",
"SPEECH OUTPUT: 'Again selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"5. Title bar",
["BRAILLE LINE: 'Interactive Dialog'",
" VISIBLE: 'Interactive Dialog', cursor=0",
"SPEECH OUTPUT: 'Interactive Dialog'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,75 @@
#!/usr/bin/python
"""Test of checkbox output."""
from macaroon.playback import *
sequence = MacroSequence()
import utils
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Paned Widgets"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"1. Tab to first checkbox",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Horizontal panel < > Resize check box'",
" VISIBLE: '< > Resize check box', cursor=1",
"SPEECH OUTPUT: 'Horizontal panel.'",
"SPEECH OUTPUT: 'Resize check box not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Horizontal panel < > Resize check box'",
" VISIBLE: '< > Resize check box', cursor=1",
"SPEECH OUTPUT: 'Horizontal Resize check box not checked.'",
"SPEECH OUTPUT: 'Alt+R'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"3. Toggle its state",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Horizontal panel <x> Resize check box'",
" VISIBLE: '<x> Resize check box', cursor=1",
"SPEECH OUTPUT: 'checked'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Horizontal panel <x> Resize check box'",
" VISIBLE: '<x> Resize check box', cursor=1",
"SPEECH OUTPUT: 'Horizontal Resize check box checked.'",
"SPEECH OUTPUT: 'Alt+R'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"5. Toggle its state back",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Horizontal panel < > Resize check box'",
" VISIBLE: '< > Resize check box', cursor=1",
"SPEECH OUTPUT: 'not checked'"]))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"6. Tab to first checkbox in next panel",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame Vertical panel < > Resize check box'",
" VISIBLE: '< > Resize check box', cursor=1",
"SPEECH OUTPUT: 'Vertical panel.'",
"SPEECH OUTPUT: 'Resize check box not checked.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,55 @@
#!/usr/bin/python
"""Test of check menu item output."""
from macaroon.playback import *
sequence = MacroSequence()
import utils
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. Arrow to first check menu item - not checked",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Hide Titlebar when maximized check menu item'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'Hide Titlebar when maximized check menu item not checked.'"]))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Arrow to first check menu item - checked",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame <x> Hide Titlebar when maximized check menu item'",
" VISIBLE: '<x> Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'Hide Titlebar when maximized check menu item checked.'"]))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. Arrow to first check menu item - not checked",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Hide Titlebar when maximized check menu item'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'Hide Titlebar when maximized check menu item not checked.'"]))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,134 @@
#!/usr/bin/python
"""Test of color chooser output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Color Chooser"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("space"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"1. Arrow to the next swatch",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog & y Light Orange radio button'",
" VISIBLE: '& y Light Orange radio button', cursor=1",
"SPEECH OUTPUT: 'Light Orange.'",
"SPEECH OUTPUT: 'not selected radio button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("space"))
sequence.append(utils.AssertPresentationAction(
"2. Space to select the current swatch",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog &=y Light Orange radio button'",
" VISIBLE: '&=y Light Orange radio button', cursor=1",
"SPEECH OUTPUT: 'selected'"]))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Left"))
sequence.append(KeyComboAction("space"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"3. Focus Hue color chooser",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Hue 0.00 color chooser'",
" VISIBLE: 'Hue 0.00 color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser 0.00'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"4. Change Hue value",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Hue 0.01 color chooser'",
" VISIBLE: 'Hue 0.01 color chooser', cursor=1",
"SPEECH OUTPUT: '0.01'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"5. Change Hue value",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Hue 0.02 color chooser'",
" VISIBLE: 'Hue 0.02 color chooser', cursor=1",
"SPEECH OUTPUT: '0.02'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. Hue Where Am I",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Hue 0.02 color chooser'",
" VISIBLE: 'Hue 0.02 color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser 0.02 2 percent.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"7. Focus Color Plane color chooser",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Color Plane color chooser'",
" VISIBLE: 'Color Plane color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"8. Change value in Plane",
["KNOWN ISSUE: We are presenting nothing here.",
""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"9. Change value in Plane",
["KNOWN ISSUE: We are presenting nothing here.",
""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"10. Plane Where Am I",
["KNOWN ISSUE: We're not presenting the value here.",
"BRAILLE LINE: 'gtk3-demo application Changing color dialog Color Plane color chooser'",
" VISIBLE: 'Color Plane color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"11. Focus Alpha color chooser",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Alpha 1.00 color chooser'",
" VISIBLE: 'Alpha 1.00 color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser 1.00'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"12. Change Alpha value",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Alpha 0.99 color chooser'",
" VISIBLE: 'Alpha 0.99 color chooser', cursor=1",
"SPEECH OUTPUT: '0.99'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"13. Alpha Where Am I",
["BRAILLE LINE: 'gtk3-demo application Changing color dialog Alpha 0.99 color chooser'",
" VISIBLE: 'Alpha 0.99 color chooser', cursor=1",
"SPEECH OUTPUT: 'color chooser 0.99 99 percent.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,118 @@
#!/usr/bin/python
"""Test of column header output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("End"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.AssertPresentationAction(
"1. Bug number column header",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Bug number table column header'",
" VISIBLE: 'Bug number table column header', cursor=1",
"SPEECH OUTPUT: 'Bug number table column header not selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"2. Severity column header",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Severity table column header'",
" VISIBLE: 'Severity table column header', cursor=1",
"SPEECH OUTPUT: 'Severity table column header'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"3. Description column header",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Description table column header'",
" VISIBLE: 'Description table column header', cursor=1",
"SPEECH OUTPUT: 'Description table column header'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"4. Enter table",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Fixed? column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: '< > Fixed? 60482 Normal scrollab', cursor=1",
"SPEECH OUTPUT: 'Fixed?'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: '60482.'",
"SPEECH OUTPUT: 'Normal.'",
"SPEECH OUTPUT: 'scrollable notebooks and hidden tabs.'",
"SPEECH OUTPUT: 'image.'"]))
# GtkTreeView swallows this keypress (for all users; not just Cthulhu users).
sequence.append(KeyComboAction("Left"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"5. Normal cell",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Severity column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: 'Normal scrollable notebooks and ', cursor=1",
"SPEECH OUTPUT: 'Severity column header Normal.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. Normal cell basic Where Am I",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Severity column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: 'Normal scrollable notebooks and ', cursor=1",
"SPEECH OUTPUT: 'table.'",
"SPEECH OUTPUT: 'Severity.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'Normal.'",
"SPEECH OUTPUT: 'column 3 of 6'",
"SPEECH OUTPUT: 'row 1 of 14.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"7. Normal cell detailed Where Am I",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Severity column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: 'Normal scrollable notebooks and ', cursor=1",
"BRAILLE LINE: 'gtk3-demo application List Store frame table Severity column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: 'Normal scrollable notebooks and ', cursor=1",
"SPEECH OUTPUT: 'table.'",
"SPEECH OUTPUT: 'Severity.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'Normal.'",
"SPEECH OUTPUT: 'column 3 of 6'",
"SPEECH OUTPUT: 'row 1 of 14.'",
"SPEECH OUTPUT: 'table.'",
"SPEECH OUTPUT: 'Severity.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'Normal.'",
"SPEECH OUTPUT: 'column 3 of 6'",
"SPEECH OUTPUT: 'row 1 of 14.'",
"SPEECH OUTPUT: 'Fixed?'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: '60482.'",
"SPEECH OUTPUT: 'Normal.'",
"SPEECH OUTPUT: 'scrollable notebooks and hidden tabs.'",
"SPEECH OUTPUT: 'image.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"8. 60482 cell",
["BRAILLE LINE: 'gtk3-demo application List Store frame table Bug number column header < > Fixed? 60482 Normal scrollable notebooks and hidden tabs '",
" VISIBLE: '60482 Normal scrollable notebook', cursor=1",
"SPEECH OUTPUT: 'Bug number column header 60482.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,148 @@
#!/usr/bin/python
"""Test of combobox output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Combo Boxes"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"1. Warning combo box item",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame'",
" VISIBLE: 'Combo Boxes frame', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Items with icons panel Warning combo box'",
" VISIBLE: 'Warning combo box', cursor=1",
"SPEECH OUTPUT: 'Combo Boxes frame'",
"SPEECH OUTPUT: 'Items with icons panel.'",
"SPEECH OUTPUT: 'Warning combo box.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Warning combo box item Where Am I",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Items with icons panel Warning combo box'",
" VISIBLE: 'Warning combo box', cursor=1",
"SPEECH OUTPUT: 'combo box.'",
"SPEECH OUTPUT: 'Warning 1 of 5'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. New combo box item",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Items with icons panel New combo box New'",
" VISIBLE: 'New', cursor=1",
"SPEECH OUTPUT: 'New.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. New combo box item Where Am I",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Items with icons panel New combo box New'",
" VISIBLE: 'New', cursor=1",
"SPEECH OUTPUT: 'Combo Boxes frame'",
"SPEECH OUTPUT: 'Items with icons panel.'",
"SPEECH OUTPUT: 'New.'",
"SPEECH OUTPUT: '3 of 5'"]))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"5. Editable text combo box",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel $l'",
" VISIBLE: 'Boxes frame Editable panel $l', cursor=28",
"SPEECH OUTPUT: 'editable combo box.'"]))
sequence.append(TypeAction("Fou"))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction("r"))
sequence.append(utils.AssertPresentationAction(
"6. Editable text combo box typing",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"7. Editable text combo box Where Am I",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"SPEECH OUTPUT: 'editable combo box.'",
"SPEECH OUTPUT: 'Four.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"8. Editable text combo box open button",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l combo box'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"SPEECH OUTPUT: 'Four editable combo box.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.AssertPresentationAction(
"9. Editable text combo box with selected text",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"SPEECH OUTPUT: 'editable combo box.'",
"SPEECH OUTPUT: 'Four selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"10. Editable text combo box with selected text Where Am I",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Editable panel Four $l'",
" VISIBLE: 'Boxes frame Editable panel Four ', cursor=32",
"SPEECH OUTPUT: 'editable combo box.'",
"SPEECH OUTPUT: 'Four selected.'"]))
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.AssertPresentationAction(
"11. Combo box with multiple levels",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Where are we ? panel Boston combo box'",
" VISIBLE: 'Boston combo box', cursor=1",
"SPEECH OUTPUT: 'Where are we ? panel.'",
"SPEECH OUTPUT: 'Boston combo box.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"12. Down arrow",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Where are we ? panel Carson City combo box Carson City'",
" VISIBLE: 'Carson City', cursor=1",
"SPEECH OUTPUT: 'C - D menu'",
"SPEECH OUTPUT: 'Carson City.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"13. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Combo Boxes frame Where are we ? panel Carson City combo box Carson City'",
" VISIBLE: 'Carson City', cursor=1",
"SPEECH OUTPUT: 'Combo Boxes frame'",
"SPEECH OUTPUT: 'Where are we ? panel.'",
"SPEECH OUTPUT: 'C - D menu'",
"SPEECH OUTPUT: 'Carson City.'",
"SPEECH OUTPUT: '1 of 9'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,64 @@
#!/usr/bin/python
"""Test of labelled combo box output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Right"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>o"))
sequence.append(utils.AssertPresentationAction(
"1. Combo box",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab Layout panel Only print: All sheets combo box'",
" VISIBLE: 'Only print: All sheets combo box', cursor=13",
"SPEECH OUTPUT: 'Layout panel.'",
"SPEECH OUTPUT: 'Only print: All sheets combo box.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab Layout panel Only print: All sheets combo box'",
" VISIBLE: 'Only print: All sheets combo box', cursor=1",
"SPEECH OUTPUT: 'Only print: combo box.'",
"SPEECH OUTPUT: 'All sheets 1 of 3.'",
"SPEECH OUTPUT: 'Alt+O'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. Change selection",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab Layout panel Only print: Even sheets combo box Even sheets'",
" VISIBLE: 'Even sheets', cursor=1",
"SPEECH OUTPUT: 'Even sheets.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab Layout panel Only print: Even sheets combo box Even sheets'",
" VISIBLE: 'Even sheets', cursor=1",
"SPEECH OUTPUT: 'Print dialog'",
"SPEECH OUTPUT: 'Page Setup page tab.'",
"SPEECH OUTPUT: 'Layout panel.'",
"SPEECH OUTPUT: 'Even sheets.'",
"SPEECH OUTPUT: '2 of 3'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,39 @@
#!/usr/bin/python
"""Test of dialog presentation."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Expander"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"1. Dialog automatic reading",
["BRAILLE LINE: 'gtk3-demo application window Expander $l'",
" VISIBLE: 'Expander $l', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Error alert'",
" VISIBLE: 'Error alert', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Error alert & y Details: collapsed toggle button'",
" VISIBLE: '& y Details: collapsed toggle bu', cursor=1",
"SPEECH OUTPUT: 'Error alert.'",
"SPEECH OUTPUT: 'Something went wrong Here are some more details but not the full story.'",
"SPEECH OUTPUT: 'Details: toggle button collapsed'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Dialog Where Am I",
["BRAILLE LINE: 'gtk3-demo application Error alert & y Details: collapsed toggle button'",
" VISIBLE: '& y Details: collapsed toggle bu', cursor=1",
"SPEECH OUTPUT: 'Details: toggle button collapsed'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,296 @@
#!/usr/bin/python
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.AssertPresentationAction(
"1. Shift+Tab",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab'",
" VISIBLE: 'General page tab', cursor=1",
"SPEECH OUTPUT: 'General page tab.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"2. Review current line",
["BRAILLE LINE: 'General Page Setup $l'",
" VISIBLE: 'General Page Setup $l', cursor=1",
"SPEECH OUTPUT: 'General Page Setup'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"3. Review previous line",
["BRAILLE LINE: 'Cancel Preview Print $l'",
" VISIBLE: 'Cancel Preview Print $l', cursor=1",
"SPEECH OUTPUT: 'Cancel Preview Print'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"4. Review next line",
["BRAILLE LINE: 'General Page Setup $l'",
" VISIBLE: 'General Page Setup $l', cursor=1",
"SPEECH OUTPUT: 'General Page Setup'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"5. Review next line",
["BRAILLE LINE: 'table column header Printer Location Status $l'",
" VISIBLE: 'table column header Printer Loca', cursor=1",
"SPEECH OUTPUT: 'table column header Printer Location Status'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"6. Review next line",
["BRAILLE LINE: 'Print to File $l'",
" VISIBLE: 'Print to File $l', cursor=1",
"SPEECH OUTPUT: 'Print to File'"]))
# Skip over personal printer
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"7. Review next line",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'File: ~/Documents/gtk-demo.pdf O', cursor=1",
"SPEECH OUTPUT: 'File: ~/Documents/gtk-demo.pdf Output format: selected PDF not selected Postscript not selected SVG'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"8. Review next word",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: '~/Documents/gtk-demo.pdf Output ', cursor=1",
"SPEECH OUTPUT: '~/Documents/gtk-demo.pdf'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"9. Review next word",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=1",
"SPEECH OUTPUT: 'Output '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"10. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=2",
"SPEECH OUTPUT: 'u'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"11. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=3",
"SPEECH OUTPUT: 't'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"12. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=4",
"SPEECH OUTPUT: 'p'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"13. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=5",
"SPEECH OUTPUT: 'u'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"14. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=6",
"SPEECH OUTPUT: 't'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"15. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=7",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"16. Review next char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=8",
"SPEECH OUTPUT: 'f'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"17. Review previous char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=7",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"18. Review previous char",
["BRAILLE LINE: 'File: ~/Documents/gtk-demo.pdf Output format: &=y PDF & y Postscript & y SVG $l'",
" VISIBLE: 'Output format: &=y PDF & y Posts', cursor=6",
"SPEECH OUTPUT: 't'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"19. Review next line",
["BRAILLE LINE: 'Range Copies $l'",
" VISIBLE: 'Range Copies $l', cursor=1",
"SPEECH OUTPUT: 'Range Copies'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"20. Review next line",
["BRAILLE LINE: '&=y All Pages $l'",
" VISIBLE: '&=y All Pages $l', cursor=1",
"SPEECH OUTPUT: 'selected All Pages'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"21. Review current word",
["BRAILLE LINE: '&=y All Pages $l'",
" VISIBLE: '&=y All Pages $l', cursor=1",
"SPEECH OUTPUT: 'selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"22. Review current char",
["BRAILLE LINE: '&=y All Pages $l'",
" VISIBLE: '&=y All Pages $l', cursor=1",
"SPEECH OUTPUT: 'selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"23. Review next word",
["BRAILLE LINE: '&=y All Pages $l'",
" VISIBLE: '&=y All Pages $l', cursor=5",
"SPEECH OUTPUT: 'All Pages'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"24. Review next word",
["BRAILLE LINE: 'Copies: 1 $l'",
" VISIBLE: 'Copies: 1 $l', cursor=1",
"SPEECH OUTPUT: 'Copies:'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"25. Review next char",
["BRAILLE LINE: 'Copies: 1 $l'",
" VISIBLE: 'Copies: 1 $l', cursor=2",
"SPEECH OUTPUT: 'o'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"26. Review next word",
["BRAILLE LINE: 'Copies: 1 $l'",
" VISIBLE: 'Copies: 1 $l', cursor=9",
"SPEECH OUTPUT: '1'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"27. Review next line",
["BRAILLE LINE: '& y Current Page $l'",
" VISIBLE: '& y Current Page $l', cursor=1",
"SPEECH OUTPUT: 'not selected Current Page'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"28. Review current word",
["BRAILLE LINE: '& y Current Page $l'",
" VISIBLE: '& y Current Page $l', cursor=1",
"SPEECH OUTPUT: 'not selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"29. Review next word",
["KNOWN ISSUE: These labels don't implement the text interface so it's a single word",
"BRAILLE LINE: '& y Current Page $l'",
" VISIBLE: '& y Current Page $l', cursor=5",
"SPEECH OUTPUT: 'Current Page'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"30. Review next word",
["BRAILLE LINE: 'drawing area $l'",
" VISIBLE: 'drawing area $l', cursor=1",
"SPEECH OUTPUT: 'drawing area'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"31. Review next word",
["BRAILLE LINE: '<x> Collate $l'",
" VISIBLE: '<x> Collate $l', cursor=1",
"SPEECH OUTPUT: 'checked'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"32. Review next word",
["BRAILLE LINE: '<x> Collate $l'",
" VISIBLE: '<x> Collate $l', cursor=5",
"SPEECH OUTPUT: 'Collate'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"33. Review next word",
["BRAILLE LINE: '& y Pages: Pages $l'",
" VISIBLE: '& y Pages: Pages $l', cursor=1",
"SPEECH OUTPUT: 'not selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"34. Review next line",
["BRAILLE LINE: '< > Reverse $l'",
" VISIBLE: '< > Reverse $l', cursor=1",
"SPEECH OUTPUT: 'not checked Reverse'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,35 @@
#!/usr/bin/python
"""Test of drawing area output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Drawing Area"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"1. Flat review current line",
["BRAILLE LINE: 'Checkerboard pattern $l'",
" VISIBLE: 'Checkerboard pattern $l', cursor=1",
"SPEECH OUTPUT: 'Checkerboard pattern'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"2. Flat review next line",
["BRAILLE LINE: 'drawing area $l'",
" VISIBLE: 'drawing area $l', cursor=1",
"SPEECH OUTPUT: 'drawing area'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,66 @@
#!/usr/bin/python
"""Test of icon output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Images"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. bin icon",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane bin icon'",
" VISIBLE: 'bin icon', cursor=1",
"SPEECH OUTPUT: 'bin icon.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. bin icon Where Am I",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane bin icon'",
" VISIBLE: 'bin icon', cursor=1",
"SPEECH OUTPUT: 'Icon panel.'",
"SPEECH OUTPUT: 'bin.'",
"SPEECH OUTPUT: '1 of 20 items selected on 1 of 20.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"3. boot icon",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane boot icon'",
" VISIBLE: 'boot icon', cursor=1",
"SPEECH OUTPUT: 'boot icon.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Left"))
sequence.append(utils.AssertPresentationAction(
"4. icon selection",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane bin icon'",
" VISIBLE: 'bin icon', cursor=1",
"SPEECH OUTPUT: 'bin icon.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"5. icon selection Where Am I",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane bin icon'",
" VISIBLE: 'bin icon', cursor=1",
"SPEECH OUTPUT: 'Icon panel.'",
"SPEECH OUTPUT: 'bin.'",
"SPEECH OUTPUT: '2 of 20 items selected on 1 of 20.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,156 @@
#!/usr/bin/python
"""Test of icon output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Images"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. bin icon",
["BRAILLE LINE: 'gtk3-demo application Icon View Basics frame layered pane bin icon'",
" VISIBLE: 'bin icon', cursor=1",
"SPEECH OUTPUT: 'bin icon.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"2. Review current line",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=1",
"SPEECH OUTPUT: 'bin boot dev'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"3. Review current word",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=1",
"SPEECH OUTPUT: 'bin'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"4. Review next word",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=5",
"SPEECH OUTPUT: 'boot'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"5. Review current char",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=5",
"SPEECH OUTPUT: 'boot'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_6"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"6. Review item below",
["BRAILLE LINE: 'etc home lib $l'",
" VISIBLE: 'etc home lib $l', cursor=5",
"SPEECH OUTPUT: 'home'"]))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_6"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"7. Review item below",
["BRAILLE LINE: 'lib64 lost+found media $l'",
" VISIBLE: 'lib64 lost+found media $l', cursor=7",
"SPEECH OUTPUT: 'lost+found'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_4"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"8. Review item above",
["BRAILLE LINE: 'etc home lib $l'",
" VISIBLE: 'etc home lib $l', cursor=5",
"SPEECH OUTPUT: 'home'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_4"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"9. Review item above",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=5",
"SPEECH OUTPUT: 'boot'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"10. Review next line",
["BRAILLE LINE: 'etc home lib $l'",
" VISIBLE: 'etc home lib $l', cursor=1",
"SPEECH OUTPUT: 'etc home lib'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"11. Review next word",
["BRAILLE LINE: 'etc home lib $l'",
" VISIBLE: 'etc home lib $l', cursor=5",
"SPEECH OUTPUT: 'home'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"12. Review next char",
["BRAILLE LINE: 'etc home lib $l'",
" VISIBLE: 'etc home lib $l', cursor=10",
"SPEECH OUTPUT: 'lib'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"13. Review previous line",
["BRAILLE LINE: 'bin boot dev $l'",
" VISIBLE: 'bin boot dev $l', cursor=1",
"SPEECH OUTPUT: 'bin boot dev'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"14. Review previous line",
["BRAILLE LINE: 'vertical scroll bar 0% $l'",
" VISIBLE: 'vertical scroll bar 0% $l', cursor=1",
"SPEECH OUTPUT: 'vertical scroll bar 0 percent.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"15. Review previous line",
["BRAILLE LINE: 'Up Home $l'",
" VISIBLE: 'Up Home $l', cursor=1",
"SPEECH OUTPUT: 'Up Home'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"16. Review previous line",
[""]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,56 @@
#!/usr/bin/python
"""Test of info bar output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Info bar"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
# Dismiss all the showing info bars
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("space"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("space"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("space"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("space"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("space"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("space"))
sequence.append(utils.AssertPresentationAction(
"1. Show the Message info bar",
["BRAILLE LINE: 'gtk3-demo application Info Bars frame Info bars panel &=y Message toggle button'",
" VISIBLE: '&=y Message toggle button', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Info Bars frame Information info bar'",
" VISIBLE: 'Information info bar', cursor=1",
"SPEECH OUTPUT: 'pressed'",
"SPEECH OUTPUT: 'Information This is an info bar with message type GTK_MESSAGE_INFO'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_7"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"2. Flat review the home position to read the message",
["BRAILLE LINE: 'This is an info bar with message type GTK_MESSAGE_INFO $l'",
" VISIBLE: 'This is an info bar with message', cursor=1",
"SPEECH OUTPUT: 'This is an info bar with message type GTK_MESSAGE_INFO'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,52 @@
#!/usr/bin/python
"""Test of listbox output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("List Box"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"1. Where Am I",
["BRAILLE LINE: 'gtk3-demo application List Box frame GTKtoolkit 23 Nov 14 @breizhodrome yeah, that's for the OpenGL support that has been added recently list box GTKtoolkit 23 Nov 14 @breizhodrome yeah, that's for the OpenGL support that has been added recently Details push button Expand push button Reply push button Reshare push button Favorite push button & y More... toggle button reshareer push button GTK+ and friends push button '",
" VISIBLE: 'GTKtoolkit 23 Nov 14 @breizhodro', cursor=1",
"SPEECH OUTPUT: 'GTKtoolkit 23 Nov 14 @breizhodrome yeah, that's for the OpenGL support that has been added recently.'",
"SPEECH OUTPUT: '1 of 388.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Next item",
["BRAILLE LINE: 'gtk3-demo application List Box frame ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by list box ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by Details push button Expand push button Reply push button Reshare push button Favorite push button & y More... toggle button GTKtoolkit push button Emmanuele Bassi push button '",
" VISIBLE: 'ebassi 15 Nov 14 RT @ebassi: emb', cursor=1",
"SPEECH OUTPUT: 'ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by.'",
"SPEECH OUTPUT: 'Expand push button'",
"SPEECH OUTPUT: 'Reply push button'",
"SPEECH OUTPUT: 'Reshare push button'",
"SPEECH OUTPUT: 'Favorite push button'",
"SPEECH OUTPUT: 'More... toggle button not pressed'",
"SPEECH OUTPUT: 'GTKtoolkit push button'",
"SPEECH OUTPUT: 'Emmanuele Bassi push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"3. Where Am I",
["BRAILLE LINE: 'gtk3-demo application List Box frame ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by list box ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by Details push button Expand push button Reply push button Reshare push button Favorite push button & y More... toggle button GTKtoolkit push button Emmanuele Bassi push button '",
" VISIBLE: 'ebassi 15 Nov 14 RT @ebassi: emb', cursor=1",
"SPEECH OUTPUT: 'ebassi 15 Nov 14 RT @ebassi: embloggeration happened: http://t.co/9ukkNuSzuc \u2014 help out supporting GL on windows and macos in GTK+ 3.16. Resent by.'",
"SPEECH OUTPUT: '2 of 388.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,85 @@
#!/usr/bin/python
"""Test of menu and menu item output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(utils.AssertPresentationAction(
"1. Initial menu and menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu'",
" VISIBLE: 'Preferences menu', cursor=1",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Prefer Dark Theme check menu item'",
" VISIBLE: '< > Prefer Dark Theme check menu', cursor=1",
"SPEECH OUTPUT: 'Preferences menu.'",
"SPEECH OUTPUT: 'Prefer Dark Theme check menu item not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Next menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Hide Titlebar when maximized check menu item'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'Hide Titlebar when maximized check menu item not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. Next menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Color menu.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Preferences menu'",
"SPEECH OUTPUT: 'Color menu.'",
"SPEECH OUTPUT: '3 of 5.'",
"SPEECH OUTPUT: 'C'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"5. Get into Color menu",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu &=y Red radio menu item(Ctrl+R)'",
" VISIBLE: '&=y Red radio menu item(Ctrl+R)', cursor=1",
"SPEECH OUTPUT: 'Red selected radio menu item Ctrl+R'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu &=y Red radio menu item(Ctrl+R)'",
" VISIBLE: '&=y Red radio menu item(Ctrl+R)', cursor=1",
"SPEECH OUTPUT: 'Preferences menu'",
"SPEECH OUTPUT: 'Color menu'",
"SPEECH OUTPUT: 'Red radio menu item selected Ctrl+R 1 of 3.'",
"SPEECH OUTPUT: 'R'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"7. Get out of Color menu",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Color menu.'"]))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,226 @@
#!/usr/bin/python
"""Test of menu and menu item output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("<Control>r"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(utils.AssertPresentationAction(
"1. Initial menu and menu item",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu'",
" VISIBLE: 'Preferences menu', cursor=1",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame < > Prefer Dark Theme check menu item'",
" VISIBLE: '< > Prefer Dark Theme check menu', cursor=1",
"SPEECH OUTPUT: 'Preferences menu.'",
"SPEECH OUTPUT: 'Prefer Dark Theme check menu item not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"2. Review current line",
["BRAILLE LINE: '< > Prefer Dark Theme $l'",
" VISIBLE: '< > Prefer Dark Theme $l', cursor=1",
"SPEECH OUTPUT: 'not checked Prefer Dark Theme'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"3. Review previous line",
[""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"4. Review next line",
["BRAILLE LINE: '< > Hide Titlebar when maximized $l'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'not checked Hide Titlebar when maximized'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"5. Review current word",
["BRAILLE LINE: '< > Hide Titlebar when maximized $l'",
" VISIBLE: '< > Hide Titlebar when maximized', cursor=1",
"SPEECH OUTPUT: 'not checked'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"6. Review next word",
["BRAILLE LINE: '< > Hide Titlebar when maximized $l'",
" VISIBLE: 'Hide Titlebar when maximized $l', cursor=1",
"SPEECH OUTPUT: 'Hide '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"7. Review next word",
["BRAILLE LINE: '< > Hide Titlebar when maximized $l'",
" VISIBLE: 'Hide Titlebar when maximized $l', cursor=6",
"SPEECH OUTPUT: 'Titlebar '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"8. Review next line",
["BRAILLE LINE: 'Color $l'",
" VISIBLE: 'Color $l', cursor=1",
"SPEECH OUTPUT: 'Color'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"9. Review next line",
["BRAILLE LINE: 'Shape $l'",
" VISIBLE: 'Shape $l', cursor=1",
"SPEECH OUTPUT: 'Shape'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"10. Review next line",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=1",
"SPEECH OUTPUT: 'not checked Bold'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"11. Review next line",
[""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"12. Review current word",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=1",
"SPEECH OUTPUT: 'not checked'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"13. Review next word",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=5",
"SPEECH OUTPUT: 'Bold'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"14. Review current char",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=5",
"SPEECH OUTPUT: 'B'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"15. Review next char",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=6",
"SPEECH OUTPUT: 'o'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"16. Review previous char",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=5",
"SPEECH OUTPUT: 'B'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"17. Review previous char",
["BRAILLE LINE: '< > Bold $l'",
" VISIBLE: '< > Bold $l', cursor=1",
"SPEECH OUTPUT: 'not checked'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_4"))
sequence.append(utils.AssertPresentationAction(
"18. Review previous word",
["BRAILLE LINE: 'Shape $l'",
" VISIBLE: 'Shape $l', cursor=1",
"SPEECH OUTPUT: 'Shape'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_4"))
sequence.append(utils.AssertPresentationAction(
"19. Review previoius word",
["BRAILLE LINE: 'Color $l'",
" VISIBLE: 'Color $l', cursor=1",
"SPEECH OUTPUT: 'Color'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Divide"))
sequence.append(utils.AssertPresentationAction(
"20. Synthesize click to open menu",
["KNOWN ISSUE: For some reason only a real mouse event opens this menu",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame Color menu'",
" VISIBLE: 'Color menu', cursor=1",
"SPEECH OUTPUT: 'Color menu.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"21. Right",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu &=y Red radio menu item(Ctrl+R)'",
" VISIBLE: '&=y Red radio menu item(Ctrl+R)', cursor=1",
"SPEECH OUTPUT: 'Red selected radio menu item Ctrl+R'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"22. Review current line",
["BRAILLE LINE: '&=y Red $l'",
" VISIBLE: '&=y Red $l', cursor=1",
"SPEECH OUTPUT: 'selected Red'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"23. Review next line",
["BRAILLE LINE: '& y Green $l'",
" VISIBLE: '& y Green $l', cursor=1",
"SPEECH OUTPUT: 'not selected Green'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"24. Review next line",
["BRAILLE LINE: '& y Blue $l'",
" VISIBLE: '& y Blue $l', cursor=1",
"SPEECH OUTPUT: 'not selected Blue'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"25. Review next line",
[""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"26. Review previous line",
["BRAILLE LINE: '& y Green $l'",
" VISIBLE: '& y Green $l', cursor=1",
"SPEECH OUTPUT: 'not selected Green'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,41 @@
#!/usr/bin/python
"""Test of page tab output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"1. Right Arrow to the Page Setup page tab",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab'",
" VISIBLE: 'Page Setup page tab', cursor=1",
"SPEECH OUTPUT: 'Page Setup page tab.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Page Setup page tab Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog Page Setup page tab'",
" VISIBLE: 'Page Setup page tab', cursor=1",
"SPEECH OUTPUT: 'page tab list.'",
"SPEECH OUTPUT: 'Page Setup page tab.'",
"SPEECH OUTPUT: '2 of [0-9]'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,58 @@
#!/usr/bin/python
"""Test of push button output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Button Boxes"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"1. OK push button",
["BRAILLE LINE: 'gtk3-demo application Button Boxes frame'",
" VISIBLE: 'Button Boxes frame', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Button Boxes frame Horizontal Button Boxes panel Spread panel OK push button'",
" VISIBLE: 'OK push button', cursor=1",
"SPEECH OUTPUT: 'Button Boxes frame'",
"SPEECH OUTPUT: 'Horizontal Button Boxes panel.'",
"SPEECH OUTPUT: 'Spread panel.'",
"SPEECH OUTPUT: 'OK push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. OK push button Where Am I",
["BRAILLE LINE: 'gtk3-demo application Button Boxes frame Horizontal Button Boxes panel Spread panel OK push button'",
" VISIBLE: 'OK push button', cursor=1",
"SPEECH OUTPUT: 'OK push button"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"3. Cancel push button",
["BRAILLE LINE: 'gtk3-demo application Button Boxes frame Horizontal Button Boxes panel Spread panel Cancel push button'",
" VISIBLE: 'Cancel push button', cursor=1",
"SPEECH OUTPUT: 'Cancel push button'"]))
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"4. OK Edge button",
["BRAILLE LINE: 'gtk3-demo application Button Boxes frame Horizontal Button Boxes panel Edge panel OK push button'",
" VISIBLE: 'OK push button', cursor=1",
"SPEECH OUTPUT: 'Edge panel.'",
"SPEECH OUTPUT: 'OK push button'"]))
sequence.append(KeyComboAction("<Alt>F4", 500))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,71 @@
#!/usr/bin/python
"""Test of radio button output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>a"))
sequence.append(utils.AssertPresentationAction(
"1. All Pages radio button",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Range panel Range &=y All Pages radio button'",
" VISIBLE: '&=y All Pages radio button', cursor=1",
"SPEECH OUTPUT: 'Range panel.'",
"SPEECH OUTPUT: 'All Pages.'",
"SPEECH OUTPUT: 'selected radio button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. All Pages radio button Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Range panel Range &=y All Pages radio button'",
" VISIBLE: '&=y All Pages radio button', cursor=1",
"SPEECH OUTPUT: 'Range.'",
"SPEECH OUTPUT: 'All Pages radio button.'",
"SPEECH OUTPUT: 'selected.'",
"SPEECH OUTPUT: '1 of 3.'",
"SPEECH OUTPUT: 'Alt+A'"]))
sequence.append(KeyComboAction("Down"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(utils.AssertPresentationAction(
"3. Range radio button",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Range panel Range &=y Pages: radio button'",
" VISIBLE: '&=y Pages: radio button', cursor=1",
"SPEECH OUTPUT: 'Pages:'",
"SPEECH OUTPUT: 'selected radio button'",
"SPEECH OUTPUT: 'Specify one or more page ranges,",
" e.g. 13, 7, 11'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Range radio button Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Range panel Range &=y Pages: radio button'",
" VISIBLE: '&=y Pages: radio button', cursor=1",
"SPEECH OUTPUT: 'Range.'",
"SPEECH OUTPUT: 'Pages: radio button.'",
"SPEECH OUTPUT: 'selected.'",
"SPEECH OUTPUT: '3 of 3.'",
"SPEECH OUTPUT: 'Alt+E'",
"SPEECH OUTPUT: 'Specify one or more page ranges,",
" e.g. 13, 7, 11'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,38 @@
#!/usr/bin/python
"""Test of radio menu item output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("<Alt>p"))
sequence.append(KeyComboAction("C"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. radio menu item - not selected",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu & y Green radio menu item(Ctrl+G)'",
" VISIBLE: '& y Green radio menu item(Ctrl+G', cursor=1",
"SPEECH OUTPUT: 'Green not selected radio menu item Ctrl+G'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. radio menu item - selected",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame Preferences menu & y Blue radio menu item(Ctrl+B)'",
" VISIBLE: '& y Blue radio menu item(Ctrl+B)', cursor=1",
"SPEECH OUTPUT: 'Blue not selected radio menu item Ctrl+B'"]))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,70 @@
#!/usr/bin/python
"""Test of spin button output"""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("<Alt>s"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(2000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Alt>s"))
sequence.append(utils.AssertPresentationAction(
"1. Give focus to spin button",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Copies panel Copies: 1 $l'",
" VISIBLE: 'Copies: 1 $l', cursor=10",
"SPEECH OUTPUT: 'Copies: 1 selected spin button.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Where Am I",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Copies panel Copies: 1 $l'",
" VISIBLE: 'Copies: 1 $l', cursor=10",
"SPEECH OUTPUT: 'Copies: spin button 1 selected.'",
"SPEECH OUTPUT: 'Alt+S'"]))
sequence.append(TypeAction("15"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"3. Increment value",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Copies panel Copies: 16 $l'",
" VISIBLE: 'Copies: 16 $l', cursor=9",
"SPEECH OUTPUT: '16'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"4. Decrement value",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Copies panel Copies: 15 $l'",
" VISIBLE: 'Copies: 15 $l', cursor=9",
"SPEECH OUTPUT: '15'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"5. Caret navigation",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Copies panel Copies: 15 $l'",
" VISIBLE: 'Copies: 15 $l', cursor=10",
"SPEECH OUTPUT: '5'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,81 @@
#!/usr/bin/python
"""Test of split pane output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Paned Widgets"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("F8"))
sequence.append(utils.AssertPresentationAction(
"1. vertical splitter",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 84 vertical splitter'",
" VISIBLE: '84 vertical splitter', cursor=1",
"SPEECH OUTPUT: 'vertical splitter 84'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"2. vertical splitter increment value",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 85 vertical splitter'",
" VISIBLE: '85 vertical splitter', cursor=1",
"SPEECH OUTPUT: '85'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"3. vertical splitter Where Am I",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 85 vertical splitter'",
" VISIBLE: '85 vertical splitter', cursor=1",
"SPEECH OUTPUT: 'vertical splitter 85'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"4. vertical splitter decrement value",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 84 vertical splitter'",
" VISIBLE: '84 vertical splitter', cursor=1",
"SPEECH OUTPUT: '84'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("F8"))
sequence.append(utils.AssertPresentationAction(
"5. horizontal splitter",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 60 horizontal splitter'",
" VISIBLE: '60 horizontal splitter', cursor=1",
"SPEECH OUTPUT: 'horizontal splitter 60'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"6. horizontal splitter increment value",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 61 horizontal splitter'",
" VISIBLE: '61 horizontal splitter', cursor=1",
"SPEECH OUTPUT: '61'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"7. horizontal splitter Where Am I",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 61 horizontal splitter'",
" VISIBLE: '61 horizontal splitter', cursor=1",
"SPEECH OUTPUT: 'horizontal splitter 61'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"8. horizontal splitter decrement value",
["BRAILLE LINE: 'gtk3-demo application Paned Widgets frame 60 horizontal splitter'",
" VISIBLE: '60 horizontal splitter', cursor=1",
"SPEECH OUTPUT: '60'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,40 @@
#!/usr/bin/python
"""Test of status bar output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("1"))
sequence.append(KeyComboAction("BackSpace"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"1. Status bar Where Am I",
["KNOWN ISSUE: We might not want the 'frame' visible",
"BRAILLE LINE: 'Application Class'",
" VISIBLE: 'Application Class', cursor=0",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame $l'",
" VISIBLE: 'frame $l', cursor=7",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame $l'",
" VISIBLE: 'frame $l', cursor=7",
"SPEECH OUTPUT: 'Application Class'",
"SPEECH OUTPUT: 'Cursor at row 0 column 0 - 0 chars in document'",
"SPEECH OUTPUT: 'Information'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,84 @@
#!/usr/bin/python
"""Test of table output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("End"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Up"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"1. Table Where Am I",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 3 bottles of coke '",
" VISIBLE: '3 bottles of coke ', cursor=1",
"SPEECH OUTPUT: 'table.'",
"SPEECH OUTPUT: 'Number.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: '3.'",
"SPEECH OUTPUT: 'column 1 of 3'",
"SPEECH OUTPUT: 'row 1 of 5.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Next row",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 5 packages of noodles '",
" VISIBLE: '5 packages of noodles ', cursor=1",
"SPEECH OUTPUT: '5.'",
"SPEECH OUTPUT: 'packages of noodles.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"3. Table Where Am I (again)",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 5 packages of noodles '",
" VISIBLE: '5 packages of noodles ', cursor=1",
"SPEECH OUTPUT: 'table.'",
"SPEECH OUTPUT: 'Number.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: '5.'",
"SPEECH OUTPUT: 'column 1 of 3'",
"SPEECH OUTPUT: 'row 2 of 5.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("F11"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"4. Turn row reading off",
["BRAILLE LINE: 'Speak cell'",
" VISIBLE: 'Speak cell', cursor=0",
"SPEECH OUTPUT: 'Speak cell'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"5. Table Right to the Product column in the packages of noodles row",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 5 packages of noodles '",
" VISIBLE: '5 packages of noodles ', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Product column header packages of noodles table cell'",
" VISIBLE: 'packages of noodles table cell', cursor=1",
"SPEECH OUTPUT: 'Product column header packages of noodles.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"6. Table up to bottles of coke",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Product column header bottles of coke table cell'",
" VISIBLE: 'bottles of coke table cell', cursor=1",
"SPEECH OUTPUT: 'bottles of coke.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,226 @@
#!/usr/bin/python
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("End"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. Down",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 5 packages of noodles ",
" VISIBLE: '5 packages of noodles ', cursor=1",
"SPEECH OUTPUT: '5.'",
"SPEECH OUTPUT: 'packages of noodles.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. Down",
["BRAILLE LINE: 'gtk3-demo application Editable Cells frame table Number column header 2 packages of chocolate chip cookies ",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2.'",
"SPEECH OUTPUT: 'packages of chocolate chip cookies.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Subtract"))
sequence.append(utils.AssertPresentationAction(
"3. Enter flat review",
["BRAILLE LINE: 'Entering flat review.'",
" VISIBLE: 'Entering flat review.', cursor=0",
"BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: 'Entering flat review.' voice=system",
"SPEECH OUTPUT: '2'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"4. Review current line",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2 packages of chocolate chip cookies'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"5. Review current word'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"6. Review current char'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"7. Review next word'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=1",
"SPEECH OUTPUT: 'packages '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"8. Review next word'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=10",
"SPEECH OUTPUT: 'of '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"9. Review next char'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=11",
"SPEECH OUTPUT: 'f'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_3"))
sequence.append(utils.AssertPresentationAction(
"10. Review next char'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=12",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"11. Review previous char'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=11",
"SPEECH OUTPUT: 'f'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_1"))
sequence.append(utils.AssertPresentationAction(
"12. Review previous char'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=10",
"SPEECH OUTPUT: 'o'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_4"))
sequence.append(utils.AssertPresentationAction(
"13. Review previous word'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: 'packages of chocolate chip cooki', cursor=1",
"SPEECH OUTPUT: 'packages '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_4"))
sequence.append(utils.AssertPresentationAction(
"14. Review previous word'",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_4"))
sequence.append(utils.AssertPresentationAction(
"15. Review previous word'",
["BRAILLE LINE: '5 packages of noodles $l'",
" VISIBLE: '5 packages of noodles $l', cursor=15",
"SPEECH OUTPUT: 'noodles'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"16. Review next line",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2 packages of chocolate chip cookies'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"17. Review next line",
["BRAILLE LINE: '1 can vanilla ice cream $l'",
" VISIBLE: '1 can vanilla ice cream $l', cursor=1",
"SPEECH OUTPUT: '1 can vanilla ice cream'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"18. Review next line",
["BRAILLE LINE: 'horizontal scroll bar 0% $l'",
" VISIBLE: 'horizontal scroll bar 0% $l', cursor=1",
"SPEECH OUTPUT: 'horizontal scroll bar 0 percent.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"19. Review previous line",
["BRAILLE LINE: '1 can vanilla ice cream $l'",
" VISIBLE: '1 can vanilla ice cream $l', cursor=1",
"SPEECH OUTPUT: '1 can vanilla ice cream'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"20. Review previous line",
["BRAILLE LINE: '2 packages of chocolate chip cookies $l'",
" VISIBLE: '2 packages of chocolate chip coo', cursor=1",
"SPEECH OUTPUT: '2 packages of chocolate chip cookies'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"21. Review previous line",
["BRAILLE LINE: '5 packages of noodles $l'",
" VISIBLE: '5 packages of noodles $l', cursor=1",
"SPEECH OUTPUT: '5 packages of noodles"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"22. Review previous line",
["BRAILLE LINE: '3 bottles of coke $l'",
" VISIBLE: '3 bottles of coke $l', cursor=1",
"SPEECH OUTPUT: '3 bottles of coke'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"23. Review previous line",
["BRAILLE LINE: 'vertical scroll bar 0% $l'",
" VISIBLE: 'vertical scroll bar 0% $l', cursor=1",
"SPEECH OUTPUT: 'vertical scroll bar 0 percent."]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"24. Review previous line",
["BRAILLE LINE: 'Number Product Yummy $l'",
" VISIBLE: 'Number Product Yummy $l', cursor=1",
"SPEECH OUTPUT: 'Number Product Yummy"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"25. Review previous line",
["BRAILLE LINE: 'Shopping list (you can edit the cells!) $l'",
" VISIBLE: 'Shopping list (you can edit the ', cursor=1",
"SPEECH OUTPUT: 'Shopping list (you can edit the cells!)'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"26. Review previous line",
[""]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,165 @@
#!/usr/bin/python
"""Test of multiline editable text."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(TypeAction("This is a tes"))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction("t."))
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"1. Typing",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test $l'",
" VISIBLE: 'frame This is a test $l', cursor=21",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test $l'",
" VISIBLE: 'frame This is a test $l', cursor=21",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'frame This is a test. $l', cursor=22",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'frame This is a test. $l', cursor=22",
"BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1"]))
sequence.append(TypeAction("Here is another test."))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"2. Navigate home",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"3. Arrow to end of 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=2",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=3",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=4",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=5",
"SPEECH OUTPUT: 'h'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(utils.AssertPresentationAction(
"4. Select 'is a test'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=8",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=10",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=15",
"SPEECH OUTPUT: ' is'",
"SPEECH OUTPUT: 'selected'",
"SPEECH OUTPUT: ' a'",
"SPEECH OUTPUT: 'selected'",
"SPEECH OUTPUT: ' test'",
"SPEECH OUTPUT: 'selected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift><Control>Left"))
sequence.append(utils.AssertPresentationAction(
"5. Unselect 'test'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=11",
"SPEECH OUTPUT: 'test'",
"SPEECH OUTPUT: 'unselected'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=11",
"SPEECH OUTPUT: 'text.'",
"SPEECH OUTPUT: ' is a selected.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Down"))
sequence.append(utils.AssertPresentationAction(
"7. Shift Down",
["BRAILLE LINE: 'Here is another test. $l'",
" VISIBLE: 'Here is another test. $l', cursor=10",
"SPEECH OUTPUT: 'test.",
"Here is a'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>End"))
sequence.append(utils.AssertPresentationAction(
"8. Shift End",
["BRAILLE LINE: 'Here is another test. $l'",
" VISIBLE: 'Here is another test. $l', cursor=22",
"SPEECH OUTPUT: 'nother test.'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"9. Basic Where Am I multiline selection",
["BRAILLE LINE: 'Here is another test. $l'",
" VISIBLE: 'Here is another test. $l', cursor=22",
"SPEECH OUTPUT: 'text.'",
"SPEECH OUTPUT: ' is a test.",
"Here is another test. selected.'"]))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"10. Detailed Where Am I multiline selection",
["BRAILLE LINE: 'Here is another test. $l'",
" VISIBLE: 'Here is another test. $l', cursor=22",
"SPEECH OUTPUT: 'text.'",
"SPEECH OUTPUT: ' is a test.",
"Here is another test. selected.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"11. Navigate home",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: ' is a test.",
"Here is another test.'",
"SPEECH OUTPUT: 'unselected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Add"))
sequence.append(utils.AssertPresentationAction(
"12. SayAll",
["SPEECH OUTPUT: 'This is a test.",
"'",
"SPEECH OUTPUT: 'Here is another test.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,354 @@
#!/usr/bin/python
"""Test of flat review of text and a toolbar."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(TypeAction("This is a test. "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("This is only a test."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("PLEASE DO NOT PANIC."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Subtract"))
sequence.append(utils.AssertPresentationAction(
"1. KP_Subtract to enter flat review",
["BRAILLE LINE: 'Entering flat review.'",
" VISIBLE: 'Entering flat review.', cursor=0",
"BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'Entering flat review.' voice=system",
"SPEECH OUTPUT: 'PLEASE '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"2. KP_8 to flat review 'PLEASE DO NOT PANIC.'",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'PLEASE DO NOT PANIC.",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"3. KP_5 to flat review 'PLEASE '",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'PLEASE '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"4. KP_2 to flat review 'P'",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'P'"]))
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(KeyComboAction("Down"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"5. KP_5 to flat review 'This '",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"6. KP_5 2X to spell 'This '",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This '",
"SPEECH OUTPUT: 'T'",
"SPEECH OUTPUT: 'h'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(KeyComboAction("KP_5"))
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"7. KP_5 3X to military spell 'This '",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This '",
"SPEECH OUTPUT: 'T'",
"SPEECH OUTPUT: 'h'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'tango'",
"SPEECH OUTPUT: 'hotel'",
"SPEECH OUTPUT: 'india'",
"SPEECH OUTPUT: 'sierra'",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"8. KP_8 to flat review 'This is only a test.'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is only a test.",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"9. KP_8 2X to spell 'This is only a test.'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is only a test.",
"'",
"SPEECH OUTPUT: 'T'",
"SPEECH OUTPUT: 'h'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'o'",
"SPEECH OUTPUT: 'n'",
"SPEECH OUTPUT: 'l'",
"SPEECH OUTPUT: 'y'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'a'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 't'",
"SPEECH OUTPUT: 'e'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 't'",
"SPEECH OUTPUT: 'dot'",
"SPEECH OUTPUT: 'newline'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(KeyComboAction("KP_8"))
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"10. KP_8 3X to military spell 'This is only a test.'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is only a test.",
"'",
"SPEECH OUTPUT: 'T'",
"SPEECH OUTPUT: 'h'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'i'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'o'",
"SPEECH OUTPUT: 'n'",
"SPEECH OUTPUT: 'l'",
"SPEECH OUTPUT: 'y'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 'a'",
"SPEECH OUTPUT: 'space'",
"SPEECH OUTPUT: 't'",
"SPEECH OUTPUT: 'e'",
"SPEECH OUTPUT: 's'",
"SPEECH OUTPUT: 't'",
"SPEECH OUTPUT: 'dot'",
"SPEECH OUTPUT: 'newline'",
"SPEECH OUTPUT: 'tango'",
"SPEECH OUTPUT: 'hotel'",
"SPEECH OUTPUT: 'india'",
"SPEECH OUTPUT: 'sierra'",
"SPEECH OUTPUT: ' '",
"SPEECH OUTPUT: 'india'",
"SPEECH OUTPUT: 'sierra'",
"SPEECH OUTPUT: ' '",
"SPEECH OUTPUT: 'oscar'",
"SPEECH OUTPUT: 'november'",
"SPEECH OUTPUT: 'lima'",
"SPEECH OUTPUT: 'yankee'",
"SPEECH OUTPUT: ' '",
"SPEECH OUTPUT: 'alpha'",
"SPEECH OUTPUT: ' '",
"SPEECH OUTPUT: 'tango'",
"SPEECH OUTPUT: 'echo'",
"SPEECH OUTPUT: 'sierra'",
"SPEECH OUTPUT: 'tango'",
"SPEECH OUTPUT: '.'",
"SPEECH OUTPUT: '",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"11. KP_2 to flat review 'T'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'T'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_2"))
sequence.append(KeyComboAction("KP_2"))
sequence.append(utils.AssertPresentationAction(
"12. KP_2 2X to military spell 'T'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'T'",
"SPEECH OUTPUT: 'tango'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"13. KP_6 to flat review 'is'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=6",
"SPEECH OUTPUT: 'is '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"14. KP_7 to flat review the scrollbar",
["BRAILLE LINE: 'vertical scroll bar 0% $l'",
" VISIBLE: 'vertical scroll bar 0% $l', cursor=1",
"SPEECH OUTPUT: 'vertical scroll bar 0 percent.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"15. KP_7 to flat review 'This is a test.'",
["BRAILLE LINE: 'This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. ",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"16. KP_7 to flat review toolbar",
["KNOWN ISSUE: gtk3-demo's toolbar widgets lack names that were present in the past",
"BRAILLE LINE: 'push button & y Menu push button push button $l'",
" VISIBLE: 'push button & y Menu push button', cursor=1",
"SPEECH OUTPUT: 'push button not pressed Menu push button push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"17. KP_7 to flat review menu",
["BRAILLE LINE: 'Preferences Help $l'",
" VISIBLE: 'Preferences Help $l', cursor=1",
"SPEECH OUTPUT: 'Preferences Help'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_5"))
sequence.append(utils.AssertPresentationAction(
"18. KP_5 to flat review 'Preferences'",
["BRAILLE LINE: 'Preferences Help $l'",
" VISIBLE: 'Preferences Help $l', cursor=1",
"SPEECH OUTPUT: 'Preferences'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"19. KP_6 to flat review 'Help'",
["BRAILLE LINE: 'Preferences Help $l'",
" VISIBLE: 'Preferences Help $l', cursor=13",
"SPEECH OUTPUT: 'Help'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_5"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"20. Insert+KP_5 to flat review 'Help' accessible",
["SPEECH OUTPUT: 'Help menu.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_9"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"21. Insert+KP_9 to flat review end",
["BRAILLE LINE: 'Cursor at row 1 column 0 - 60 chars in document $l'",
" VISIBLE: 'Cursor at row 1 column 0 - 60 ch', cursor=1",
"SPEECH OUTPUT: 'Cursor at row 1 column 0 - 60 chars in document'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_7"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"22. Insert+KP_7 to flat review home",
["BRAILLE LINE: 'Preferences Help $l'",
" VISIBLE: 'Preferences Help $l', cursor=1",
"SPEECH OUTPUT: 'Preferences Help'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_6"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"23. Insert+KP_6 to flat review below",
["BRAILLE LINE: 'push button & y Menu push button push button $l'",
" VISIBLE: 'push button & y Menu push button', cursor=1",
"SPEECH OUTPUT: 'push '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_4"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"24. Insert+KP_4 to flat review above",
["BRAILLE LINE: 'Preferences Help $l'",
" VISIBLE: 'Preferences Help $l', cursor=1",
"SPEECH OUTPUT: 'Preferences'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Subtract"))
sequence.append(utils.AssertPresentationAction(
"25. KP_Subtract to exit flat review",
["BRAILLE LINE: 'Leaving flat review.'",
" VISIBLE: 'Leaving flat review.', cursor=0",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'Leaving flat review.' voice=system"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,395 @@
#!/usr/bin/python
"""Test of text output for caret navigation."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(TypeAction("This is a test. "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("This is only a test."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("PLEASE DO NOT PANIC."))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("I'm just going to keep on typing."))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("Then, I'm going to type some"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("more. I just do not know when to"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("quit typing."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("I think I might have spent too much"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("time in the lab and not enough time"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("in the wild."))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"1. Left once from end to '.' after 'wild'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=12",
"SPEECH OUTPUT: 'dot'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"2. Left a second time to 'd' in 'wild'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=11",
"SPEECH OUTPUT: 'd'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"3. Left a third time to 'l' in 'wild'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=10",
"SPEECH OUTPUT: 'l'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"4. Ctrl+Left to beginning of 'wild'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=8",
"SPEECH OUTPUT: 'wild.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"5. Ctrl+Left to beginning of 'the'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=4",
"SPEECH OUTPUT: 'the '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"6. Ctrl+Left to beginning of 'in'",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=1",
"SPEECH OUTPUT: 'in '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"7. Ctrl+Left to beginning of 'time' at end of previous line",
["BRAILLE LINE: 'time in the lab and not enough time $l'",
" VISIBLE: 'time $l', cursor=1",
"SPEECH OUTPUT: 'newline'",
"SPEECH OUTPUT: 'time",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Home"))
sequence.append(utils.AssertPresentationAction(
"8. Home to beginning of line",
["BRAILLE LINE: 'time in the lab and not enough time $l'",
" VISIBLE: 'time in the lab and not enough t', cursor=1",
"SPEECH OUTPUT: 't'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("End"))
sequence.append(utils.AssertPresentationAction(
"9. End to end of line",
["BRAILLE LINE: 'time in the lab and not enough time $l'",
" VISIBLE: ' in the lab and not enough time ', cursor=32",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"10. Ctrl+Home to beginning of document",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>End"))
sequence.append(utils.AssertPresentationAction(
"11. Ctrl+End to end of document",
["BRAILLE LINE: 'in the wild. $l'",
" VISIBLE: 'in the wild. $l', cursor=13",
"SPEECH OUTPUT: 'in the wild.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"12. Ctrl+Home back to beginning of document",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"13. Right once to 'h' in 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=2",
"SPEECH OUTPUT: 'h'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"14. Right a second time to 'i' in 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=3",
"SPEECH OUTPUT: 'i'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"15. Right a third time to 's' in 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=4",
"SPEECH OUTPUT: 's'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Right"))
sequence.append(utils.AssertPresentationAction(
"16. Ctrl+Right to end of 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=5",
"SPEECH OUTPUT: 'newline'",
"SPEECH OUTPUT: 'This '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Right"))
sequence.append(utils.AssertPresentationAction(
"17. Ctrl+Right to end of 'is'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=8",
"SPEECH OUTPUT: 'is '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Right"))
sequence.append(utils.AssertPresentationAction(
"18. Ctrl+Right to end of 'a'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=10",
"SPEECH OUTPUT: 'a '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"19. Down a line to 'n' in 'only'",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=10",
"SPEECH OUTPUT: 'This is only a test.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("End"))
sequence.append(utils.AssertPresentationAction(
"20. End of line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=21",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"21. Right to blank line",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"22. Right to beginning of 'PLEASE'",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'P'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"23. Down to line with one space",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"24. Back up to 'PLEASE DO NOT PANIC.'",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'PLEASE DO NOT PANIC.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Right"))
sequence.append(utils.AssertPresentationAction(
"25. Ctrl+Right over PLEASE",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=7",
"SPEECH OUTPUT: 'PLEASE '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"26. Ctrl+Left over PLEASE",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'PLEASE '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(TypeAction("f"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"27. Insert+f for text attributes",
["SPEECH OUTPUT: 'size: 10' voice=system",
"SPEECH OUTPUT: 'family name: Cantarell' voice=system",
"SPEECH OUTPUT: 'foreground color: white' voice=system",
"SPEECH OUTPUT: 'background color: dark slate gray' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Left"))
sequence.append(utils.AssertPresentationAction(
"28. Left to blank line",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"29. Right to beginning of 'PLEASE' again",
["BRAILLE LINE: 'PLEASE DO NOT PANIC. $l'",
" VISIBLE: 'PLEASE DO NOT PANIC. $l', cursor=1",
"SPEECH OUTPUT: 'P'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Up"))
sequence.append(utils.AssertPresentationAction(
"30. Up to blank line",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"31. Ctrl+Home to beginning of document",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Delete"))
sequence.append(utils.AssertPresentationAction(
"32. Delete right 'T' in 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame his is a test. $l'",
" VISIBLE: 'his is a test. $l', cursor=1",
"SPEECH OUTPUT: 'h'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Delete"))
sequence.append(utils.AssertPresentationAction(
"33. Delete right 'h' in 'his'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame is is a test. $l'",
" VISIBLE: 'is is a test. $l', cursor=1",
"SPEECH OUTPUT: 'i'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Delete"))
sequence.append(utils.AssertPresentationAction(
"34. Ctrl+Delete right remaining 'is' of 'This'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame is a test. $l'",
" VISIBLE: ' is a test. $l', cursor=1",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Delete"))
sequence.append(utils.AssertPresentationAction(
"35. Ctrl+Delete right 'is'",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame a test. $l'",
" VISIBLE: ' a test. $l', cursor=1",
"SPEECH OUTPUT: 'space'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"36. Down a line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is only a test.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("End"))
sequence.append(utils.AssertPresentationAction(
"37. End of line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=21",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("BackSpace"))
sequence.append(utils.AssertPresentationAction(
"38. BackSpace '.' after 'test'",
["BRAILLE LINE: 'This is only a test $l'",
" VISIBLE: 'This is only a test $l', cursor=20",
"BRAILLE LINE: 'This is only a test $l'",
" VISIBLE: 'This is only a test $l', cursor=20",
"SPEECH OUTPUT: 'dot'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>BackSpace"))
sequence.append(utils.AssertPresentationAction(
"39. Ctrl+BackSpace to delete 'this'",
["BRAILLE LINE: 'This is only a $l'",
" VISIBLE: 'This is only a $l', cursor=16",
"BRAILLE LINE: 'This is only a $l'",
" VISIBLE: 'This is only a $l', cursor=16",
"SPEECH OUTPUT: 'test'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>BackSpace"))
sequence.append(utils.AssertPresentationAction(
"40. Ctrl+BackSpace to delete 'a'",
["BRAILLE LINE: 'This is only $l'",
" VISIBLE: 'This is only $l', cursor=14",
"BRAILLE LINE: 'This is only $l'",
" VISIBLE: 'This is only $l', cursor=14",
"SPEECH OUTPUT: 'a '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"41. Ctrl+Left to beginning of 'only'",
["BRAILLE LINE: 'This is only $l'",
" VISIBLE: 'This is only $l', cursor=9",
"SPEECH OUTPUT: 'newline'",
"SPEECH OUTPUT: 'only ",
"",
"'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Left"))
sequence.append(utils.AssertPresentationAction(
"42. Ctrl+Left to beginning of 'is'",
["BRAILLE LINE: 'This is only $l'",
" VISIBLE: 'This is only $l', cursor=6",
"SPEECH OUTPUT: 'is '"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,138 @@
#!/usr/bin/python
"""Test of text output for caret navigation and flat review."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(TypeAction("This is a test. "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("This is only a test."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(KeyComboAction("Right"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift><Control>Page_Up"))
sequence.append(utils.AssertPresentationAction(
"1. Shift+Ctrl+Page_Up to select text to beginning of line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'line selected from start to previous cursor position'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift><Control>Page_Down"))
sequence.append(utils.AssertPresentationAction(
"2. Shift+Ctrl+Page_Down to select text to end of line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=21",
"SPEECH OUTPUT: 'line selected to end from previous cursor position'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Up"))
sequence.append(utils.AssertPresentationAction(
"3. Shift+Up to deselect some text and select some text above",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=17",
"SPEECH OUTPUT: 'is only a test.'",
"SPEECH OUTPUT: 'unselected' voice=system",
"SPEECH OUTPUT: '",
"This '",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Down"))
sequence.append(utils.AssertPresentationAction(
"4. Shift+Down to deselect some text and select some text below",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=21",
"SPEECH OUTPUT: '",
"This '",
"SPEECH OUTPUT: 'unselected' voice=system",
"SPEECH OUTPUT: 'is only a test.'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Page_Up"))
sequence.append(utils.AssertPresentationAction(
"5. Ctrl+Page_Up to beginning of line",
["BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=1",
"SPEECH OUTPUT: 'is only a test.'",
"SPEECH OUTPUT: 'unselected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Page_Down"))
sequence.append(utils.AssertPresentationAction(
"6. Ctrl+Page_Down to end of line",
["KNOWN ISSUE: We say nothing here",
"BRAILLE LINE: 'This is only a test. $l'",
" VISIBLE: 'This is only a test. $l', cursor=21"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Page_Up"))
sequence.append(utils.AssertPresentationAction(
"7. Page up",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Page_Down"))
sequence.append(utils.AssertPresentationAction(
"8. Page down",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'blank'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Page_Up"))
sequence.append(utils.AssertPresentationAction(
"9. Shift+Page_Up to select text",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'page selected to cursor position'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Page_Down"))
sequence.append(utils.AssertPresentationAction(
"10. Shift+Page_Down to deselect text",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'page unselected from cursor position' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Page_Up"))
sequence.append(utils.AssertPresentationAction(
"11. Page_Up",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=1",
"SPEECH OUTPUT: 'This is a test. '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Add"))
sequence.append(utils.AssertPresentationAction(
"12. KP_Add to do a SayAll",
["SPEECH OUTPUT: 'This is a test. ",
"'",
"SPEECH OUTPUT: 'This is only a test.",
"'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,140 @@
#!/usr/bin/python
"""Test of multiline editable text."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("End"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("Up"))
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>a"))
sequence.append(utils.AssertPresentationAction(
"1. Select all'",
["BRAILLE LINE: 'gtk3-demo application Hypertext frame Some text to show that simple hyper text can easily be realized with $l'",
" VISIBLE: 'Some text to show that simple hy', cursor=1",
"SPEECH OUTPUT: 'entire document selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Delete"))
sequence.append(utils.AssertPresentationAction(
"2. Delete the selection",
["BRAILLE LINE: 'gtk3-demo application Hypertext frame $l'",
" VISIBLE: ' $l', cursor=1",
"BRAILLE LINE: 'Selection deleted.'",
" VISIBLE: 'Selection deleted.', cursor=0",
"BRAILLE LINE: 'gtk3-demo application Hypertext frame $l'",
" VISIBLE: 'frame $l', cursor=7",
"SPEECH OUTPUT: 'Selection deleted.' voice=system"]))
sequence.append(TypeAction("This is a test."))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction("This is another test."))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(KeyComboAction("<Shift><Control>Right"))
sequence.append(utils.AssertPresentationAction(
"3. Select two words'",
["BRAILLE LINE: 'gtk3-demo application Hypertext frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=5",
"BRAILLE LINE: 'gtk3-demo application Hypertext frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=8",
"SPEECH OUTPUT: 'This'",
"SPEECH OUTPUT: 'selected' voice=system",
"SPEECH OUTPUT: ' is'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>c"))
sequence.append(utils.AssertPresentationAction(
"4. Copy the selection",
["BRAILLE LINE: 'Copied selection to clipboard.'",
" VISIBLE: 'Copied selection to clipboard.', cursor=0",
"SPEECH OUTPUT: 'Copied selection to clipboard.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>End"))
sequence.append(utils.AssertPresentationAction(
"5. End of file",
["BRAILLE LINE: 'gtk3-demo application Hypertext frame This is a test. $l'",
" VISIBLE: 'This is a test. $l', cursor=8",
"BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'This is'",
"SPEECH OUTPUT: 'unselected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"6. Newline",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>v"))
sequence.append(utils.AssertPresentationAction(
"7. Paste",
["BRAILLE LINE: 'This is $l'",
" VISIBLE: 'This is $l', cursor=8",
"BRAILLE LINE: 'Pasted contents from clipboard.'",
" VISIBLE: 'Pasted contents from clipboard.', cursor=0",
"BRAILLE LINE: 'This is $l'",
" VISIBLE: 'This is $l', cursor=8",
"SPEECH OUTPUT: 'Pasted contents from clipboard.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Up"))
sequence.append(utils.AssertPresentationAction(
"8. Select Up",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: '",
"This is'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Up"))
sequence.append(utils.AssertPresentationAction(
"9. Select Up",
["BRAILLE LINE: 'This is another test. $l'",
" VISIBLE: 'This is another test. $l', cursor=1",
"SPEECH OUTPUT: 'This is another test.",
"'",
"SPEECH OUTPUT: 'selected' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>x"))
sequence.append(utils.AssertPresentationAction(
"10. Cut the selection",
["BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"BRAILLE LINE: 'Cut selection to clipboard.'",
" VISIBLE: 'Cut selection to clipboard.', cursor=0",
"BRAILLE LINE: ' $l'",
" VISIBLE: ' $l', cursor=1",
"SPEECH OUTPUT: 'Cut selection to clipboard.' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>x"))
sequence.append(utils.AssertPresentationAction(
"11. Cut with nothing selected",
[""]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,52 @@
#!/usr/bin/python
"""Test of toggle button output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Expander"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"1. Toggle button Where Am I",
["BRAILLE LINE: 'gtk3-demo application Error alert & y Details: collapsed toggle button'",
" VISIBLE: '& y Details: collapsed toggle bu', cursor=1",
"SPEECH OUTPUT: 'Details: toggle button collapsed'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"2. Toggle button state changed to expanded",
["BRAILLE LINE: 'gtk3-demo application Error alert &=y Details: expanded toggle button'",
" VISIBLE: '&=y Details: expanded toggle but', cursor=1",
"SPEECH OUTPUT: 'expanded'",
"SPEECH OUTPUT: 'Finally, the full story with all details. And all the inside information, including error codes, etc etc. Pages of information, you might have to scroll down to read it all, or even resize the window - it works !",
"A second paragraph will contain even more innuendo, just to make you scroll down or resize the window. Do it already !' voice=system"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"3. Toggle button pressed Where Am I",
["BRAILLE LINE: 'gtk3-demo application Error alert &=y Details: expanded toggle button'",
" VISIBLE: '&=y Details: expanded toggle but', cursor=1",
"SPEECH OUTPUT: 'Details: toggle button expanded'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Return"))
sequence.append(utils.AssertPresentationAction(
"4. Toggle button state changed to collapsed",
["BRAILLE LINE: 'gtk3-demo application Error alert & y Details: collapsed toggle button'",
" VISIBLE: '& y Details: collapsed toggle bu', cursor=1",
"SPEECH OUTPUT: 'collapsed'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,172 @@
#!/usr/bin/python
"""Test of toggle button output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Expander"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"1. Review current line",
["BRAILLE LINE: '& y Details: $l'",
" VISIBLE: '& y Details: $l', cursor=1",
"SPEECH OUTPUT: 'not pressed Details:'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"2. Review previous line",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=1",
"SPEECH OUTPUT: 'Here are some more details but not the full story.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"3. Review previous line",
["BRAILLE LINE: 'Something went wrong $l'",
" VISIBLE: 'Something went wrong $l', cursor=1",
"SPEECH OUTPUT: 'Something went wrong'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"4. Review next line",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=1",
"SPEECH OUTPUT: 'Here are some more details but not the full story.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"5. Review next line",
["BRAILLE LINE: '& y Details: $l'",
" VISIBLE: '& y Details: $l', cursor=1",
"SPEECH OUTPUT: 'not pressed Details:'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_9"))
sequence.append(utils.AssertPresentationAction(
"6. Review next line",
["BRAILLE LINE: 'Close $l'",
" VISIBLE: 'Close $l', cursor=1",
"SPEECH OUTPUT: 'Close'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"7. Review previous line",
["BRAILLE LINE: '& y Details: $l'",
" VISIBLE: '& y Details: $l', cursor=1",
"SPEECH OUTPUT: 'not pressed Details:'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_7"))
sequence.append(utils.AssertPresentationAction(
"8. Review previous line",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=1",
"SPEECH OUTPUT: 'Here are some more details but not the full story.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"9. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=6",
"SPEECH OUTPUT: 'are '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"10. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=10",
"SPEECH OUTPUT: 'some '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"11. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=15",
"SPEECH OUTPUT: 'more '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"12. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=20",
"SPEECH OUTPUT: 'details '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"13. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'Here are some more details but n', cursor=28",
"SPEECH OUTPUT: 'but '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"14. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'not the full story. $l', cursor=1",
"SPEECH OUTPUT: 'not '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"15. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'not the full story. $l', cursor=5",
"SPEECH OUTPUT: 'the '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"16. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'not the full story. $l', cursor=9",
"SPEECH OUTPUT: 'full '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_6"))
sequence.append(utils.AssertPresentationAction(
"17. Review next word",
["BRAILLE LINE: 'Here are some more details but not the full story. $l'",
" VISIBLE: 'not the full story. $l', cursor=14",
"SPEECH OUTPUT: 'story.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Tab"))
sequence.append(utils.AssertPresentationAction(
"18. Tab to change focus",
["KNOWN ISSUE: This is not on screen. But we don't control focus.",
"BRAILLE LINE: 'the window. Do it already ! $l rdonly'",
" VISIBLE: 'the window. Do it already ! $l r', cursor=28",
"BRAILLE LINE: 'the window. Do it already ! $l rdonly'",
" VISIBLE: 'the window. Do it already ! $l r', cursor=28",
"SPEECH OUTPUT: 'read only text.'",
"SPEECH OUTPUT: 'the window. Do it already !'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_8"))
sequence.append(utils.AssertPresentationAction(
"19. Review current line",
["BRAILLE LINE: 'Something went wrong $l'",
" VISIBLE: 'Something went wrong $l', cursor=1",
"SPEECH OUTPUT: 'Something went wrong'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,69 @@
#!/usr/bin/python
"""Test of toolbar output using."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Tab"))
sequence.append(utils.AssertPresentationAction(
"1. Push button initial focus",
["KNOWN ISSUE: The widgets on the toolbar no longer have accessible names, so Cthulhu cannot present them.",
"BRAILLE LINE: 'gtk3-demo-application application Application Class frame push button'",
" VISIBLE: 'push button', cursor=1",
"SPEECH OUTPUT: 'push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame push button'",
" VISIBLE: 'push button', cursor=1",
"SPEECH OUTPUT: 'tool bar push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"3. Open triangle toggle button",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame & y Menu toggle button'",
" VISIBLE: '& y Menu toggle button', cursor=1",
"SPEECH OUTPUT: 'Menu toggle button not pressed'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"4. Open triangle toggle button Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame & y Menu toggle button'",
" VISIBLE: '& y Menu toggle button', cursor=1",
"SPEECH OUTPUT: 'tool bar Menu toggle button not pressed'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"5. Next push button",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame push button'",
" VISIBLE: 'push button', cursor=1",
"SPEECH OUTPUT: 'push button'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. Where Am I",
["BRAILLE LINE: 'gtk3-demo-application application Application Class frame push button'",
" VISIBLE: 'push button', cursor=1",
"SPEECH OUTPUT: 'tool bar push button'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,43 @@
#!/usr/bin/python
"""Test of tooltips."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Popovers"))
sequence.append(KeyComboAction("Escape"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("<Alt>e"))
sequence.append(KeyComboAction("<Shift>ISO_Left_Tab"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>F1"))
sequence.append(utils.AssertPresentationAction(
"1. Show tooltip",
["KNOWN ISSUE: Now that gnome-shell is used to display tooltips, the content is not accessible",
""]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>F1"))
sequence.append(utils.AssertPresentationAction(
"2. Hide tooltip",
["BRAILLE LINE: 'gtk3-demo application Print dialog General page tab Range panel Range &=y Pages: radio button'",
" VISIBLE: '&=y Pages: radio button', cursor=1",
"SPEECH OUTPUT: 'Pages:'",
"SPEECH OUTPUT: 'selected radio button'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,251 @@
#!/usr/bin/python
"""Test of tree table output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("End"))
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Down"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"1. January cell focus",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January expanded < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January expanded < > Alex < > Ha', cursor=1",
"SPEECH OUTPUT: 'January expanded 3 items.'",
"SPEECH OUTPUT: 'Alex'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Havoc'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Tim'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Owen'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Dave'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'tree level 1'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"2. January cell basic Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January expanded < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January expanded < > Alex < > Ha', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 53.'",
"SPEECH OUTPUT: 'expanded.'",
"SPEECH OUTPUT: 'tree level 1.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"3. January cell detailed Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January expanded < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January expanded < > Alex < > Ha', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January expanded < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January expanded < > Alex < > Ha', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 53.'",
"SPEECH OUTPUT: 'expanded.'",
"SPEECH OUTPUT: 'tree level 1.'",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 53.'",
"SPEECH OUTPUT: 'January expanded 3 items.'",
"SPEECH OUTPUT: 'Alex'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Havoc'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Tim'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Owen'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Dave'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'expanded.'",
"SPEECH OUTPUT: 'tree level 1.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Left"))
sequence.append(utils.AssertPresentationAction(
"4. January cell collapsed",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January collapsed < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January collapsed < > Alex < > H', cursor=1",
"SPEECH OUTPUT: 'collapsed.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"5. January cell collapsed basic Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January collapsed < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January collapsed < > Alex < > H', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 50.'",
"SPEECH OUTPUT: 'collapsed.'",
"SPEECH OUTPUT: 'tree level 1.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"6. January cell collapsed detailed Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January collapsed < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January collapsed < > Alex < > H', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January collapsed < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January collapsed < > Alex < > H', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 50.'",
"SPEECH OUTPUT: 'collapsed.'",
"SPEECH OUTPUT: 'tree level 1.'",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Holiday.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'January.'",
"SPEECH OUTPUT: 'column 1 of 6'",
"SPEECH OUTPUT: 'row 1 of 50.'",
"SPEECH OUTPUT: 'January collapsed.'",
"SPEECH OUTPUT: 'Alex'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Havoc'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Tim'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Owen'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'Dave'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'collapsed.'",
"SPEECH OUTPUT: 'tree level 1.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Shift>Right"))
sequence.append(utils.AssertPresentationAction(
"7. January cell expanded",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header January expanded < > Alex < > Havoc < > Tim < > Owen < > Dave TREE LEVEL 1'",
" VISIBLE: 'January expanded < > Alex < > Ha', cursor=1",
"SPEECH OUTPUT: 'expanded.'",
"SPEECH OUTPUT: '3 items.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"8. New Year's Day cell",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Holiday column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave TREE LEVEL 2'",
" VISIBLE: 'New Years Day <x> Alex <x> Havoc', cursor=1",
"SPEECH OUTPUT: 'New Years Day.'",
"SPEECH OUTPUT: 'Alex'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Havoc'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Tim'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Owen'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Dave'",
"SPEECH OUTPUT: 'check box not checked.'",
"SPEECH OUTPUT: 'tree level 2'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Right"))
sequence.append(utils.AssertPresentationAction(
"9. Alex checkbox cell",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '<x> Alex <x> Havoc <x> Tim <x> O', cursor=1",
"SPEECH OUTPUT: 'Alex column header check box checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"10. Alex checkbox cell basic Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '<x> Alex <x> Havoc <x> Tim <x> O', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Alex.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'column 2 of 6'",
"SPEECH OUTPUT: 'row 2 of 53.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(utils.AssertPresentationAction(
"11. Alex checkbox cell detailed Where Am I",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '<x> Alex <x> Havoc <x> Tim <x> O', cursor=1",
"BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '<x> Alex <x> Havoc <x> Tim <x> O', cursor=1",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Alex.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'column 2 of 6'",
"SPEECH OUTPUT: 'row 2 of 53.'",
"SPEECH OUTPUT: 'tree table.'",
"SPEECH OUTPUT: 'Alex.'",
"SPEECH OUTPUT: 'table cell.'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'column 2 of 6'",
"SPEECH OUTPUT: 'row 2 of 53.'",
"SPEECH OUTPUT: 'New Years Day.'",
"SPEECH OUTPUT: 'Alex'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Havoc'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Tim'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Owen'",
"SPEECH OUTPUT: 'check box checked.'",
"SPEECH OUTPUT: 'Dave'",
"SPEECH OUTPUT: 'check box not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"12. Alex checkbox cell unchecked",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day < > Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '< > Alex <x> Havoc <x> Tim <x> O', cursor=1",
"SPEECH OUTPUT: 'not checked.'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(TypeAction(" "))
sequence.append(utils.AssertPresentationAction(
"13. Alex checkbox cell checked",
["BRAILLE LINE: 'gtk3-demo application Tree Store frame tree table Alex column header New Years Day <x> Alex <x> Havoc <x> Tim <x> Owen < > Dave'",
" VISIBLE: '<x> Alex <x> Havoc <x> Tim <x> O', cursor=1",
"SPEECH OUTPUT: 'checked.'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,21 @@
#!/usr/bin/python
"""Test of window title output."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(utils.StartRecordingAction())
sequence.append(KeyPressAction(0, None, "KP_Insert"))
sequence.append(KeyComboAction("KP_Enter"))
sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
sequence.append(utils.AssertPresentationAction(
"1. Window Where Am I",
["BRAILLE LINE: 'Application Class'",
" VISIBLE: 'Application Class', cursor=0",
"SPEECH OUTPUT: 'Application Class'"]))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,297 @@
#!/usr/bin/python
"""Test of presentation of whitespace with braille disabled."""
from macaroon.playback import *
import utils
sequence = MacroSequence()
sequence.append(KeyComboAction("<Control>f"))
sequence.append(TypeAction("Application class"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Return"))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(KeyComboAction("Return"))
sequence.append(TypeAction(" "))
sequence.append(KeyComboAction("Tab"))
sequence.append(TypeAction("foo"))
sequence.append(KeyComboAction("Return"))
sequence.append(PauseAction(3000))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("<Control>Home"))
sequence.append(utils.AssertPresentationAction(
"1. 1 Tab",
["KNOWN ISSUE: We verbalize AND speak it rather than just verbalizing it",
"SPEECH OUTPUT: '1 tab ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"2. 1 Tab and the word 'foo'",
["SPEECH OUTPUT: '1 tab ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"3. 2 Tabs",
["SPEECH OUTPUT: '2 tabs ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"4. 2 Tabs and the word 'foo'",
["SPEECH OUTPUT: '2 tabs ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"5. 1 space",
["SPEECH OUTPUT: '1 space ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"6. 1 space and the word 'foo'",
["SPEECH OUTPUT: '1 space ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"7. 2 spaces",
["SPEECH OUTPUT: '2 spaces ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"8. 2 spaces and the word 'foo'",
["SPEECH OUTPUT: '2 spaces ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"9. 1 Tab and 1 space",
["SPEECH OUTPUT: '1 tab 1 space ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"10. 1 Tab, 1 space, and the word 'foo'",
["SPEECH OUTPUT: '1 tab 1 space ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"11. 1 Tab and 2 spaces",
["SPEECH OUTPUT: '1 tab 2 spaces ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"12. 1 Tab, 2 spaces, and the word 'foo'",
["SPEECH OUTPUT: '1 tab 2 spaces ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"13. 2 Tabs and 1 space",
["SPEECH OUTPUT: '2 tabs 1 space ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"14. 2 Tabs, 1 space, and the word 'foo'",
["SPEECH OUTPUT: '2 tabs 1 space ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"15. 2 Tabs and 2 spaces",
["SPEECH OUTPUT: '2 tabs 2 spaces ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"16. 2 Tabs, 2 spaces, and the word 'foo'",
["SPEECH OUTPUT: '2 tabs 2 spaces ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"17. 1 Tab, 1 space, and 1 Tab",
["SPEECH OUTPUT: '1 tab 1 space 1 tab ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"18. 1 Tab, 1 space, 1 Tab, and the word 'foo'",
["SPEECH OUTPUT: '1 tab 1 space 1 tab ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"19. 1 Tab, 1 space, 1 Tab, and 1 space",
["SPEECH OUTPUT: '1 tab 1 space 1 tab 1 space ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"20. 1 Tab, 1 space, 1 Tab, 1 space, and the word 'foo'",
["SPEECH OUTPUT: '1 tab 1 space 1 tab 1 space ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"21. 1 Tab, 2 spaces, and 1 Tab",
["SPEECH OUTPUT: '1 tab 2 spaces 1 tab ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"22. 1 Tab, 2 spaces, 1 Tab, and the word 'foo'",
["SPEECH OUTPUT: '1 tab 2 spaces 1 tab ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"23. 2 spaces and 1 Tab",
["SPEECH OUTPUT: '2 spaces 1 tab ' voice=system",
"SPEECH OUTPUT: ' '"]))
sequence.append(utils.StartRecordingAction())
sequence.append(KeyComboAction("Down"))
sequence.append(utils.AssertPresentationAction(
"24. 2 spaces, 1 Tab, and the word 'foo'",
["SPEECH OUTPUT: '2 spaces 1 tab ' voice=system",
"SPEECH OUTPUT: ' foo'"]))
sequence.append(KeyComboAction("<Alt>F4"))
sequence.append(utils.AssertionSummaryAction())
sequence.start()

View File

@ -0,0 +1,177 @@
{
"pronunciations": {},
"keybindings": {},
"profiles": {
"default": {
"speechServerFactory": "cthulhu.speechdispatcherfactory",
"profile": [
"Default",
"default"
],
"voices": {
"default": {
"average-pitch": 5.0,
"rate": 50.0,
"gain": 10.0
},
"uppercase": {
"average-pitch": 5.6
},
"system": {
"established": false
},
"hyperlink": {
"average-pitch": 3.0
}
},
"speechServerInfo": [
"Default Synthesizer",
"default"
],
"keybindings": {},
"pronunciations": {}
}
},
"general": {
"speakCellHeaders": true,
"magEdgeMargin": 0,
"brailleContractionTable": "",
"magPointerFollowsFocus": false,
"magTextTrackingMode": 2,
"magZoomerBorderSize": 1,
"brailleAlignmentStyle": 0,
"enableEchoByWord": false,
"enableMagZoomerColorInversion": false,
"magCursorSize": 32,
"magSmoothingMode": 0,
"magZoomerLeft": 1200,
"sayAllStyle": 1,
"brailleSelectorIndicator": 192,
"presentDateFormat": "%x",
"magContrastLevel": 0,
"magMouseTrackingMode": 0,
"speakCellSpan": true,
"progressBarUpdateInterval": 10,
"speakCellCoordinates": true,
"enablePauseBreaks": true,
"brailleEOLIndicator": " $l",
"verbalizePunctuationStyle": 1,
"progressBarVerbosity": 1,
"enableSpeech": true,
"enableBraille": false,
"chatAnnounceBuddyTyping": false,
"speakMultiCaseStringsAsWords": false,
"enableBrailleGrouping": false,
"readTableCellRow": true,
"activeProfile": [
"Default",
"default"
],
"textAttributesBrailleIndicator": 0,
"enableMagCursorExplicitSize": false,
"messageVerbosityLevel": 1,
"enableMagLiveUpdating": true,
"enableSpeechIndentation": true,
"enableKeyEcho": false,
"magHideCursor": false,
"magZoomerBorderColor": "#000000",
"magPointerFollowsZoomer": true,
"mouseDwellDelay": 0,
"magBrightnessLevelRed": 0,
"enableMagnifier": false,
"magZoomFactor": 4.0,
"speechServerFactory": "speechdispatcherfactory",
"enableMagZoomerBorder": false,
"flashVerbosityLevel": 1,
"enableFlashMessages": true,
"speechServerInfo": null,
"presentToolTips": false,
"flashIsPersistent": false,
"brailleRequiredStateString": "required",
"firstStart": false,
"largeObjectTextLength": 75,
"enableEchoBySentence": false,
"magContrastLevelBlue": 0,
"magContrastLevelRed": 0,
"enableContractedBraille": false,
"cthulhuModifierKeys": [
"Insert",
"KP_Insert"
],
"enableMagCursor": true,
"speechRequiredStateString": "required",
"quitCthulhuNoConfirmation": false,
"skipBlankCells": false,
"magCursorColor": "#000000",
"enablePositionSpeaking": false,
"magZoomerType": 0,
"onlySpeakDisplayedText": false,
"enableProgressBarUpdates": true,
"wrappedStructuralNavigation": true,
"chatRoomHistories": false,
"brailleVerbosityLevel": 1,
"enableFunctionKeys": true,
"enableModifierKeys": true,
"magCrossHairColor": "#000000",
"enableTutorialMessages": false,
"enableActionKeys": true,
"speakBlankLines": true,
"magColorFilteringMode": 0,
"magZoomerRight": 2400,
"keyboardLayout": 1,
"magTargetDisplay": "",
"disableBrailleEOL": false,
"magZoomerTop": 0,
"magSourceDisplay": "",
"enableDiacriticalKeys": false,
"enableMnemonicSpeaking": false,
"enabledBrailledTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; strikethrough:false; justification:left; style:normal; text-spelling:none;",
"speechVerbosityLevel": 1,
"enableMagCrossHair": true,
"enableBrailleMonitor": false,
"voices": {
"default": {
"established": false
},
"uppercase": {
"average-pitch": 5.6
},
"system": {
"established": false
},
"hyperlink": {
"established": false
}
},
"magContrastLevelGreen": 0,
"brailleFlashTime": 5000,
"magCrossHairSize": 16,
"enableMouseReview": false,
"enableNavigationKeys": false,
"magBrightnessLevelGreen": 0,
"chatSpeakRoomName": false,
"startingProfile": [
"Default",
"default"
],
"enableLockingKeys": true,
"profile": [
"Default",
"default"
],
"brailleRolenameStyle": 1,
"brailleLinkIndicator": 192,
"enableEchoByCharacter": false,
"magBrightnessLevelBlue": 0,
"enableBrailleContext": true,
"magControlTrackingMode": 2,
"magZoomerBottom": 1920,
"enablePrintableKeys": true,
"enabledSpokenTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; strikethrough:false; justification:left; style:normal; paragraph-style:; text-spelling:none;",
"chatMessageVerbosity": 0,
"presentTimeFormat": "%X",
"magBrightnessLevel": 0,
"presentRequiredState": false,
"enableMagCrossHairClip": false
}
}