diff options
Diffstat (limited to 'karm/test/__korg.sh')
-rwxr-xr-x | karm/test/__korg.sh | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/karm/test/__korg.sh b/karm/test/__korg.sh new file mode 100755 index 000000000..e7fa9629f --- /dev/null +++ b/karm/test/__korg.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +# Example of how to use xautomation. +# +# Notes: +# +# - This test fails for korg, as it opens a modal dialog box, even +# after changes are saved (ref bug #94537). +# +# - The xte str command is broken (it types to fast). To be safe, +# put in characters one-by-one using the key command. Writing a +# bash function that does this for a given string would be helpful. +# +# - This script uses hardcoded English short cut keys. To make generic: +# +# 1. Get two char language code from OS (or KDE?) +# +# 2. Source bash script for language (e.g. source __shortcuts.en) +# +# 3. Call functions from that script (e.g. open_file $FILENAME) +# +# - Using killall isn't great. karm has a quit() dcop function for clean +# shutdown. Need to check if korgac or korganizer provide this interface. + + +# kill any running processes +killall korganizer +killall korgac + +# start korganizer +korganizer& + +# make sure it's done opening +sleep 10 + +# open file in korganizer. +# Note: this opens a second korg instance +xte 'keydown Alt_L' +xte 'key F' +xte 'keyup Alt_L' +xte 'key O' + +# wait for open file dialog to come up +sleep 1 + +# put focus on file name control +xte 'keydown Alt_L' +xte 'key L' +xte 'keyup Alt_L' +xte 'key ~' +xte 'key /' +xte 'key t' +xte 'key e' +xte 'key s' +xte 'key t' +xte 'key .' +xte 'key i' +xte 'key c' +xte 'key s' + +# save new storage file +xte 'keydown Alt_L' +xte 'key O' +xte 'keyup Alt_L' + +sleep 1 + +# open new to-do dialog +xte 'keydown Alt_L' +xte 'key A' +xte 'keup Alt_L' +xte 'key v' + +sleep 1 + +# set focus to title +xte 'keydown Alt_L' +xte 'key I' +xte 'keyup Alt_L' + +# type in test task name (you have to type slowly for xte) +xte 'key T' +xte 'key e' +xte 'key s' +xte 'key t' +xte 'key -' +xte 'key t' +xte 'key a' +xte 'key s' +xte 'key k' +xte 'key -' +xte 'key 1' + +sleep 1 + +# save new todo +xte 'keydown Alt_L' +xte 'key O' +xte 'keyup Alt_L' + +sleep 1 + +# save changes to file +xte 'keydown Alt_L' +xte 'key F' +xte 'keyup Alt_L' +xte 'key S' + +sleep 1 + +# Quit below fails. +# +# korg pops up a dialog that says: +# +# The calendar contains unsaved changes. +# Do you want to save them before exiting? + +# quit korganizer +xte 'keydown Control_L' +xte 'key q' +xte 'keyup Control_L' + +# quit first korganizer view +xte 'keydown Control_L' +xte 'key q' +xte 'keyup Control_L' + +sleep 1 + +killall korgac + +# 1. cleanup +rm "~/test.ics" + |