From: Nickolay V. Shmyrev Date: Mon, 23 Oct 2006 22:12:25 +0000 (+0000) Subject: Add automated UI tests for evince with dogtail. See bug #300948. X-Git-Tag: EVINCE_0_7_0~93 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=9f3b6e0650f3c99994a529625695e594a8c8043c;p=evince.git Add automated UI tests for evince with dogtail. See bug #300948. 2006-10-24 Nickolay V. Shmyrev * configure.ac: * data/evince-password.glade: * test/Makefile.am: * test/test-encrypt.pdf: * test/test-links.pdf: * test/test1.py: * test/test2.py: Add automated UI tests for evince with dogtail. See bug #300948. --- diff --git a/ChangeLog b/ChangeLog index 09622b6c..9044eea9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2006-10-24 Nickolay V. Shmyrev + + * configure.ac: + * data/evince-password.glade: + * test/Makefile.am: + * test/test-encrypt.pdf: + * test/test-links.pdf: + * test/test1.py: + * test/test2.py: + + Add automated UI tests for evince with dogtail. See + bug #300948. + 2006-10-22 Carlos Garcia Campos * shell/ev-window.c: (fullscreen_timeout_cb), (ev_window_init): diff --git a/configure.ac b/configure.ac index a33b02b2..9ab4bbfd 100644 --- a/configure.ac +++ b/configure.ac @@ -367,35 +367,35 @@ fi AC_SUBST(EVINCE_MIME_TYPES) AC_CONFIG_FILES([ -Makefile +backend/Makefile +comics/Makefile cut-n-paste/Makefile cut-n-paste/recent-files/Makefile -cut-n-paste/zoom-control/Makefile cut-n-paste/toolbar-editor/Makefile -data/Makefile +cut-n-paste/zoom-control/Makefile data/evince.desktop.in -data/icons/Makefile data/icons/16x16/Makefile data/icons/22x22/Makefile data/icons/48x48/Makefile +data/icons/Makefile data/icons/scalable/Makefile - -lib/Makefile -pdf/Makefile -pixbuf/Makefile -tiff/Makefile -ps/Makefile +data/Makefile djvu/Makefile dvi/Makefile dvi/mdvi-lib/Makefile +help/Makefile impress/Makefile -comics/Makefile +lib/Makefile +Makefile +pdf/Makefile +pixbuf/Makefile po/Makefile.in -backend/Makefile properties/Makefile +ps/Makefile shell/Makefile +test/Makefile thumbnailer/Makefile -help/Makefile +tiff/Makefile ]) AC_OUTPUT diff --git a/data/evince-password.glade b/data/evince-password.glade index 3d09a3c6..7eab0715 100644 --- a/data/evince-password.glade +++ b/data/evince-password.glade @@ -154,6 +154,9 @@ True True + + Password Entry + 0 diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 00000000..dc0b1a3a --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,4 @@ + +TESTS = test1.py test2.py + +EXTRA_DIST = test-encrypted.pdf test-links.pdf \ No newline at end of file diff --git a/test/test-encrypt.pdf b/test/test-encrypt.pdf new file mode 100644 index 00000000..8f8f5c1f Binary files /dev/null and b/test/test-encrypt.pdf differ diff --git a/test/test-links.pdf b/test/test-links.pdf new file mode 100644 index 00000000..0b1e6203 Binary files /dev/null and b/test/test-links.pdf differ diff --git a/test/test1.py b/test/test1.py new file mode 100755 index 00000000..8c05ebd7 --- /dev/null +++ b/test/test1.py @@ -0,0 +1,27 @@ +#!/usr/bin/python + +from dogtail.procedural import * +from dogtail.utils import screenshot + +import os + +os.environ['LANG']='en_US.UTF-8' +os.system ('rm -rf ~/.gnome2/evince') + +run('evince') + +focus.application('evince') + +click('File', roleName='menu') +click('Open...', roleName='menu item') +focus.dialog('Open Document') +click('Cancel', roleName='push button') +click('File', roleName='menu') +click('Toolbar', roleName='menu item') +focus.dialog('Toolbar Editor') +click('Close', roleName='push button') +click('About', roleName='menu item') +focus.dialog('About Evince') +click('Close', roleName='push button') +click('Close', roleName='menu item') + diff --git a/test/test2.py b/test/test2.py new file mode 100755 index 00000000..7e52c57e --- /dev/null +++ b/test/test2.py @@ -0,0 +1,22 @@ +#!/usr/bin/python + +from dogtail.procedural import * +from dogtail.utils import screenshot + +import os + +os.environ['LANG']='en_US.UTF-8' +os.system ('rm -rf ~/.gnome2/evince') + +run('evince',arguments=' ./test-encrypt.pdf',) +focus.dialog('Enter password') +focus.widget('Password Entry', roleName='password text') +type("wrong password") +click('OK', roleName='push button') +click('Cancel', roleName='push button') +click('Unlock Document', roleName='push button') +focus.widget('Password Entry', roleName='password text') +type("Foo") +click('OK', roleName='push button') +click('Close', roleName='menu item') +