[orca] Clean up and update the Calc, slider, and progress bar tests



commit 5db50d97d08b4c7ce6f5e9139612b22a627b6ce4
Author: Joanmarie Diggs <jdiggs igalia com>
Date:   Sat May 10 17:02:50 2014 -0400

    Clean up and update the Calc, slider, and progress bar tests

 test/keystrokes/oocalc/bug_356334.params           |    1 -
 test/keystrokes/oocalc/bug_356334.py               |  111 ------------
 test/keystrokes/oocalc/bug_361167.params           |    1 -
 test/keystrokes/oocalc/bug_361167.py               |  185 --------------------
 test/keystrokes/oocalc/bug_363801.params           |    1 -
 test/keystrokes/oocalc/bug_363801.py               |  133 --------------
 test/keystrokes/oocalc/bug_363802.params           |    1 -
 test/keystrokes/oocalc/bug_363802.py               |  124 -------------
 test/keystrokes/oocalc/bug_363804.params           |    1 -
 test/keystrokes/oocalc/bug_363804.py               |  118 -------------
 test/keystrokes/oocalc/bug_363804b.params          |    1 -
 test/keystrokes/oocalc/bug_363804b.py              |  118 -------------
 test/keystrokes/oocalc/bug_363804b.settings        |   36 ----
 test/keystrokes/oocalc/bug_364086.py               |   87 ---------
 test/keystrokes/oocalc/bug_364407.py               |   99 -----------
 test/keystrokes/oocalc/bug_433398.params           |    1 -
 test/keystrokes/oocalc/bug_433398.py               |  139 ---------------
 test/keystrokes/oocalc/bug_435307.params           |    1 -
 test/keystrokes/oocalc/bug_435307.py               |  110 ------------
 test/keystrokes/oocalc/bug_435852.py               |   99 -----------
 .../oocalc/coordinate_announcement_off.params      |    1 +
 .../oocalc/coordinate_announcement_off.py          |   51 ++++++
 .../oocalc/coordinate_announcement_off.settings    |  139 +++++++++++++++
 .../oocalc/coordinate_announcement_on.params       |    1 +
 .../oocalc/coordinate_announcement_on.py           |   51 ++++++
 .../oocalc/coordinate_announcement_on.settings     |  139 +++++++++++++++
 test/keystrokes/oocalc/document_enter_text.py      |   41 +++++
 .../oocalc/document_nav_dynamic_headers.params     |    1 +
 .../oocalc/document_nav_dynamic_headers.py         |  137 +++++++++++++++
 .../oocalc/document_text_attributes.params         |    1 +
 test/keystrokes/oocalc/document_text_attributes.py |   38 ++++
 test/keystrokes/oocalc/manage_names_combobox.py    |   55 ++++++
 test/keystrokes/oocalc/messages_dynamic_headers.py |   71 ++++++++
 .../oocalc/ui_role_check_menu_item.params          |    1 +
 test/keystrokes/oocalc/ui_role_check_menu_item.py  |   39 ++++
 test/keystrokes/progressbar/progress_updates.py    |  164 ++----------------
 test/keystrokes/slider/slider.py                   |   75 +++-----
 37 files changed, 809 insertions(+), 1563 deletions(-)
---
diff --git a/test/keystrokes/oocalc/coordinate_announcement_off.params 
b/test/keystrokes/oocalc/coordinate_announcement_off.params
new file mode 100644
index 0000000..60048da
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_off.params
@@ -0,0 +1 @@
+PARAMS=$TEST_DIR/../../documents/fruit.ods
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/coordinate_announcement_off.py 
b/test/keystrokes/oocalc/coordinate_announcement_off.py
new file mode 100644
index 0000000..3b112bd
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_off.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+
+"""Test presentation when coordinate announcement is off"""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(2000))
+sequence.append(KeyComboAction("<Control>Home"))
+
+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(
+    "1. Enable cell reading",
+    ["BRAILLE LINE:  'Speak cell'",
+     "     VISIBLE:  'Speak cell', cursor=0",
+     "SPEECH OUTPUT: 'Speak cell' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Down to A2 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1 Apples B1 Pears C1  D1  E1  F1  G1  H1  I1  J1  K1  L1'",
+     "     VISIBLE:  ' A1 Apples B1 Pears C1  D1  E1  ', cursor=1",
+     "BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Good in Pies A2'",
+     "     VISIBLE:  'Good in Pies A2', cursor=1",
+     "SPEECH OUTPUT: 'Good in Pies'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "3. Right to B2 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes B2'",
+     "     VISIBLE:  'Yes B2', cursor=1",
+     "SPEECH OUTPUT: 'Yes'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("<Control>Home"))
+sequence.append(utils.AssertPresentationAction(
+    "4. Control+Home to A1 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1'",
+     "     VISIBLE:  ' A1', cursor=1",
+     "SPEECH OUTPUT: 'blank'"]))
+
+sequence.append(KeyComboAction("<Control>w"))
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/coordinate_announcement_off.settings 
b/test/keystrokes/oocalc/coordinate_announcement_off.settings
new file mode 100644
index 0000000..ac2a270
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_off.settings
@@ -0,0 +1,139 @@
+{
+    "pronunciations": {}, 
+    "keybindings": {}, 
+    "general": {
+        "enableSpeech": true, 
+        "brailleRequiredStateString": null, 
+        "enableTutorialMessages": false, 
+        "enableFunctionKeys": true, 
+        "enabledSpokenTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; 
strikethrough:false; justification:left; style:normal; paragraph-style:; text-spelling:none;", 
+        "enableMnemonicSpeaking": false, 
+        "progressBarVerbosity": 1, 
+        "speakBlankLines": true, 
+        "speechServerInfo": null, 
+        "enableSpeechIndentation": false, 
+        "speakMultiCaseStringsAsWords": false, 
+        "enableNavigationKeys": false, 
+        "speakSpreadsheetCoordinates": false, 
+        "enableEchoByWord": false, 
+        "enableModifierKeys": true, 
+        "enabledBrailledTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; 
strikethrough:false; justification:left; style:normal; text-spelling:none;", 
+        "enableBrailleContext": true, 
+        "brailleFlashTime": 5000, 
+        "presentTimeFormat": "%X", 
+        "speechServerFactory": "speechdispatcherfactory", 
+        "mouseDwellDelay": 0, 
+        "wrappedStructuralNavigation": true, 
+        "enableBraille": false, 
+        "enableKeyEcho": false, 
+        "enablePositionSpeaking": false, 
+        "brailleLinkIndicator": 192, 
+        "flashVerbosityLevel": 1, 
+        "findResultsMinimumLength": 4, 
+        "chatRoomHistories": false, 
+        "largeObjectTextLength": 75, 
+        "keyboardLayout": 1, 
+        "verbalizePunctuationStyle": 1, 
+        "spellcheckSpellError": true, 
+        "chatSpeakRoomName": false, 
+        "chatMessageVerbosity": 0, 
+        "messageVerbosityLevel": 1, 
+        "brailleAlignmentStyle": 0, 
+        "brailleSelectorIndicator": 192, 
+        "skipBlankCells": false, 
+        "speakCellCoordinates": true, 
+        "activeProfile": [
+            "Default", 
+            "default"
+        ], 
+        "enablePrintableKeys": true, 
+        "startingProfile": [
+            "Default", 
+            "default"
+        ], 
+        "orcaModifierKeys": [
+            "Insert", 
+            "KP_Insert"
+        ], 
+        "spellcheckSpellSuggestion": true, 
+        "enablePauseBreaks": true, 
+        "enableBrailleMonitor": true, 
+        "progressBarUpdateInterval": 10, 
+        "speechRequiredStateString": null, 
+        "enableDiacriticalKeys": false, 
+        "enableMouseReview": false, 
+        "enableActionKeys": true, 
+        "findResultsVerbosity": 2, 
+        "textAttributesBrailleIndicator": 0, 
+        "enableEchoByCharacter": false, 
+        "enableFlashMessages": true, 
+        "enableEchoBySentence": false, 
+        "brailleVerbosityLevel": 1, 
+        "voices": {
+            "system": {
+                "established": false
+            }, 
+            "uppercase": {
+                "average-pitch": 7.0
+            }, 
+            "hyperlink": {
+                "established": false
+            }, 
+            "default": {
+                "established": false
+            }
+        }, 
+        "profile": [
+            "Default", 
+            "default"
+        ], 
+        "brailleContractionTable": "", 
+        "speakCellHeaders": true, 
+        "flashIsPersistent": false, 
+        "speakCellSpan": true, 
+        "useColorNames": true, 
+        "enableContractedBraille": false, 
+        "spellcheckPresentContext": true, 
+        "enableProgressBarUpdates": true, 
+        "chatAnnounceBuddyTyping": false, 
+        "readTableCellRow": true, 
+        "brailleRolenameStyle": 1, 
+        "sayAllStyle": 1, 
+        "disableBrailleEOL": false, 
+        "speechVerbosityLevel": 1, 
+        "presentToolTips": false, 
+        "presentDateFormat": "%x", 
+        "structuralNavigationEnabled": true, 
+        "onlySpeakDisplayedText": false
+    }, 
+    "profiles": {
+        "default": {
+            "speechServerFactory": "orca.speechdispatcherfactory", 
+            "speechServerInfo": [
+                "Default Synthesizer", 
+                "default"
+            ], 
+            "brailleContractionTable": "/usr/share/liblouis/tables/en-us-g2.ctb", 
+            "pronunciations": {}, 
+            "profile": [
+                "Default", 
+                "default"
+            ], 
+            "voices": {
+                "system": {
+                    "established": false
+                }, 
+                "uppercase": {
+                    "average-pitch": 7.0
+                }, 
+                "hyperlink": {
+                    "established": false
+                }, 
+                "default": {
+                    "established": false
+                }
+            }, 
+            "keybindings": {}
+        }
+    }
+}
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/coordinate_announcement_on.params 
b/test/keystrokes/oocalc/coordinate_announcement_on.params
new file mode 100644
index 0000000..60048da
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_on.params
@@ -0,0 +1 @@
+PARAMS=$TEST_DIR/../../documents/fruit.ods
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/coordinate_announcement_on.py 
b/test/keystrokes/oocalc/coordinate_announcement_on.py
new file mode 100644
index 0000000..760097e
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_on.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+
+"""Test presentation when coordinate announcement is on"""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(2000))
+sequence.append(KeyComboAction("<Control>Home"))
+
+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(
+    "1. Enable cell reading",
+    ["BRAILLE LINE:  'Speak cell'",
+     "     VISIBLE:  'Speak cell', cursor=0",
+     "SPEECH OUTPUT: 'Speak cell' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Down to A2 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1 Apples B1 Pears C1  D1  E1  F1  G1  H1  I1  J1  K1  L1'",
+     "     VISIBLE:  ' A1 Apples B1 Pears C1  D1  E1  ', cursor=1",
+     "BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Good in Pies A2'",
+     "     VISIBLE:  'Good in Pies A2', cursor=1",
+     "SPEECH OUTPUT: 'Good in Pies A2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "3. Right to B2 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes B2'",
+     "     VISIBLE:  'Yes B2', cursor=1",
+     "SPEECH OUTPUT: 'Yes B2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("<Control>Home"))
+sequence.append(utils.AssertPresentationAction(
+    "4. Control+Home to A1 - don't speak cell coordinates",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1'",
+     "     VISIBLE:  ' A1', cursor=1",
+     "SPEECH OUTPUT: 'blank A1'"]))
+
+sequence.append(KeyComboAction("<Control>w"))
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/coordinate_announcement_on.settings 
b/test/keystrokes/oocalc/coordinate_announcement_on.settings
new file mode 100644
index 0000000..b688819
--- /dev/null
+++ b/test/keystrokes/oocalc/coordinate_announcement_on.settings
@@ -0,0 +1,139 @@
+{
+    "pronunciations": {}, 
+    "keybindings": {}, 
+    "general": {
+        "enableSpeech": true, 
+        "brailleRequiredStateString": null, 
+        "enableTutorialMessages": false, 
+        "enableFunctionKeys": true, 
+        "enabledSpokenTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; 
strikethrough:false; justification:left; style:normal; paragraph-style:; text-spelling:none;", 
+        "enableMnemonicSpeaking": false, 
+        "progressBarVerbosity": 1, 
+        "speakBlankLines": true, 
+        "speechServerInfo": null, 
+        "enableSpeechIndentation": false, 
+        "speakMultiCaseStringsAsWords": false, 
+        "enableNavigationKeys": false, 
+        "speakSpreadsheetCoordinates": true, 
+        "enableEchoByWord": false, 
+        "enableModifierKeys": true, 
+        "enabledBrailledTextAttributes": "size:; family-name:; weight:400; indent:0; underline:none; 
strikethrough:false; justification:left; style:normal; text-spelling:none;", 
+        "enableBrailleContext": true, 
+        "brailleFlashTime": 5000, 
+        "presentTimeFormat": "%X", 
+        "speechServerFactory": "speechdispatcherfactory", 
+        "mouseDwellDelay": 0, 
+        "wrappedStructuralNavigation": true, 
+        "enableBraille": false, 
+        "enableKeyEcho": false, 
+        "enablePositionSpeaking": false, 
+        "brailleLinkIndicator": 192, 
+        "flashVerbosityLevel": 1, 
+        "findResultsMinimumLength": 4, 
+        "chatRoomHistories": false, 
+        "largeObjectTextLength": 75, 
+        "keyboardLayout": 1, 
+        "verbalizePunctuationStyle": 1, 
+        "spellcheckSpellError": true, 
+        "chatSpeakRoomName": false, 
+        "chatMessageVerbosity": 0, 
+        "messageVerbosityLevel": 1, 
+        "brailleAlignmentStyle": 0, 
+        "brailleSelectorIndicator": 192, 
+        "skipBlankCells": false, 
+        "speakCellCoordinates": true, 
+        "activeProfile": [
+            "Default", 
+            "default"
+        ], 
+        "enablePrintableKeys": true, 
+        "startingProfile": [
+            "Default", 
+            "default"
+        ], 
+        "orcaModifierKeys": [
+            "Insert", 
+            "KP_Insert"
+        ], 
+        "spellcheckSpellSuggestion": true, 
+        "enablePauseBreaks": true, 
+        "enableBrailleMonitor": true, 
+        "progressBarUpdateInterval": 10, 
+        "speechRequiredStateString": null, 
+        "enableDiacriticalKeys": false, 
+        "enableMouseReview": false, 
+        "enableActionKeys": true, 
+        "findResultsVerbosity": 2, 
+        "textAttributesBrailleIndicator": 0, 
+        "enableEchoByCharacter": false, 
+        "enableFlashMessages": true, 
+        "enableEchoBySentence": false, 
+        "brailleVerbosityLevel": 1, 
+        "voices": {
+            "system": {
+                "established": false
+            }, 
+            "uppercase": {
+                "average-pitch": 7.0
+            }, 
+            "hyperlink": {
+                "established": false
+            }, 
+            "default": {
+                "established": false
+            }
+        }, 
+        "profile": [
+            "Default", 
+            "default"
+        ], 
+        "brailleContractionTable": "", 
+        "speakCellHeaders": true, 
+        "flashIsPersistent": false, 
+        "speakCellSpan": true, 
+        "useColorNames": true, 
+        "enableContractedBraille": false, 
+        "spellcheckPresentContext": true, 
+        "enableProgressBarUpdates": true, 
+        "chatAnnounceBuddyTyping": false, 
+        "readTableCellRow": true, 
+        "brailleRolenameStyle": 1, 
+        "sayAllStyle": 1, 
+        "disableBrailleEOL": false, 
+        "speechVerbosityLevel": 1, 
+        "presentToolTips": false, 
+        "presentDateFormat": "%x", 
+        "structuralNavigationEnabled": true, 
+        "onlySpeakDisplayedText": false
+    }, 
+    "profiles": {
+        "default": {
+            "speechServerFactory": "orca.speechdispatcherfactory", 
+            "speechServerInfo": [
+                "Default Synthesizer", 
+                "default"
+            ], 
+            "brailleContractionTable": "/usr/share/liblouis/tables/en-us-g2.ctb", 
+            "pronunciations": {}, 
+            "profile": [
+                "Default", 
+                "default"
+            ], 
+            "voices": {
+                "system": {
+                    "established": false
+                }, 
+                "uppercase": {
+                    "average-pitch": 7.0
+                }, 
+                "hyperlink": {
+                    "established": false
+                }, 
+                "default": {
+                    "established": false
+                }
+            }, 
+            "keybindings": {}
+        }
+    }
+}
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/document_enter_text.py b/test/keystrokes/oocalc/document_enter_text.py
new file mode 100644
index 0000000..6da4ea8
--- /dev/null
+++ b/test/keystrokes/oocalc/document_enter_text.py
@@ -0,0 +1,41 @@
+#!/usr/bin/python
+
+"""Test of presentation when typing in a cell."""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(2000))
+
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("F11"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(TypeAction("hi"))
+sequence.append(utils.AssertPresentationAction(
+    "1. Type 'hi' - keyecho is off",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Cell A1 h $l'",
+     "     VISIBLE:  'h $l', cursor=2",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Cell A1 hi $l'",
+     "     VISIBLE:  'hi $l', cursor=3",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Cell A1 hi $l'",
+     "     VISIBLE:  'hi $l', cursor=3"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Return"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Press Return",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table hi A1'",
+     "     VISIBLE:  'hi A1', cursor=1",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A2'",
+     "     VISIBLE:  ' A2', cursor=1",
+     "SPEECH OUTPUT: 'hi A1'",
+     "SPEECH OUTPUT: 'blank A2'"]))
+
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/document_nav_dynamic_headers.params 
b/test/keystrokes/oocalc/document_nav_dynamic_headers.params
new file mode 100644
index 0000000..f62f1f5
--- /dev/null
+++ b/test/keystrokes/oocalc/document_nav_dynamic_headers.params
@@ -0,0 +1 @@
+PARAMS=$TEST_DIR/../../documents/fruit.ods
diff --git a/test/keystrokes/oocalc/document_nav_dynamic_headers.py 
b/test/keystrokes/oocalc/document_nav_dynamic_headers.py
new file mode 100644
index 0000000..925580d
--- /dev/null
+++ b/test/keystrokes/oocalc/document_nav_dynamic_headers.py
@@ -0,0 +1,137 @@
+#!/usr/bin/python
+
+"""Test dynamic header support."""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(3000))
+sequence.append(KeyComboAction("<Control>Home"))
+
+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(
+    "1. Enable cell reading",
+    ["BRAILLE LINE:  'Speak cell'",
+     "     VISIBLE:  'Speak cell', cursor=0",
+     "SPEECH OUTPUT: 'Speak cell' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Down Arrow to cell A2",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1 Apples B1 Pears C1  D1  E1  F1  G1  H1  I1  J1  K1  L1'",
+     "     VISIBLE:  ' A1 Apples B1 Pears C1  D1  E1  ', cursor=1",
+     "BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Good in Pies A2'",
+     "     VISIBLE:  'Good in Pies A2', cursor=1",
+     "SPEECH OUTPUT: 'Good in Pies A2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "3. Right Arrow to cell B2",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes B2'",
+     "     VISIBLE:  'Yes B2', cursor=1",
+     "SPEECH OUTPUT: 'Yes B2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "4. Down Arrow to cell B3",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes B3'",
+     "     VISIBLE:  'Yes B3', cursor=1",
+     "SPEECH OUTPUT: 'Yes B3'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "5. Right Arrow to cell C3",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes C3'",
+     "     VISIBLE:  'Yes C3', cursor=1",
+     "SPEECH OUTPUT: 'Yes C3'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("KP_Enter"))
+sequence.append(utils.AssertPresentationAction(
+    "6. Basic where am I with no dynamic headers set",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Yes C3'",
+     "     VISIBLE:  'Yes C3', cursor=1",
+     "SPEECH OUTPUT: 'table cell column 3 row 3 Yes'"]))
+
+sequence.append(KeyComboAction("<Control>Home"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("r"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "7. Set dynamic column headers",
+    ["BRAILLE LINE:  'Dynamic column header set for row 1'",
+     "     VISIBLE:  'Dynamic column header set for ro', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic column header set for row 1'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("c"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "8. Set dynamic row headers",
+    ["KNOWN ISSUE: Why do we update braille here, but not for column headers",
+     "BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1'",
+     "     VISIBLE:  ' A1', cursor=1",
+     "BRAILLE LINE:  'Dynamic row header set for column A'",
+     "     VISIBLE:  'Dynamic row header set for colum', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic row header set for column A' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "9. Down Arrow to cell A2",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1'",
+     "     VISIBLE:  ' A1', cursor=1",
+     "BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Good in Pies A2'",
+     "     VISIBLE:  'Good in Pies A2', cursor=1",
+     "SPEECH OUTPUT: 'Good in Pies A2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "10. Right Arrow to cell B2",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Good in Pies Apples Yes B2'",
+     "     VISIBLE:  'Yes B2', cursor=1",
+     "SPEECH OUTPUT: 'Apples Yes B2'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "11. Down Arrow to cell B3",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Juiceable Apples Yes B3'",
+     "     VISIBLE:  'Yes B3', cursor=1",
+     "SPEECH OUTPUT: 'Juiceable Yes B3'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "12. Right Arrow to cell C3",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Juiceable Pears Yes C3'",
+     "     VISIBLE:  'Yes C3', cursor=1",
+     "SPEECH OUTPUT: 'Pears Yes C3'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("KP_Enter"))
+sequence.append(utils.AssertPresentationAction(
+    "13. Basic where am I with dynamic headers set",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame fruit.ods - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table Juiceable Pears Yes C3'",
+     "     VISIBLE:  'Yes C3', cursor=1",
+     "SPEECH OUTPUT: 'table cell column 3'",
+     "SPEECH OUTPUT: 'Pears'",
+     "SPEECH OUTPUT: 'row 3'",
+     "SPEECH OUTPUT: 'Juiceable Yes'"]))
+
+sequence.append(KeyComboAction("<Control>w"))
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/document_text_attributes.params 
b/test/keystrokes/oocalc/document_text_attributes.params
new file mode 100644
index 0000000..60048da
--- /dev/null
+++ b/test/keystrokes/oocalc/document_text_attributes.params
@@ -0,0 +1 @@
+PARAMS=$TEST_DIR/../../documents/fruit.ods
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/document_text_attributes.py 
b/test/keystrokes/oocalc/document_text_attributes.py
new file mode 100644
index 0000000..b56a455
--- /dev/null
+++ b/test/keystrokes/oocalc/document_text_attributes.py
@@ -0,0 +1,38 @@
+#!/usr/bin/python
+
+"""Test presentation of character attributes."""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(3000))
+sequence.append(KeyComboAction("<Control>Home"))
+sequence.append(KeyComboAction("Down"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("f"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "1. Attributes of cell A2",
+    ["SPEECH OUTPUT: 'size 16' voice=system",
+     "SPEECH OUTPUT: 'family name Arial' voice=system",
+     "SPEECH OUTPUT: 'bold' voice=system",
+     "SPEECH OUTPUT: 'style italic' voice=system"]))
+
+sequence.append(KeyComboAction("Right"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("f"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Attributes of cell B2",
+    ["SPEECH OUTPUT: 'size 10' voice=system",
+     "SPEECH OUTPUT: 'family name Arial' voice=system"]))
+
+sequence.append(KeyComboAction("<Control>w"))
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/manage_names_combobox.py b/test/keystrokes/oocalc/manage_names_combobox.py
new file mode 100644
index 0000000..faf7a5d
--- /dev/null
+++ b/test/keystrokes/oocalc/manage_names_combobox.py
@@ -0,0 +1,55 @@
+#!/usr/bin/python
+
+"""Test presentation of the Manage Names combobox"""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("<Shift><Control>t"))
+sequence.append(utils.AssertPresentationAction(
+    "1. Shift+Ctrl+T",
+    ["KNOWN ISSUE: This is too chatty",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar A1 $l'",
+     "     VISIBLE:  'A1 $l', cursor=1",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar A1 $l combo box'",
+     "     VISIBLE:  'A1 $l combo box', cursor=1",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar  combo boxA1 $l Manage Names... list item'",
+     "     VISIBLE:  'Manage Names... list item', cursor=1",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar A1 $l'",
+     "     VISIBLE:  'A1 $l', cursor=1",
+     "SPEECH OUTPUT: 'A1 combo box'",
+     "SPEECH OUTPUT: 'text A1'",
+     "SPEECH OUTPUT: 'A1 combo box'",
+     "SPEECH OUTPUT: 'Manage Names...'",
+     "SPEECH OUTPUT: 'text A1'"]))
+
+sequence.append(KeyComboAction("<Control>a"))
+sequence.append(KeyComboAction("BackSpace"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(TypeAction("C3"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Type 'C3' - keyecho is disabled",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar C $l'",
+     "     VISIBLE:  'C $l', cursor=2",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar C $l'",
+     "     VISIBLE:  'C $l', cursor=2",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar C3 $l'",
+     "     VISIBLE:  'C3 $l', cursor=3",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Formula Tool Bar tool bar C3 $l'",
+     "     VISIBLE:  'C3 $l', cursor=3"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Return"))
+sequence.append(utils.AssertPresentationAction(
+    "3. Press Return to jump to C3",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A3  B3  C3  D3  E3  F3  G3  H3  I3  J3  K3  L3  M3'",
+     "     VISIBLE:  ' C3  D3  E3  F3  G3  H3  I3  J3 ', cursor=1",
+     "SPEECH OUTPUT: 'Sheet Sheet1 table with 1048576 rows 1024 columns'",
+     "SPEECH OUTPUT: 'blank C3'"]))
+
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/messages_dynamic_headers.py 
b/test/keystrokes/oocalc/messages_dynamic_headers.py
new file mode 100644
index 0000000..6162699
--- /dev/null
+++ b/test/keystrokes/oocalc/messages_dynamic_headers.py
@@ -0,0 +1,71 @@
+#!/usr/bin/python
+
+"""Test of messages associated with dynamic headers."""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(KeyComboAction("<Control>Home"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("r"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "1. Set column headers",
+    ["BRAILLE LINE:  'Dynamic column header set for row 1'",
+     "     VISIBLE:  'Dynamic column header set for ro', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic column header set for row 1'"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("r"))
+sequence.append(KeyComboAction("r"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Clear column headers",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'Dynamic column header set for row 1'",
+     "     VISIBLE:  'Dynamic column header set for ro', cursor=0",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'Dynamic column header cleared.'",
+     "     VISIBLE:  'Dynamic column header cleared.', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic column header set for row 1' voice=system",
+     "SPEECH OUTPUT: 'Dynamic column header cleared.' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("c"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "3. Set row headers",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'Dynamic row header set for column A'",
+     "     VISIBLE:  'Dynamic row header set for colum', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic row header set for column A' voice=system"]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyPressAction(0, None, "KP_Insert"))
+sequence.append(KeyComboAction("c"))
+sequence.append(KeyComboAction("c"))
+sequence.append(KeyReleaseAction(0, None, "KP_Insert"))
+sequence.append(utils.AssertPresentationAction(
+    "4. Clear row headers",
+    ["BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'Dynamic row header set for column A'",
+     "     VISIBLE:  'Dynamic row header set for colum', cursor=0",
+     "BRAILLE LINE:  'soffice application Untitled 1 - LibreOffice Calc frame Untitled 1 - LibreOffice Calc 
root pane Document view3 Sheet Sheet1 table  A1  B1  C1  D1  E1  F1  G1  H1  I1  J1  K1  L1  M1'",
+     "     VISIBLE:  ' A1  B1  C1  D1  E1  F1  G1  H1 ', cursor=1",
+     "BRAILLE LINE:  'Dynamic row header cleared.'",
+     "     VISIBLE:  'Dynamic row header cleared.', cursor=0",
+     "SPEECH OUTPUT: 'Dynamic row header set for column A' voice=system",
+     "SPEECH OUTPUT: 'Dynamic row header cleared.' voice=system"]))
+
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/oocalc/ui_role_check_menu_item.params 
b/test/keystrokes/oocalc/ui_role_check_menu_item.params
new file mode 100644
index 0000000..60048da
--- /dev/null
+++ b/test/keystrokes/oocalc/ui_role_check_menu_item.params
@@ -0,0 +1 @@
+PARAMS=$TEST_DIR/../../documents/fruit.ods
\ No newline at end of file
diff --git a/test/keystrokes/oocalc/ui_role_check_menu_item.py 
b/test/keystrokes/oocalc/ui_role_check_menu_item.py
new file mode 100644
index 0000000..41e5444
--- /dev/null
+++ b/test/keystrokes/oocalc/ui_role_check_menu_item.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+
+"""Test presentation of checked menu item state."""
+
+from macaroon.playback import *
+import utils
+
+sequence = MacroSequence()
+
+sequence.append(PauseAction(3000))
+sequence.append(KeyComboAction("<Alt>w"))
+sequence.append(KeyComboAction("Down"))
+sequence.append(KeyComboAction("Down"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "1. Arrow to the Freeze menu item (unchecked)",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame (1 dialog) fruit.ods - 
LibreOffice Calc root pane Freeze'",
+     "     VISIBLE:  'Freeze', cursor=1",
+     "SPEECH OUTPUT: 'Freeze'"]))
+
+sequence.append(KeyComboAction("Return"))
+sequence.append(KeyComboAction("<Alt>w"))
+sequence.append(KeyComboAction("Down"))
+sequence.append(KeyComboAction("Down"))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Down"))
+sequence.append(utils.AssertPresentationAction(
+    "2. Arrow to the Freeze menu item (checked)",
+    ["BRAILLE LINE:  'soffice application fruit.ods - LibreOffice Calc frame (1 dialog) fruit.ods - 
LibreOffice Calc root pane <x> Freeze'",
+     "     VISIBLE:  '<x> Freeze', cursor=1",
+     "SPEECH OUTPUT: 'Freeze checked'"]))
+
+sequence.append(KeyComboAction("Return"))
+sequence.append(KeyComboAction("<Control>w"))
+sequence.append(utils.AssertionSummaryAction())
+sequence.start()
diff --git a/test/keystrokes/progressbar/progress_updates.py b/test/keystrokes/progressbar/progress_updates.py
index 8e9d304..29d52d0 100644
--- a/test/keystrokes/progressbar/progress_updates.py
+++ b/test/keystrokes/progressbar/progress_updates.py
@@ -1,163 +1,29 @@
 #!/usr/bin/python
 
-"""Test of progressbar output using custom program.
-"""
+"""Test of progressbar output using custom program."""
 
 from macaroon.playback import *
 import utils
 
 sequence = MacroSequence()
 
-########################################################################
-# We wait for the demo to come up and flat review to the progress bar
-#
-sequence.append(WaitForWindowActivate("ProgressBar"))
-sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_PUSH_BUTTON))
-sequence.append(KeyComboAction("KP_7"))
-sequence.append(KeyComboAction("KP_7"))
-
-########################################################################
-# Now, invoke the demo.
-#
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Return"))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_PROGRESS_BAR,
-                           5000))
+sequence.append(PauseAction(5000))
 sequence.append(utils.AssertPresentationAction(
-    "Progress bar updates",
-    ["BRAILLE LINE:  'Progress 10% $l'",
-     "     VISIBLE:  'Progress 10% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 20% $l'",
-     "     VISIBLE:  'Progress 20% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 30% $l'",
-     "     VISIBLE:  'Progress 30% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 40% $l'",
-     "     VISIBLE:  'Progress 40% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 50% $l'",
-     "     VISIBLE:  'Progress 50% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 60% $l'",
-     "     VISIBLE:  'Progress 60% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 70% $l'",
-     "     VISIBLE:  'Progress 70% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 80% $l'",
-     "     VISIBLE:  'Progress 80% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 90% $l'",
-     "     VISIBLE:  'Progress 90% $l', cursor=1",
-     "BRAILLE LINE:  'Progress 100% $l'",
-     "     VISIBLE:  'Progress 100% $l', cursor=1",
-     "SPEECH OUTPUT: '10 percent'",
-     "SPEECH OUTPUT: '20 percent'",
-     "SPEECH OUTPUT: '30 percent'",
-     "SPEECH OUTPUT: '40 percent'",
-     "SPEECH OUTPUT: '50 percent'",
-     "SPEECH OUTPUT: '60 percent'",
-     "SPEECH OUTPUT: '70 percent'",
-     "SPEECH OUTPUT: '80 percent'",
-     "SPEECH OUTPUT: '90 percent'",
-     "SPEECH OUTPUT: '100 percent'"]))
-
-# Just a little extra wait to let some events get through.
-#
-sequence.append(PauseAction(3000))
+    "1. Progress bar updates",
+    ["SPEECH OUTPUT: '10 percent.'",
+     "SPEECH OUTPUT: '20 percent.'",
+     "SPEECH OUTPUT: '30 percent.'",
+     "SPEECH OUTPUT: '40 percent.'",
+     "SPEECH OUTPUT: '50 percent.'",
+     "SPEECH OUTPUT: '60 percent.'",
+     "SPEECH OUTPUT: '70 percent.'",
+     "SPEECH OUTPUT: '80 percent.'",
+     "SPEECH OUTPUT: '90 percent.'",
+     "SPEECH OUTPUT: '100 percent.'"]))
+
+sequence.append(KeyComboAction("<Alt>F4"))
 
 sequence.append(utils.AssertionSummaryAction())
-
 sequence.start()
diff --git a/test/keystrokes/slider/slider.py b/test/keystrokes/slider/slider.py
index bcdb63a..f1e1b20 100644
--- a/test/keystrokes/slider/slider.py
+++ b/test/keystrokes/slider/slider.py
@@ -1,78 +1,59 @@
 #!/usr/bin/python
 
-"""Test of slider output using custom program.
-"""
+"""Test of slider output using custom program."""
 
 from macaroon.playback import *
 import utils
 
 sequence = MacroSequence()
 
-########################################################################
-# We wait for the demo to come up and flat review to the progress bar
-#
-sequence.append(WaitForFocus(acc_role=pyatspi.ROLE_SLIDER))
-
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
-sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
-    "Slider Where Am I",
-    ["BRAILLE LINE:  'slider Application Slider Frame Some slider: 0.0 Slider'",
-     "     VISIBLE:  'Some slider: 0.0 Slider', cursor=1",
-     "SPEECH OUTPUT: 'Some slider: slider 0.0 0 percent.'",
-     "SPEECH OUTPUT: 'Alt s'"]))
+    "1. slider Where Am I",
+    ["BRAILLE LINE:  'slider application Slider frame Some slider: 0 slider'",
+     "     VISIBLE:  'Some slider: 0 slider', cursor=1",
+     "SPEECH OUTPUT: 'Some slider:'",
+     "SPEECH OUTPUT: 'slider 0 0 percent.'",
+     "SPEECH OUTPUT: 'Alt+S'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Right"))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_SLIDER,
-                           5000))
 sequence.append(utils.AssertPresentationAction(
-    "Increment value",
-    ["BRAILLE LINE:  'slider Application Slider Frame Some slider: 1.0 Slider'",
-     "     VISIBLE:  'Some slider: 1.0 Slider', cursor=1",
-     "SPEECH OUTPUT: '1.0'"]))
+    "2. Increment value",
+    ["BRAILLE LINE:  'slider application Slider frame Some slider: 1 slider'",
+     "     VISIBLE:  'Some slider: 1 slider', cursor=1",
+     "SPEECH OUTPUT: '1'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
-sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
-    "Slider Where Am I",
-    ["BRAILLE LINE:  'slider Application Slider Frame Some slider: 1.0 Slider'",
-     "     VISIBLE:  'Some slider: 1.0 Slider', cursor=1",
-     "SPEECH OUTPUT: 'Some slider: slider 1.0 10 percent.'",
-     "SPEECH OUTPUT: 'Alt s'"]))
+    "3. slider Where Am I",
+    ["BRAILLE LINE:  'slider application Slider frame Some slider: 1 slider'",
+     "     VISIBLE:  'Some slider: 1 slider', cursor=1",
+     "SPEECH OUTPUT: 'Some slider:'",
+     "SPEECH OUTPUT: 'slider 1 12 percent.'",
+     "SPEECH OUTPUT: 'Alt+S'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("Left"))
-sequence.append(WaitAction("object:property-change:accessible-value",
-                           None,
-                           None,
-                           pyatspi.ROLE_SLIDER,
-                           5000))
 sequence.append(utils.AssertPresentationAction(
-    "Decrement value",
-    ["BRAILLE LINE:  'slider Application Slider Frame Some slider: 0.0 Slider'",
-     "     VISIBLE:  'Some slider: 0.0 Slider', cursor=1",
-     "SPEECH OUTPUT: '0.0'"]))
+    "4. Decrement value",
+    ["BRAILLE LINE:  'slider application Slider frame Some slider: 0 slider'",
+     "     VISIBLE:  'Some slider: 0 slider', cursor=1",
+     "SPEECH OUTPUT: '0'"]))
 
 sequence.append(utils.StartRecordingAction())
 sequence.append(KeyComboAction("KP_Enter"))
-sequence.append(PauseAction(3000))
 sequence.append(utils.AssertPresentationAction(
-    "Slider Where Am I",
-    ["BRAILLE LINE:  'slider Application Slider Frame Some slider: 0.0 Slider'",
-     "     VISIBLE:  'Some slider: 0.0 Slider', cursor=1",
-     "SPEECH OUTPUT: 'Some slider: slider 0.0 0 percent.'",
-     "SPEECH OUTPUT: 'Alt s'"]))
+    "5. slider Where Am I",
+    ["BRAILLE LINE:  'slider application Slider frame Some slider: 0 slider'",
+     "     VISIBLE:  'Some slider: 0 slider', cursor=1",
+     "SPEECH OUTPUT: 'Some slider:'",
+     "SPEECH OUTPUT: 'slider 0 0 percent.'",
+     "SPEECH OUTPUT: 'Alt+S'"]))
 
-# Just a little extra wait to let some events get through.
-#
-sequence.append(PauseAction(3000))
+sequence.append(KeyComboAction("<Alt>F4"))
 
 sequence.append(utils.AssertionSummaryAction())
-
 sequence.start()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]