[pitivi] dogtail: Use keyboard combos to workaround unsniffable popup menu
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] dogtail: Use keyboard combos to workaround unsniffable popup menu
- Date: Wed, 2 Apr 2014 15:29:17 +0000 (UTC)
commit 20f6a78c4ec9f23c1091ffb7a3e8d04355ef1497
Author: Alexandru Băluț <alexandru balut gmail com>
Date: Tue Mar 25 01:22:54 2014 +0100
dogtail: Use keyboard combos to workaround unsniffable popup menu
tests/dogtail_scripts/helper_functions.py | 10 +++-------
tests/dogtail_scripts/test_base.py | 5 ++---
tests/dogtail_scripts/test_project.py | 24 ++++++++----------------
3 files changed, 13 insertions(+), 26 deletions(-)
---
diff --git a/tests/dogtail_scripts/helper_functions.py b/tests/dogtail_scripts/helper_functions.py
index 14b9425..a2e763b 100644
--- a/tests/dogtail_scripts/helper_functions.py
+++ b/tests/dogtail_scripts/helper_functions.py
@@ -15,11 +15,9 @@ from pyatspi import KEY_PRESS, KEY_RELEASE
class HelpFunc(BaseDogTail):
def saveProject(self, path=None, saveAs=True):
- proj_menu = self.menubar.menu("Project")
- proj_menu.click()
if saveAs:
self.assertIsNotNone(path)
- proj_menu.menuItem("Save As...").click()
+ dogtail.rawinput.keyCombo("<Control><Shift>s") # Save project as
save_dialog = self.pitivi.child(name="Save As...", roleName='file chooser', recursive=False)
text_field = save_dialog.child(roleName="text")
text_field.text = path
@@ -29,13 +27,11 @@ class HelpFunc(BaseDogTail):
self.unlink.append(path)
else:
# Just save
- proj_menu.menuItem("Save").click()
+ dogtail.rawinput.keyCombo("<Control>s") # Save project
def loadProject(self, url, unsaved_changes=None):
dogtail.rawinput.pressKey("Esc") # Ensure the welcome dialog is closed
- proj_menu = self.menubar.menu("Project")
- proj_menu.click()
- proj_menu.menuItem("Open...").click()
+ dogtail.rawinput.keyCombo("<Control>o") # Open project
# If an "unsaved changes" prompt is expected to show up, deal with it:
if unsaved_changes is not None:
result = self._check_unsaved_changes_dialog(decision=unsaved_changes)
diff --git a/tests/dogtail_scripts/test_base.py b/tests/dogtail_scripts/test_base.py
index ee52a1e..22062c8 100644
--- a/tests/dogtail_scripts/test_base.py
+++ b/tests/dogtail_scripts/test_base.py
@@ -78,9 +78,8 @@ class BaseDogTail(unittest.TestCase):
if kill:
os.system("kill -9 %i" % self.pid)
else:
- proj_menu = self.menubar.menu("Project")
- proj_menu.click()
- proj_menu.child("Quit").click()
+ import dogtail.rawinput
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
if clean:
for filename in self.unlink:
try:
diff --git a/tests/dogtail_scripts/test_project.py b/tests/dogtail_scripts/test_project.py
index 7b5a3a8..76b092e 100644
--- a/tests/dogtail_scripts/test_project.py
+++ b/tests/dogtail_scripts/test_project.py
@@ -17,8 +17,7 @@ class ProjectPropertiesTest(HelpFunc):
a project to load but cancel the file chooser, then try to import clips
"""
dogtail.rawinput.pressKey("Esc") # Dismiss the welcome dialog
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Open...").click()
+ dogtail.rawinput.keyCombo("<Control>o") # Open project
# The file chooser shows up, dismiss it without choosing any project:
chooser = self.pitivi.child(name="Open File...", roleName="file chooser", recursive=False)
chooser.child(name="Cancel", roleName="push button").click()
@@ -33,8 +32,7 @@ class ProjectPropertiesTest(HelpFunc):
self.assertEqual(len(iconview.children), 1)
self.insert_clip(the_clip)
# Try to quit, it should warn us about unsaved changes.
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Quit").click()
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
unsaved_changes = self.pitivi.child(name="unsaved changes dialog", roleName="dialog",
recursive=False)
unsaved_changes.button("Close without saving").click()
@@ -192,12 +190,10 @@ class ProjectPropertiesTest(HelpFunc):
"Backup is older than saved file")
# Try to quit, it should warn us about unsaved changes.
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Quit").click()
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
self.pitivi.child(name="unsaved changes dialog", roleName="dialog",
recursive=False).button("Cancel").click()
# Check again to ensure the backup didn't disappear - and then save
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Quit").click()
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
self.pitivi.child(name="unsaved changes dialog", roleName="dialog",
recursive=False).button("Save").click()
# The backup should now be deleted, and should not come back:
sleep(1)
@@ -229,8 +225,7 @@ class ProjectPropertiesTest(HelpFunc):
self.goToEnd_button.click()
self.assertEqual(seektime.text, DURATION_OF_TWO_CLIPS)
# ...and that clicking "Save" actually triggers "Save As":
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Save").click()
+ dogtail.rawinput.keyCombo("<Control>s") # Save project
try:
_save_as_dialog = self.pitivi.child(name="Save As...", roleName="file chooser", recursive=False,
retry=False)
dogtail.rawinput.pressKey("Esc") # Dismiss the dialog
@@ -253,15 +248,13 @@ class ProjectPropertiesTest(HelpFunc):
self.assertTrue(self.wait_for_update(backup_path, timestamp))
# Quitting should warn us about unsaved changes (still in a newer version)
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Quit").click()
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
# Dismiss the unsaved changes warning by cancelling it:
self.pitivi.child(name="unsaved changes dialog", roleName="dialog",
recursive=False).button("Cancel").click()
# Save stuff behind the scenes...
self.saveProject(saveAs=False)
# The backup file should now be gone, and no warning displayed:
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("Quit").click()
+ dogtail.rawinput.keyCombo("<Control>q") # Quit the app
self.assertFalse(os.path.exists(backup_path))
def test_load_save(self):
@@ -286,8 +279,7 @@ class ProjectPropertiesTest(HelpFunc):
# Creating a blank project should clear the library and show its infobar
sleep(0.5)
- self.menubar.menu("Project").click()
- self.menubar.menu("Project").menuItem("New").click()
+ dogtail.rawinput.keyCombo("<Control>n") # Create a new project
self.pitivi.child(name="Project Settings", roleName="dialog", recursive=False).button("OK").click()
self.assertEqual(len(iconview.children), 0,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]