summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagappan <nagappan>2005-07-18 11:28:40 +0000
committernagappan <nagappan>2005-07-18 11:28:40 +0000
commit90c0d7bcd69d83105eca47e4527f6b873cbe6cd3 (patch)
treed3f9ced4058ed9b12afb870df662b20a38528c9e
parent1e4635e313a2af7997105300f5ed0f7209125934 (diff)
Evolution 2.3.4 mailer test scripts for
Compose new mail (plain) Compose new mail with attachment View received mail Reply to received mail Forward mail Autocompletion Copy / Move / Delete mail
-rw-r--r--evolution/README11
-rw-r--r--evolution/attachment_refimg.pngbin0 -> 51610 bytes
-rw-r--r--evolution/autocompletion.dat2
-rw-r--r--evolution/autocompletion.py91
-rw-r--r--evolution/change_draft.dat8
-rw-r--r--evolution/change_draft.py125
-rw-r--r--evolution/compose-mail-w-attachment.dat5
-rw-r--r--evolution/compose-mail-w-attachment.py86
-rw-r--r--evolution/compose-mail.dat4
-rw-r--r--evolution/compose-mail.py70
-rw-r--r--evolution/composemail_refimg.pngbin0 -> 44707 bytes
-rw-r--r--evolution/copy_mails.dat5
-rw-r--r--evolution/copy_mails.py82
-rw-r--r--evolution/copy_mails_new_folder.dat6
-rw-r--r--evolution/copy_mails_new_folder.py88
-rw-r--r--evolution/copymail.dat2
-rw-r--r--evolution/copymail.py84
-rw-r--r--evolution/deletemail.dat1
-rw-r--r--evolution/deletemail.py73
-rw-r--r--evolution/evolution-2.2.map397
-rw-r--r--evolution/evolution.map662
-rw-r--r--evolution/evolution.py25
-rw-r--r--evolution/evoutils/__init__.py0
-rw-r--r--evolution/evoutils/mail.py113
-rw-r--r--evolution/filter_from_message_mailinglist.py93
-rw-r--r--evolution/filter_from_message_recipients.py95
-rw-r--r--evolution/filter_from_message_sender.py93
-rw-r--r--evolution/filter_from_message_subject.py93
-rw-r--r--evolution/filter_message_on_mailinglist.dat5
-rw-r--r--evolution/filter_message_on_recipients.dat6
-rw-r--r--evolution/filter_message_on_sender.dat5
-rw-r--r--evolution/filter_message_on_subject.dat5
-rw-r--r--evolution/filter_search.dat4
-rw-r--r--evolution/filter_search_on_recipients.dat3
-rw-r--r--evolution/filter_search_on_recipients.py78
-rw-r--r--evolution/filter_search_on_sender.dat3
-rw-r--r--evolution/filter_search_on_sender.py76
-rw-r--r--evolution/filter_search_on_subject.dat3
-rw-r--r--evolution/filter_search_on_subject.py76
-rw-r--r--evolution/filter_search_on_subject_sender.dat3
-rw-r--r--evolution/filter_search_on_subject_sender.py77
-rw-r--r--evolution/forward-mail.dat4
-rw-r--r--evolution/forward-mail.py98
-rw-r--r--evolution/forwardmail_refimg.pngbin0 -> 63990 bytes
-rw-r--r--evolution/move_mails.dat5
-rw-r--r--evolution/move_mails.py82
-rw-r--r--evolution/move_mails_new_folder.dat6
-rw-r--r--evolution/move_mails_new_folder.py88
-rw-r--r--evolution/movemail.dat2
-rw-r--r--evolution/movemail.py83
-rw-r--r--evolution/reply-mail.dat2
-rw-r--r--evolution/reply-mail.py99
-rw-r--r--evolution/replymail_refimg.pngbin0 -> 48289 bytes
-rw-r--r--evolution/save_as_draft.py80
-rw-r--r--evolution/save_draft.dat7
-rw-r--r--evolution/vFolder_from_message_mailinglist.py78
-rw-r--r--evolution/vFolder_from_message_recipients.py81
-rw-r--r--evolution/vFolder_from_message_sender.py78
-rw-r--r--evolution/vFolder_from_message_subject.py78
-rw-r--r--evolution/vFolder_message_on_mailinglist.dat3
-rw-r--r--evolution/vFolder_message_on_recipients.dat4
-rw-r--r--evolution/vFolder_message_on_sender.dat3
-rw-r--r--evolution/vFolder_message_on_subject.dat3
-rw-r--r--evolution/view-mail.dat3
-rw-r--r--evolution/view-mail.py46
65 files changed, 3591 insertions, 0 deletions
diff --git a/evolution/README b/evolution/README
new file mode 100644
index 0000000..0f6ce72
--- /dev/null
+++ b/evolution/README
@@ -0,0 +1,11 @@
++ In this release we have provided test scripts for Evolution-2.3.4 mailer automated testing
+
++ For all the verifications involving image comparision it is necessary to replace the following files with those images taken in the testing scenario.
+ * composemail_refimg.png
+ * attachmail_refimg.png
+ * forwardmail_refimg.png
+ * replymail_refimg.png
+
++ Please make sure that all the image files are in .png format.
+
++ Please make sure that all tha .dat files contain the correct data for the scenario in which the testing is undertaken. \ No newline at end of file
diff --git a/evolution/attachment_refimg.png b/evolution/attachment_refimg.png
new file mode 100644
index 0000000..bd26d0f
--- /dev/null
+++ b/evolution/attachment_refimg.png
Binary files differ
diff --git a/evolution/autocompletion.dat b/evolution/autocompletion.dat
new file mode 100644
index 0000000..fc22bdd
--- /dev/null
+++ b/evolution/autocompletion.dat
@@ -0,0 +1,2 @@
+mubeen
+Jukaku Mubeen
diff --git a/evolution/autocompletion.py b/evolution/autocompletion.py
new file mode 100644
index 0000000..ddee5b3
--- /dev/null
+++ b/evolution/autocompletion.py
@@ -0,0 +1,91 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Bhargavi <kbhargavi_83@yahoo.co.in>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#To check for autocompletion
+def test_autocompletion (first_name,full_name):
+ try:
+ selectmenuitem ('evolution', 'mnuTools;mnuMail')
+ time.sleep(3)
+ selectmenuitem ('evolution', 'mnuFile;mnuFileNew;mnuMailMessage')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 0:
+ log('Compose message window does not appear','error')
+ raise LdtpExecutionError (0)
+ else:
+ #FIXME: currently I am not taking care of the case when the
+ #given first_name is not in address book. It can be done
+ #after the is_focuson method is implemented in text.c
+ grabfocus ('Composeamessage','txtTo')
+ typekey (first_name)
+ time.sleep(3)
+ #selecting the correct to address from the list of suggestions
+ typekey ('<down>')
+ typekey ('<return>')
+ time.sleep(2)
+ cur_to = gettextvalue ('Composeamessage','txtTo')
+ print cur_to
+ i = 2
+ while cur_to != full_name:
+ settextvalue ('Composeamessage','txtTo','')
+ grabfocus ('Composeamessage','txtTo')
+ typekey (first_name)
+ time.sleep (2)
+ for j in range(0,i):
+ typekey ('<down>')
+ typekey ('<return>')
+ if verifysettext ('Composeamessage','txtTo',cur_to) == 1:
+ break
+ else:
+ cur_to = gettextvalue ('Composeamessage','txtTo')
+ i = i + 1
+ if cur_to == first_name:
+ print 'Autocompletion verification succeeded'
+ log ('Autocompletion verification','pass')
+ else:
+ log ('Autocompletion verification succeeded but failed to find given To id',
+ 'warning')
+ log ('Autocompletion verification','pass')
+ selectmenuitem ('Composeamessage','mnuFile;mnuClose')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 1:
+ log('Compose message window does not close','error')
+ raise LdtpExecutionError (0)
+ except ldtp.error, msg:
+ print 'Compose new message with autocompletion failed ', str (msg)
+ log ('Compose new message with autocompletion failed', 'Fail' );
+
+#Reading Input from File
+file = open('autocompletion.dat','r')
+record = file.readlines();
+first_name = record[0].strip()
+full_name = record[1].strip()
+#to = record[2].strip()
+
+log ('autocompletion verification','Start')
+time.sleep(3)
+test_autocompletion (first_name,full_name)
+time.sleep(3)
+log ('autocompletion verification','end')
diff --git a/evolution/change_draft.dat b/evolution/change_draft.dat
new file mode 100644
index 0000000..5912676
--- /dev/null
+++ b/evolution/change_draft.dat
@@ -0,0 +1,8 @@
+junk
+0
+ldtp@scooby.net
+test
+shaheed@scooby.net
+khasim@scooby.net
+saving as draft message
+body of the draft
diff --git a/evolution/change_draft.py b/evolution/change_draft.py
new file mode 100644
index 0000000..9a521b5
--- /dev/null
+++ b/evolution/change_draft.py
@@ -0,0 +1,125 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+# Change the default draft folder and verify
+import time
+
+#Change the default draft folder
+def change_draft (new_draft, index, account):
+ try:
+ selectmenuitem ('Evolution-Mail', 'mnuView;mnuWindow;mnuMail')
+ time.sleep (3)
+ selectmenuitem ('Evolution-Mail', 'mnuEdit;mnuPreferences')
+ time.sleep (3)
+ if guiexist ('dlgEvolutionSettings') == 1:
+ selectrowindex ('dlgEvolutionSettings', 'tblAccounts', index)
+ click ('dlgEvolutionSettings', 'btnEdit')
+ time.sleep (3)
+ if guiexist ('dlgAccountEditor') == 1:
+ selecttab ('dlgAccountEditor', 'ptlAccountEditor', '3')
+ click ('dlgAccountEditor', 'btnDrafts')
+ time.sleep (3)
+ if guiexist ('dlgSelectFolder') == 1:
+ click ('dlgSelectFolder', 'btnNew')
+ time.sleep (3)
+ if guiexist ('dlgCreateNewFolder') == 1:
+ settextvalue('dlgCreateNewFolder', 'txtFoldername', new_draft)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ else:
+ log ('Create New Folder dialog does not appear', 'error')
+ log ('Change Draft Folder', 'fail')
+ selectrow ('dlgSelectFolder', 'treetblMailFolderTree', new_draft)
+ click ('dlgSelectFolder', 'btnOK')
+ else:
+ log ('Select Folder dialog does not appear', 'error')
+ log ('Change Draft Folder', 'fail')
+ click ('dlgAccountEditor', 'btnOK')
+ else:
+ log ('Account Editor dialog does not appear', 'error')
+ log ('Change Draft Folder', 'fail')
+ click ('dlgEvolutionSettings', 'btnClose')
+ log ('Change Draft Folder', 'pass')
+ else:
+ log ('Evolution Settings dialog does not appear', 'error')
+ log ('Change Draft Folder', 'fail')
+ except error, msg:
+ log (str (msg), 'error')
+ log ('Change Draft Folder', 'fail')
+
+#Verify whether draft folder has been changed or not
+def verify_draft (new_draft, to_address, cc_address, msg_subject, msg_body):
+ try:
+ selectmenuitem ('Evolution-Mail', 'mnuFile;mnuNew;mnuMailMessage')
+ if guiexist ('frmComposeamessage') == 1:
+ settextvalue ('frmComposeamessage', 'txtTo', to_address)
+ if verifycheck ('frmComposeamessage', 'mnuView;mnuCcField') == 0:
+ check ('frmComposeamessage', 'mnuView;mnuCcField')
+ settextvalue ('frmComposeamessage', 'txtCc', cc_address)
+ settextvalue ('frmComposeamessage', 'txtSubject', msg_subject)
+ setcontext ('Compose a message', msg_subject)
+ settextvalue ('frmComposeamessage', 'txtMailBody', msg_body)
+ selectmenuitem ('frmComposeamessage', 'mnuFile;mnuSaveDraft')
+ selectmenuitem ('frmComposeamessage', 'mnuFile;mnuClose')
+ else:
+ log ('Compose a message dialog does not appear', 'error')
+ log ('Verify Change draft', 'fail')
+ selectrow ('Evolution-Mail', 'treeTabFolder', new_draft)
+ selectlastrow ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuFile;mnuOpenMessage')
+ setcontext('Compose a message', msg_subject)
+ if guiexist ('frmReadOnlyMail') == 1:
+ verifytablecell ('frmReadOnlyMail', 'tblcheck', 1, 1, to_address)
+ verifytablecell ('frmReadOnlyMail', 'tblcheck', 2, 1, cc_address)
+ verifytablecell ('frmReadOnlyMail', 'tblcheck', 3, 1, msg_subject)
+ selectmenuitem ('frmReadOnlyMail','mnuFile;mnuClose')
+ else:
+ log ('Selected message not opened', 'error')
+ log ('Verify Change draft', 'fail')
+ log ('Verify Change draft', 'pass')
+ except msg, error:
+ log (str (msg), 'error')
+ log ('Verify Change draft', 'fail')
+
+#Getting the data
+file = open('change_draft.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+account = argmts[2].strip( )
+new_draft = argmts[3].strip( )
+to_address = argmts[4].strip( )
+cc_address = argmts[5].strip( )
+msg_subject = argmts[6].strip( )
+msg_body = argmts[7].strip( )
+
+
+#Calling the functions
+log ('Change and Verify Change Draft Folder', 'teststart')
+log ('Change Draft Folder', 'teststart')
+change_draft (new_draft, index, account)
+log ('Change Draft Folder', 'testend')
+log ('Verify Change Draft Folder', 'tesstart')
+veriry_draft (new_draft, to_address, cc_address, msg_subject, msg_body)
+log ('Verify Change Draft Folder', 'testend')
+log ('Change and Verify Change Draft Folder', 'testend')
diff --git a/evolution/compose-mail-w-attachment.dat b/evolution/compose-mail-w-attachment.dat
new file mode 100644
index 0000000..d7ad9cc
--- /dev/null
+++ b/evolution/compose-mail-w-attachment.dat
@@ -0,0 +1,5 @@
+jpremkumar@novell.com
+jpremkumar@novell.com
+this is subject
+this is body
+resume-Vishu.doc \ No newline at end of file
diff --git a/evolution/compose-mail-w-attachment.py b/evolution/compose-mail-w-attachment.py
new file mode 100644
index 0000000..94f8abc
--- /dev/null
+++ b/evolution/compose-mail-w-attachment.py
@@ -0,0 +1,86 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Bhargavi <kbhargavi_83@yahoo.co.in>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#To compose a new mail message through File menu
+def compose_mail_w_attachment ( to, subject, body,filename ,cc=''):
+ try:
+ selectmenuitem ('evolution', 'mnuTools;mnuMail')
+ time.sleep(3)
+ selectmenuitem ('evolution', 'mnuFile;mnuFileNew;mnuMailMessage')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 0:
+ log('Compose message window does not appear','error')
+ raise LdtpExecutionError (0)
+ else:
+ populate_mail_header (to, subject, body, cc)
+ selectmenuitem ('Composeamessage','mnuInsert;mnuAttachment')
+ time.sleep(3)
+ if guiexist ('dlgAttachfile') == 0:
+ log ('Select file dialog does not appear','error')
+ raise LdtpExecutionError (0)
+ else:
+ #setcontext (subject,'dlgAttachfile')
+ selectrow ('dlgAttachfile','tblFiles',filename)
+ click ('dlgAttachfile','btnAttach')
+ time.sleep(5)
+ if guiexist ('dlgAttachfile') == 1:
+ log ('Select file dialog does not close after clicking attach button','error')
+ raise LdtpExecutionError (0)
+ else:
+ #setcontext ('dlgAttachfile',subject)
+ click ('Composeamessage', 'btnSend')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 1:
+ log ('Failed during clicking the send button',
+ 'error')
+ raise LdtpExecutionError (0)
+ else:
+ releasecontext()
+ click ('evolution', 'btnSend/Receive')
+ log ('Composeamessage', 'Pass')
+ except ldtp.error, msg:
+ print 'Compose new message failed ', str (msg)
+ log ('Compose new message failed', 'Fail' );
+
+#Reading Input from File
+file = open('compose-mail-w-attachment.dat','r')
+record = file.readlines();
+to = record[0].strip()
+cc = record[1].strip()
+subject = record[2].strip()
+body = record[3].strip()
+filename = record[4].strip()
+
+log ('Compose new message with attachment','Start')
+time.sleep(3)
+compose_mail_w_attachment (to,subject,body,filename,cc)
+time.sleep(3)
+log ('Compose new message with attachment','end')
+log ('Compose new message with attachment - verification','end')
+time.sleep(3)
+verifymailwithimage ('Sent Items',-9,'attachmentmail_refimg.png')
+time.sleep(3)
+log ('Compose new message with attachment - verification','end')
diff --git a/evolution/compose-mail.dat b/evolution/compose-mail.dat
new file mode 100644
index 0000000..e096b3c
--- /dev/null
+++ b/evolution/compose-mail.dat
@@ -0,0 +1,4 @@
+jpremkumar@novell.com
+jpremkumar@novell.com
+this is subject
+this is body \ No newline at end of file
diff --git a/evolution/compose-mail.py b/evolution/compose-mail.py
new file mode 100644
index 0000000..a6366ab
--- /dev/null
+++ b/evolution/compose-mail.py
@@ -0,0 +1,70 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Bhargavi <kbhargavi_83@yahoo.co.in>
+# Premkumarr <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+
+#To compose a new mail message through File menu
+def compose_mail ( to, subject, body, cc=''):
+ try:
+ selectmenuitem ('evolution', 'mnuTools;mnuMail')
+ time.sleep(3)
+ selectmenuitem ('evolution', 'mnuFile;mnuFileNew;mnuMailMessage')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 0:
+ log('Compose message window does not appear','error')
+ raise LdtpExecutionError (0)
+ else:
+ populate_mail_header (to, subject, body, cc)
+ click ('Composeamessage', 'btnSend')
+ time.sleep(3)
+ if guiexist ('Composeamessage') == 1:
+ log ('Failed during clicking the send button','error')
+ raise LdtpExecutionError (0)
+ else:
+ releasecontext();
+ click ('evolution', 'btnSend/Receive')
+ log ('Composeamessage', 'Pass')
+ except ldtp.error, msg:
+ print 'Compose new message failed ', str (msg)
+ log ('Compose new message failed', 'Fail' );
+
+#Reading Input from File
+file = open('compose-mail.dat','r')
+record = file.readlines();
+to = record[0].strip()
+cc = record[1].strip()
+subject = record[2].strip()
+body = record[3].strip()
+
+log ('Compose new message','Start')
+time.sleep(3)
+compose_mail (to,subject,body,cc)
+time.sleep(3)
+log ('Compose new message','end')
+log ('Compose new message Verification','Start')
+time.sleep(3)
+verifymailwithimage ('Sent Items',-9,'composemail_refimage.png')
+time.sleep(3)
+log ('Compose new message Verification','end')
diff --git a/evolution/composemail_refimg.png b/evolution/composemail_refimg.png
new file mode 100644
index 0000000..9c6f72b
--- /dev/null
+++ b/evolution/composemail_refimg.png
Binary files differ
diff --git a/evolution/copy_mails.dat b/evolution/copy_mails.dat
new file mode 100644
index 0000000..69e5dd0
--- /dev/null
+++ b/evolution/copy_mails.dat
@@ -0,0 +1,5 @@
+junk
+Mailbox
+test
+2
+3
diff --git a/evolution/copy_mails.py b/evolution/copy_mails.py
new file mode 100644
index 0000000..aeda1ff
--- /dev/null
+++ b/evolution/copy_mails.py
@@ -0,0 +1,82 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Copy And Verify Copy of Mails
+import time
+
+#Copy mails
+def copy (source, destination, start, end):
+ try:
+ for i in range(start, end+1):
+ selectrowindex ('Evolution-Mail', 'treetblMails', i)
+ click ('Evolution-Mail', 'btnCopy')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnCopy')
+ log ('CopyMails', 'pass')
+ except:
+ log ('CopyMails', 'fail')
+
+#Verifying copy of mails
+def verify_copy (source, destination, no_mails, prev_scount, prev_dcount):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+ new_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectrow ('Evolution-Mail', 'treeTabFolder', source)
+ new_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (new_scount == prev_scount and new_dcount == (prev_dcount+no_mails)):
+ log ('Verify-Copy-Mails', 'pass')
+ else:
+ log ('Verify-Copy-Mails', 'fail')
+ except:
+ log ('Verify-Copy-Mails', 'fail')
+
+#Getting the data from a file
+file = open('copy_mails.dat', 'r')
+argmts = file.readlines()
+source = argmts[1].strip( )
+destination = argmts[2].strip( )
+start = int (argmts[3].strip( ))
+end = int (argmts[4].strip( ))
+
+#Calling the functions and getting the initial
+#message count of source and destination folders
+log('CopyAndVerifyCopyofMails', 'teststart')
+log('CopyMails' ,'teststart')
+click ('Evolution-Mail', 'tbtnMail')
+time.sleep (2)
+selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+time.sleep (1)
+prev_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+selectrow ('Evolution-Mail', 'treeTabFolder', source)
+time.sleep (1)
+prev_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+copy (source, destination, start, end)
+log('CopyMails' ,'testend')
+log('VerificationofCopyMails', 'teststart')
+no_mails = end-start+1
+verify_copy (source, destination, no_mails, prev_scount, prev_dcount)
+log('VerificationofCopyMails' ,'testend')
+log('CopyMailsandVerificationofCopyMails','testend')
diff --git a/evolution/copy_mails_new_folder.dat b/evolution/copy_mails_new_folder.dat
new file mode 100644
index 0000000..f8ee78d
--- /dev/null
+++ b/evolution/copy_mails_new_folder.dat
@@ -0,0 +1,6 @@
+junk
+Mailbox
+dump
+ldtp@scooby.net
+0
+1
diff --git a/evolution/copy_mails_new_folder.py b/evolution/copy_mails_new_folder.py
new file mode 100644
index 0000000..637edda
--- /dev/null
+++ b/evolution/copy_mails_new_folder.py
@@ -0,0 +1,88 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Copy And Verify Copy of Mails
+import time
+
+#Copy mails
+def copy (source, destination, account_name, start, end):
+ try:
+ selectrowindex ('Evolution-Mail', 'treetblMails', start)
+ click ('Evolution-Mail', 'btnCopy')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue ('dlgCreateNewFolder', 'txtFoldername', destination)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnCopy')
+ for i in range(start+1, end+1):
+ selectrowindex ('Evolution-Mail', 'treetblMails', i)
+ click ('Evolution-Mail', 'btnCopy')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnCopy')
+ log ('CopyMails', 'pass')
+ except:
+ log ('CopyMails', 'fail')
+
+#Verifying copy of mails
+def verify_copy (source, destination, no_mails, prev_scount):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+ new_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectrow ('Evolution-Mail', 'treeTabFolder', source)
+ new_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (new_scount == prev_scount and new_dcount == no_mails):
+ log ('Verify-Copy-Mails', 'pass')
+ else:
+ log ('Verify-Copy-Mails', 'fail')
+ except:
+ log ('Verify-Copy-Mails', 'fail')
+
+#Getting the data from a file
+file = open('copy_mails_new_folder.dat', 'r')
+argmts = file.readlines()
+source = argmts[1].strip( )
+destination = argmts[2].strip( )
+account_name = argmts[3].strip( )
+start = int (argmts[4].strip( ))
+end = int (argmts[5].strip( ))
+
+#Calling the functions and getting the initial
+#message count of source and destination folders
+log('CopyAndVerifyCopyofMails', 'teststart')
+log('CopyMails', 'teststart')
+click ('Evolution-Mail', 'tbtnMail')
+time.sleep (2)
+selectrow ('Evolution-Mail', 'treeTabFolder', source)
+time.sleep (1)
+prev_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+copy (source, destination, account_name, start, end)
+log('CopyMails', 'testend')
+log('VerificationofCopyMails', 'teststart')
+no_mails = end-start+1
+verify_copy (source, destination, no_mails, prev_scount)
+log('VerificationofCopyMails', 'testend')
+log('CopyMailsandVerificationofCopyMails', 'testend')
diff --git a/evolution/copymail.dat b/evolution/copymail.dat
new file mode 100644
index 0000000..3c9828d
--- /dev/null
+++ b/evolution/copymail.dat
@@ -0,0 +1,2 @@
+Inbox
+bugs \ No newline at end of file
diff --git a/evolution/copymail.py b/evolution/copymail.py
new file mode 100644
index 0000000..74ff9fd
--- /dev/null
+++ b/evolution/copymail.py
@@ -0,0 +1,84 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Nagashree <mnagashree@novell.com>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Copying an existing Mail
+
+# Section to select and copy mail
+def copy_mail (from_fldr,to_fldr):
+ #TODO: Current implementation supports copying only the last mail.
+ #It should be extended to copy any arbitary mail like i.
+ try:
+ selectrowpartialmatch ('evolution', 'ttblMailFolderTree',
+ to_fldr)
+ row_before = getrowcount('evolution', 'ttblMessageList')
+ selectrowpartialmatch ('evolution', 'ttblMailFolderTree',
+ from_fldr)
+ rowcount = getrowcount('evolution', 'ttblMessageList')
+ if rowcount > 0:
+ #selectlastrow ('evolution', 'ttblMessageList')
+ selectrowindex ('evolution', 'ttblMessageList',
+ rowcount-3)
+ selectmenuitem ('evolution',
+ 'mnuMessage;mnuCopyToFolder')
+ selectrowpartialmatch ('dlgSelectfolder',
+ 'ttblMailFolderTree',to_fldr )
+ click ('dlgSelectfolder','btnCopy')
+ if guiexist('dlgSelectfolder') == 0:
+ log ('Select folder dialog not closed',
+ 'error')
+ raise LdtpexecutionError(0)
+ else:
+ selectrowpartialmatch ('evolution',
+ 'ttblMailFolderTree',to_fldr)
+ wait (5)
+ row_after = getrowcount('evolution', 'ttblMessageList')
+ selectmenuitem ('evolution', 'mnuFile;mnuClose')
+ if row_after > row_before:
+ log ('Copying a mail passed successfully',
+ 'pass')
+ else :
+ log ('Copying a mail failed',
+ 'fail')
+ else:
+ log ('From folder empty!', 'Warning')
+ log ('Did not move any mails to other folder',
+ 'Pass')
+ except ldtp.error,msg:
+ print 'Copying mail between folders failed',str(msg)
+ log ('Copying mail failed','fail')
+
+#Read input from file
+file = open ('copymail.dat', 'r')
+argmts = file.readlines()
+from_fldr = argmts[0].strip( )
+to_fldr = argmts[1].strip( )
+
+# Call the function
+log ('copyingmail', 'teststart')
+copy_mail (from_fldr,to_fldr)
+log ('copyingmail', 'testend')
+log ('Cppying mail succeded', 'pass')
+
diff --git a/evolution/deletemail.dat b/evolution/deletemail.dat
new file mode 100644
index 0000000..b4f64fc
--- /dev/null
+++ b/evolution/deletemail.dat
@@ -0,0 +1 @@
+bugs \ No newline at end of file
diff --git a/evolution/deletemail.py b/evolution/deletemail.py
new file mode 100644
index 0000000..037ba93
--- /dev/null
+++ b/evolution/deletemail.py
@@ -0,0 +1,73 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Bhargavi <kbhargavi_83@yahoo.co.in>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Moving an existing Mail
+
+# Section to select and move mail
+def delete_mail (source_fldr):
+ #TODO: Currently deletes only the last mail. Should be extended to delete
+ #any arbitary mail
+ try:
+ selectrowpartialmatch ('evolution', 'ttblMailFolderTree',
+ source_fldr)
+ rowcount = getrowcount('evolution', 'ttblMessageList')
+ if rowcount > 0:
+ #selectlastrow ('evolution', 'ttblMessageList')
+ selectrowindex ('evolution', 'ttblMessageList',
+ rowcount-3)
+ selectmenuitem ('evolution',
+ 'mnuEdit;mnuDeleteMessage')
+ time.sleep (3)
+ selectrowpartialmatch ('evolution',
+ 'ttblMailFolderTree',to_fldr)
+ time.sleep (5)
+ row_after = getrowcount('evolution',
+ 'ttblMessageList')
+ selectmenuitem ('evolution', 'mnuFile;mnuClose')
+ if row_after < rowcount:
+ log ('Deleting a mail passed successfully',
+ 'pass')
+ else:
+ log ('Deleting a mail failed','fail')
+ else:
+ log ('From folder empty!', 'Warning')
+ log ('Did not Delete any mail from source folder',
+ 'Pass')
+ except ldtp.error,msg:
+ print 'Deleting mail between folders failed',str(msg)
+ log ('Moving mail failed','fail')
+
+#Read input from file
+file = open ('deletemail.dat', 'r')
+argmts = file.readlines()
+source_fldr = argmts[0].strip( )
+
+# Call the function
+log ('deletemail', 'teststart')
+delete_mail (source_fldr)
+log ('deletemail', 'testend')
+log ('Deleting mail succeeded', 'pass')
+
diff --git a/evolution/evolution-2.2.map b/evolution/evolution-2.2.map
new file mode 100644
index 0000000..a9ed3af
--- /dev/null
+++ b/evolution/evolution-2.2.map
@@ -0,0 +1,397 @@
+[Evolution-Mail]
+Evolution-Mail={class=frame, app_name=evolution-2.2}
+mnuFile={class=menu, label=File}
+mnuNew={class=menu, label=New}
+mnuMailMessage={class=menu_item, label=Mail Message}
+mnuMailFolder={class=menu_item, label=Mail Folder}
+mnuAllDayAppointment={class=menu_item, label=All Day Appointment}
+mnuAppointment={class=menu_item, label=Appointment}
+mnuAssignedTask={class=menu_item, label=Assigned Task}
+mnuContact={class=menu_item, label=Contact}
+mnuContactList={class=menu_item, label=Contact List}
+mnuMeeting={class=menu_item, label=Meeting}
+mnuTask={class=menu_item, label=Task}
+mnuAddressBook={class=menu_item, label=Address Book}
+mnuCalendar={class=menu_item, label=Calendar}
+mnuTasklist={class=menu_item, label=Task list}
+mnuNewWindow={class=menu_item, label=New Window}
+mnuOpenMessage={class=menu_item, label=Open Message}
+mnuSaveAs={class=menu_item, label=Save As...}
+mnuImport={class=menu_item, label=Import...}
+mnuPrintPreview={class=menu_item, label=Print Preview}
+mnuPrint={class=menu_item, label=Print...}
+mnuFolder={class=menu, label=Folder}
+mnuProperties={class=menu_item, label=Properties}
+mnuWorkOffline={class=menu_item, label=Work Offline}
+mnuClose={class=menu_item, label=Close}
+mnuExit={class=menu_item, label=Exit}
+mnuEdit={class=menu, label=Edit}
+mnuSelectAll={class=menu_item, label=Select All}
+mnuSelectThread={class=menu_item, label=Select Thread}
+mnuInvertSelection={class=menu_item, label=Invert Selection}
+mnuCut={class=menu_item, label=Cut}
+mnuCopy={class=menu_item, label=Copy}
+mnuPaste={class=menu_item, label=Paste}
+mnuSearchinMessage={class=menu_item, label=Search in Message...}
+mnuDelete={class=menu_item, label=Delete}
+mnuUndelete={class=menu_item, label=Undelete}
+mnuMarkasRead={class=menu_item, label=Mark as Read}
+mnuMarkasUnread={class=menu_item, label=Mark as Unread}
+mnuMarkasImportant={class=menu_item, label=Mark as Important}
+mnuMarkasUnimportant={class=menu_item, label=Mark as Unimportant}
+mnuMarkasJunk={class=menu_item, label=Mark as Junk}
+mnuMarkasNotJunk={class=menu_item, label=Mark as Not Junk}
+mnuMarkAllasRead={class=menu_item, label=Mark All as Read}
+mnuPreferences={class=menu_item, label=Preferences}
+mnuView={class=menu, label=View}
+mnuWindow={class=menu, label=Window}
+mnuMail={class=menu_item, label=Mail}
+mnuContacts={class=menu_item, label=Contacts}
+mnuCalendars={class=menu_item, label=Calendars}
+mnuTasks={class=menu_item, label=Tasks}
+mnuWindowButtons={class=menu, label=Window Buttons}
+mnuIconsandtext={class=radio_menu_item, label=Icons and text}
+mnuIconsonly={class=radio_menu_item, label=Icons only}
+mnuTextonly={class=radio_menu_item, label=Text only}
+mnuToolbarstyle={class=radio_menu_item, label=Toolbar style}
+mnuHidebuttons={class=check_menu_item, label=Hide buttons}
+mnuToolbar={class=check_menu_item, label=Toolbar}
+mnuPreviewPane={class=check_menu_item, label=Preview Pane}
+mnuThreadedMessageList={class=check_menu_item, label=Threaded Message List}
+mnuHideDeletedMessages={class=check_menu_item, label=Hide Deleted Messages}
+mnuGoTo={class=menu, label=Go To}
+mnuNextMessage={class=menu_item, label=Next Message}
+mnuNextUnreadMessage={class=menu_item, label=Next Unread Message}
+mnuNextImportantMessage={class=menu_item, label=Next Important Message}
+mnuNextThread={class=menu_item, label=Next Thread}
+mnuPreviousMessage={class=menu_item, label=Previous Message}
+mnuPreviousUnreadMessage={class=menu_item, label=Previous Unread Message}
+mnuPreviousImportantMessage={class=menu_item, label=Previous Important Message}
+mnuTextSize={class=menu, label=Text Size}
+mnuSmaller={class=menu_item, label=Smaller}
+mnuLarger={class=menu_item, label=Larger}
+mnuOriginalSize={class=menu_item, label=Original Size}
+mnuMessageDisplay={class=menu, label=Message Display}
+mnuLoadImages={class=menu_item, label=Load Images}
+mnuCaretMode={class=check_menu_item, label=Caret Mode}
+mnuNormalDisplay={class=radio_menu_item, label=Normal Display}
+mnuShowFullHeaders={class=radio_menu_item, label=Show Full Headers}
+mnuShowEmailSource={class=radio_menu_item, label=Show Email Source}
+mnuHideSelectedMessages={class=menu_item, label=Hide Selected Messages}
+mnuHideReadMessages={class=menu_item, label=Hide Read Messages}
+mnuShowHiddenMessages={class=menu_item, label=Show Hidden Messages}
+mnuCharacterEncoding={class=menu, label=Character Encoding}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-13)}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-4)}
+mnuCentralEuropean={class=radio_menu_item, label=Central European (ISO-8859-2)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (Big5)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (BIG5HKSCS)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (EUC-TW)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB18030)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB2312)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (HZ)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (ISO-2022-CN)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (KOI8-R)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (Windows-1251)}
+mnuCyrillic,Ukrainian={class=radio_menu_item, label=Cyrillic, Ukrainian (KOI8-U)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (ISO-8859-5)}
+mnuGreek={class=radio_menu_item, label=Greek (ISO-8859-7)}
+mnuHebrew,Visual={class=radio_menu_item, label=Hebrew, Visual (ISO-8859-8)}
+mnuJapanese={class=radio_menu_item, label=Japanese (ISO-2022-JP)}
+mnuJapanese={class=radio_menu_item, label=Japanese (EUC-JP)}
+mnuJapanese={class=radio_menu_item, label=Japanese (Shift_JIS)}
+mnuKorean={class=radio_menu_item, label=Korean (EUC-KR)}
+mnuTurkish={class=radio_menu_item, label=Turkish (ISO-8859-9)}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-8)}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-7)}
+mnuWesternEuropean={class=radio_menu_item, label=Western European (ISO-8859-1)}
+mnuWesternEuropean,New={class=radio_menu_item, label=Western European, New (ISO-8859-15)}
+mnuDefault={class=radio_menu_item, label=Default}
+mnuActions={class=menu, label=Actions}
+mnuSend/Receive={class=menu_item, label=Send / Receive}
+mnuForgetPasswords={class=menu_item, label=Forget Passwords}
+mnuComposeNewMessage={class=menu_item, label=Compose New Message}
+mnuPostNewMessage={class=menu_item, label=Post New Message}
+mnuCancel={class=menu_item, label=Cancel}
+mnuFollowUp={class=menu_item, label=Follow Up...}
+mnuReplytoSender={class=menu_item, label=Reply to Sender}
+mnuReplytoList={class=menu_item, label=Reply to List}
+mnuReplytoAll={class=menu_item, label=Reply to All}
+mnuForward={class=menu_item, label=Forward}
+mnuForwardAs...={class=menu, label=Forward As...}
+mnuAttached={class=menu_item, label=Attached}
+mnuInline={class=menu_item, label=Inline}
+mnuQuoted={class=menu_item, label=Quoted}
+mnuRedirect={class=menu_item, label=Redirect}
+mnuPostaReply={class=menu_item, label=Post a Reply}
+mnuEditasNewMessage={class=menu_item, label=Edit as New Message...}
+mnuMovetoFolder={class=menu_item, label=Move to Folder}
+mnuCopytoFolder={class=menu_item, label=Copy to Folder}
+mnuAddSendertoAddressBook={class=menu_item, label=Add Sender to Address Book}
+mnuApplyFilters={class=menu_item, label=Apply Filters}
+mnuFilterJunk={class=menu_item, label=Filter Junk}
+mnuSaveAttachments={class=menu_item, label=Save Attachments ...}
+mnuExpunge={class=menu_item, label=Expunge}
+mnuEmptyTrash={class=menu_item, label=Empty Trash}
+mnuMailingList={class=menu, label=Mailing List}
+mnuGetlistusageinformation={class=menu_item, label=Get list usage information}
+mnuSubscribetolist={class=menu_item, label=Subscribe to list}
+mnuUn-subscribetolist={class=menu_item, label=Un-subscribe to list}
+mnuPostmessagetolist={class=menu_item, label=Post message to list}
+mnuContactlistowner={class=menu_item, label=Contact list owner}
+mnuGetlistarchive={class=menu_item, label=Get list archive}
+mnuTools={class=menu, label=Tools}
+mnuFilters={class=menu_item, label=Filters...}
+mnuCreateFilterFromMessage={class=menu, label=Create Filter From Message}
+mnuFilteronSubject={class=menu_item, label=Filter on Subject...}
+mnuFilteronSender={class=menu_item, label=Filter on Sender...}
+mnuFilteronRecipients={class=menu_item, label=Filter on Recipients...}
+mnuFilteronMailingList={class=menu_item, label=Filter on Mailing List...}
+mnuvFolderEditor={class=menu_item, label=vFolder Editor...}
+mnuCreatevFolderFromMessage={class=menu, label=Create vFolder From Message}
+mnuvFolderonSubject={class=menu_item, label=vFolder on Subject...}
+mnuvFolderonSender={class=menu_item, label=vFolder on Sender...}
+mnuvFolderonRecipients={class=menu_item, label=vFolder on Recipients...}
+mnuvFolderonMailingList={class=menu_item, label=vFolder on Mailing List...}
+mnuSubscribetoFolders={class=menu_item, label=Subscribe to Folders...}
+mnuPilotSettings={class=menu_item, label=Pilot Settings...}
+mnuManagePlugins={class=menu_item, label=Manage Plugins...}
+mnuSearch={class=menu, label=Search}
+mnuFindNow={class=menu_item, label=Find Now}
+mnuClear={class=menu_item, label=Clear}
+mnuAdvanced={class=menu_item, label=Advanced...}
+mnuSaveSearch={class=menu_item, label=Save Search...}
+mnuEditSavedSearches={class=menu_item, label=Edit Saved Searches...}
+mnuCreatevFolderFromSearch={class=menu_item, label=Create vFolder From Search...}
+mnuHelp={class=menu, label=Help}
+mnuContents={class=menu_item, label=Contents}
+mnuQuickReference={class=menu_item, label=Quick Reference}
+mnuSubmitBugReport={class=menu_item, label=Submit Bug Report}
+mnuAboutEvolution={class=menu_item, label=About Evolution...}
+btnNew={class=push_button, label=New}
+btnSend/Receive={class=push_button, label=Send / Receive}
+btnReply={class=push_button, label=Reply}
+btnReplytoAll={class=push_button, label=Reply to All}
+btnForward={class=push_button, label=Forward}
+btnMove={class=push_button, label=Move}
+btnCopy={class=push_button, label=Copy}
+btnPrint={class=push_button, label=Print}
+btnDelete={class=push_button, label=Delete}
+btnJunk={class=push_button, label=Junk}
+btnNotJunk={class=push_button, label=Not Junk}
+btnCancel={class=push_button, label=Cancel}
+btnPrevious={class=push_button, label=Previous}
+btnNext={class=push_button, label=Next}
+tbtnMail={class=toggle_button, label=Mail}
+tbtnContacts={class=toggle_button, label=Contacts}
+tbtnCalendars={class=toggle_button, label=Calendars}
+tbtnTasks={class=toggle_button, label=Tasks}
+mnuSubjectorSendercontains={class=menu_item, label=Subject or Sender contains}
+mnuRecipientscontain={class=menu_item, label=Recipients contain}
+mnuMessagecontains={class=menu_item, label=Message contains}
+mnuSubjectcontains={class=menu_item, label=Subject contains}
+mnuSendercontains={class=menu_item, label=Sender contains}
+mnuBodycontains={class=menu_item, label=Body contains}
+mnuSubjectorSendercontains={class=menu_item, label=Subject or Sender contains}
+mnuAdvanced={class=menu_item, label=Advanced...}
+txtSearchTextEntry={class=text, label=Search Text Entry}
+btnFindNow={class=push_button, label=Find Now}
+btnClear={class=push_button, label=Clear}
+
+[Composeamessage]
+Composeamessage={class=frame, app_name=evolution-2.2, label=Compose a message}
+mnuFile={class=menu, label=File}
+mnuOpen={class=menu_item, label=Open...}
+mnuSend={class=menu_item, label=Send}
+mnuSave={class=menu_item, label=Save}
+mnuSaveAs={class=menu_item, label=Save As...}
+mnuSaveDraft={class=menu_item, label=Save Draft}
+mnuClose={class=menu_item, label=Close}
+mnuEdit={class=menu, label=Edit}
+mnuUndo={class=menu_item, label=Undo}
+mnuRedo={class=menu_item, label=Redo}
+mnuCut={class=menu_item, label=Cut}
+mnuCopy={class=menu_item, label=Copy}
+mnuPaste={class=menu_item, label=Paste}
+mnuPasteQuotation={class=menu_item, label=Paste Quotation}
+mnuSelectAll={class=menu_item, label=Select All}
+mnuFind={class=menu_item, label=Find...}
+mnuFindAgain={class=menu_item, label=Find Again}
+mnuReplace={class=menu_item, label=Replace...}
+mnuCharacterEncoding={class=menu, label=Character Encoding}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-13)}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-4)}
+mnuCentralEuropean={class=radio_menu_item, label=Central European (ISO-8859-2)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (Big5)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (BIG5HKSCS)}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (EUC-TW)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB18030)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB2312)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (HZ)}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (ISO-2022-CN)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (KOI8-R)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (Windows-1251)}
+mnuCyrillic,Ukrainian={class=radio_menu_item, label=Cyrillic, Ukrainian (KOI8-U)}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (ISO-8859-5)}
+mnuGreek={class=radio_menu_item, label=Greek (ISO-8859-7)}
+mnuHebrew,Visual={class=radio_menu_item, label=Hebrew, Visual (ISO-8859-8)}
+mnuJapanese={class=radio_menu_item, label=Japanese (ISO-2022-JP)}
+mnuJapanese={class=radio_menu_item, label=Japanese (EUC-JP)}
+mnuJapanese={class=radio_menu_item, label=Japanese (Shift_JIS)}
+mnuKorean={class=radio_menu_item, label=Korean (EUC-KR)}
+mnuTurkish={class=radio_menu_item, label=Turkish (ISO-8859-9)}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-8)}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-7)}
+mnuWesternEuropean={class=radio_menu_item, label=Western European (ISO-8859-1)}
+mnuWesternEuropean,New={class=radio_menu_item, label=Western European, New (ISO-8859-15)}
+mnuSpellCheckDocument={class=menu_item, label=Spell Check Document...}
+mnuCurrentLanguages={class=menu, label=Current Languages}
+mnuEnglish={class=check_menu_item, label=English (American)}
+mnuEnglish={class=check_menu_item, label=English (British)}
+mnuEnglish={class=check_menu_item, label=English (Canadian)}
+mnuFormat={class=menu, label=Format}
+mnuHTML={class=check_menu_item, label=HTML}
+mnuStyle={class=menu, label=Style}
+mnuPlaintext={class=menu_item, label=Plain text}
+mnuBold={class=menu_item, label=Bold}
+mnuItalic={class=menu_item, label=Italic}
+mnuUnderline={class=menu_item, label=Underline}
+mnuStrikeout={class=menu_item, label=Strikeout}
+mnuFontSize={class=menu, label=Font Size}
+mnu-2={class=menu_item, label=-2}
+mnu-1={class=menu_item, label=-1}
+mnu+0={class=menu_item, label=+0}
+mnu+1={class=menu_item, label=+1}
+mnu+2={class=menu_item, label=+2}
+mnu+3={class=menu_item, label=+3}
+mnuText={class=menu_item, label=Text...}
+mnuHeading={class=menu, label=Heading}
+mnuNormal={class=menu_item, label=Normal}
+mnuHeader1={class=menu_item, label=Header 1}
+mnuHeader2={class=menu_item, label=Header 2}
+mnuHeader3={class=menu_item, label=Header 3}
+mnuHeader4={class=menu_item, label=Header 4}
+mnuHeader5={class=menu_item, label=Header 5}
+mnuHeader6={class=menu_item, label=Header 6}
+mnuBulletedList={class=menu_item, label=Bulleted List}
+mnuRomanNumeralList={class=menu_item, label=Roman Numeral List}
+mnuNumberedList={class=menu_item, label=Numbered List}
+mnuAlphabeticalList={class=menu_item, label=Alphabetical List}
+mnuAddress={class=menu_item, label=Address}
+mnuPreformat={class=menu_item, label=Preformat}
+mnuAlignment={class=menu, label=Alignment}
+mnuLeft={class=menu_item, label=Left}
+mnuCenter={class=menu_item, label=Center}
+mnuRight={class=menu_item, label=Right}
+mnuParagraph={class=menu_item, label=Paragraph...}
+mnuIncreaseIndent={class=menu_item, label=Increase Indent}
+mnuDecreaseIndent={class=menu_item, label=Decrease Indent}
+mnuWrapLines={class=menu_item, label=Wrap Lines}
+mnuPage={class=menu_item, label=Page...}
+mnuView={class=menu, label=View}
+mnuShowattachments={class=check_menu_item, label=Show attachments}
+mnuFromField={class=check_menu_item, label=From Field}
+mnuToField={class=check_menu_item, label=To Field}
+mnuPost-ToField={class=check_menu_item, label=Post-To Field}
+mnuReply-ToField={class=check_menu_item, label=Reply-To Field}
+mnuCcField={class=check_menu_item, label=Cc Field}
+mnuBccField={class=check_menu_item, label=Bcc Field}
+mnuInsert={class=menu, label=Insert}
+mnuAttachment={class=menu_item, label=Attachment...}
+mnuSendOptions={class=menu_item, label=Send Options}
+mnuImage={class=menu_item, label=Image...}
+mnuLink={class=menu_item, label=Link...}
+mnuRule={class=menu_item, label=Rule...}
+mnuTable={class=menu_item, label=Table...}
+mnuTextfile={class=menu_item, label=Text file...}
+mnuHTMLfile={class=menu_item, label=HTML file...}
+mnuSmiley={class=menu, label=Smiley}
+mnuSmile={class=menu_item, label=Smile}
+mnuWink={class=menu_item, label=Wink}
+mnuSurprised={class=menu_item, label=Surprised}
+mnuLaughing={class=menu_item, label=Laughing}
+mnuOhno!={class=menu_item, label=Oh no!}
+mnuFrown={class=menu_item, label=Frown}
+mnuIndifferent={class=menu_item, label=Indifferent}
+mnuUndecided={class=menu_item, label=Undecided}
+mnuLick={class=menu_item, label=Lick}
+mnuCrying={class=menu_item, label=Crying}
+mnuSick={class=menu_item, label=Sick}
+mnuSecurity={class=menu, label=Security}
+mnuPGPSign={class=check_menu_item, label=PGP Sign}
+mnuPGPEncrypt={class=check_menu_item, label=PGP Encrypt}
+mnuS/MIMESign={class=check_menu_item, label=S/MIME Sign}
+mnuS/MIMEEncrypt={class=check_menu_item, label=S/MIME Encrypt}
+btnSend={class=push_button, label=Send}
+btnAttach={class=push_button, label=Attach}
+btnUndo={class=push_button, label=Undo}
+btnRedo={class=push_button, label=Redo}
+btnCut={class=push_button, label=Cut}
+btnCopy={class=push_button, label=Copy}
+btnPaste={class=push_button, label=Paste}
+btnFind={class=push_button, label=Find}
+btnReplace={class=push_button, label=Replace}
+btnImage={class=push_button, label=Image}
+btnLink={class=push_button, label=Link}
+btnRule={class=push_button, label=Rule}
+btnTable={class=push_button, label=Table}
+txtSubject={class=text, label_by=Subject:}
+txtPostTo={class=text, label=Post To:}
+btnPostTo:={class=push_button, label=Post To:}
+txtBcc={class=text, label=Bcc:}
+btnBcc:={class=push_button, label=Bcc:}
+txtCc={class=text, label=Cc:}
+btnCc:={class=push_button, label=Cc:}
+txtTo={class=text, label=To:}
+btnTo:={class=push_button, label=To:}
+txtReply-To={class=text, label_by=Reply-To:}
+mnuNagappanA<anagappan@novell={class=menu_item, label=Nagappan A <anagappan@novell.com>}
+mnuNone={class=menu_item, label=None}
+mnuAutogenerated={class=menu_item, label=Autogenerated}
+mnu-2={class=menu_item, label=-2}
+mnu-1={class=menu_item, label=-1}
+mnu+0={class=menu_item, label=+0}
+mnu+1={class=menu_item, label=+1}
+mnu+2={class=menu_item, label=+2}
+mnu+3={class=menu_item, label=+3}
+mnu+4={class=menu_item, label=+4}
+mnuNormal={class=menu_item, label=Normal}
+mnuPreformat={class=menu_item, label=Preformat}
+mnuBulletedList={class=menu_item, label=Bulleted List}
+mnuNumberedList={class=menu_item, label=Numbered List}
+mnuRomanList={class=menu_item, label=Roman List}
+mnuAlphabeticalList={class=menu_item, label=Alphabetical List}
+mnuHeader1={class=menu_item, label=Header 1}
+mnuHeader2={class=menu_item, label=Header 2}
+mnuHeader3={class=menu_item, label=Header 3}
+mnuHeader4={class=menu_item, label=Header 4}
+mnuHeader5={class=menu_item, label=Header 5}
+mnuHeader6={class=menu_item, label=Header 6}
+mnuAddress={class=menu_item, label=Address}
+tbtnTypewriter={class=toggle_button, label=Typewriter}
+tbtnBold={class=toggle_button, label=Bold}
+tbtnItalic={class=toggle_button, label=Italic}
+tbtnUnderline={class=toggle_button, label=Underline}
+tbtnStrikeout={class=toggle_button, label=Strikeout}
+rdoLeftalign={class=radio_button, label=Left align}
+rdoCenter={class=radio_button, label=Center}
+rdoRightalign={class=radio_button, label=Right align}
+btnUnindent={class=push_button, label=Unindent}
+btnIndent={class=push_button, label=Indent}
+btncolorpreview={class=push_button, label=color preview}
+tbtnPopup={class=toggle_button, label=Popup}
+paneAttachmentBar={class=layered_pane, label=Attachment Bar}
+
+[dlgAttachfile(s)]
+dlgAttachfile(s)={class=dialog, label=Attach file(s), app_name=evolution-2.2}
+txtName={class=text, label_by=Name:}
+tbtnBrowseforotherfolders={class=toggle_button, label=Browse for other folders}
+tblShortcuts={class=table, label=Shortcuts}
+btnAdd={class=push_button, label=Add}
+btnRemove={class=push_button, label=Remove}
+tbtnHome={class=toggle_button, label=Home}
+btnCreateFolder={class=push_button, label=Create Folder}
+tblFiles={class=table, label=Files}
+chkSuggestautomaticdisplayofattachment={class=check_box, label=Suggest automatic display of attachment}
+btnOpen={class=push_button, label=Open}
+btnCancel={class=push_button, label=Cancel}
diff --git a/evolution/evolution.map b/evolution/evolution.map
new file mode 100644
index 0000000..7ba4b86
--- /dev/null
+++ b/evolution/evolution.map
@@ -0,0 +1,662 @@
+[evolution]
+evolution={class=frame, app_name=evolution}
+pnl0={class=panel, instance_index=0,parent=Evolution-Mail}
+pnl1={class=panel, instance_index=1,parent=Evolution-Mail}
+pnl2={class=panel, instance_index=2,parent=Evolution-Mail}
+mnuFile={class=menu, label=File}
+mnuFileNew={class=menu, label=New}
+mnuMailMessage={class=menu_item, label=Mail Message, parent=mnuFileNew}
+mnuMailFolder={class=menu_item, label=Mail Folder, parent=mnuFileNew}
+mnuAllDayAppointment={class=menu_item, label=All Day Appointment, parent=mnuFileNew}
+mnuAppointment={class=menu_item, label=Appointment, parent=mnuFileNew}
+mnuAssignedTask={class=menu_item, label=Assigned Task, parent=mnuFileNew}
+mnuContact={class=menu_item, label=Contact, parent=mnuFileNew}
+mnuContactList={class=menu_item, label=Contact List, parent=mnuFileNew}
+mnuMeeting={class=menu_item, label=Meeting, parent=mnuFileNew}
+mnuTask={class=menu_item, label=Task, parent=mnuFileNew}
+mnuAddressBook={class=menu_item, label=Address Book, parent=mnuFileNew}
+mnuCalendar={class=menu_item, label=Calendar, parent=mnuFileNew}
+mnuTasklist={class=menu_item, label=Task list, parent=mnuFileNew}
+mnuNewWindow={class=menu_item, label=New Window, parent=mnuFile}
+mnuSend/Receive={class=menu_item, label=Send / Receive, parent=mnuFile}
+mnuSaveMessage={class=menu_item, label=Save Message..., parent=mnuFile}
+mnuImport={class=menu_item, label=Import..., parent=mnuFile}
+mnuPrintPreview={class=menu_item, label=Print Preview, parent=mnuFile}
+mnuPrint={class=menu_item, label=Print..., parent=mnuFile}
+mnuEmptyTrash={class=menu_item, label=Empty Trash, parent=mnuFile}
+mnuForgetPasswords={class=menu_item, label=Forget Passwords, parent=mnuFile}
+mnuWorkOffline={class=menu_item, label=Work Offline, parent=mnuFile}
+mnuCloseWindow={class=menu_item, label=Close Window, parent=mnuFile}
+mnuQuit={class=menu_item, label=Quit, parent=mnuFile}
+mnuEdit={class=menu, label=Edit}
+mnuCopy={class=menu_item, label=Copy, parent=mnuEdit}
+mnuSelectAllText={class=menu_item, label=Select All Text, parent=mnuEdit}
+mnuDeleteMessage={class=menu_item, label=Delete Message, parent=mnuEdit}
+mnuUndeleteMessage={class=menu_item, label=Undelete Message, parent=mnuEdit}
+mnuFindinMessage={class=menu_item, label=Find in Message..., parent=mnuEdit}
+mnuSynchronizationOptions={class=menu_item, label=Synchronization Options..., parent=mnuEdit}
+mnuMessageFilters={class=menu_item, label=Message Filters, parent=mnuEdit}
+mnuSearchFolders={class=menu_item, label=Search Folders, parent=mnuEdit}
+mnuPlugins={class=menu_item, label=Plugins, parent=mnuEdit}
+mnuPreferences={class=menu_item, label=Preferences, parent=mnuEdit}
+mnuView={class=menu, label=View}
+mnuCurrentView={class=menu, label=Current View}
+mnuMessages={class=radio_menu_item, label=Messages, parent=mnuMessages}
+mnuAsSentFolder={class=radio_menu_item, label=As Sent Folder, parent=mnuAsSentFolder}
+mnuBySubject={class=radio_menu_item, label=By Subject, parent=mnuBySubject}
+mnuBySender={class=radio_menu_item, label=By Sender, parent=mnuBySender}
+mnuByStatus={class=radio_menu_item, label=By Status, parent=mnuByStatus}
+mnuByFollowUpFlag={class=radio_menu_item, label=By Follow Up Flag, parent=mnuByFollowUpFlag}
+mnuCustomView={class=radio_menu_item, label=Custom View, parent=mnuCustomView}
+mnuSaveCustomView={class=menu_item, label=Save Custom View..., parent=mnuSaveCustomView...}
+mnuDefineViews={class=menu_item, label=Define Views..., parent=mnuDefineViews...}
+mnuToolbar={class=check_menu_item, label=Toolbar, parent=mnuView}
+mnuMessagePreview={class=check_menu_item, label=Message Preview, parent=mnuView}
+mnuSwitcherAppearance={class=menu, label=Switcher Appearance}
+mnuIconsandtext={class=radio_menu_item, label=Icons and text, parent=mnuIconsandtext}
+mnuIconsonly={class=radio_menu_item, label=Icons only, parent=mnuIconsonly}
+mnuTextonly={class=radio_menu_item, label=Text only, parent=mnuTextonly}
+mnuToolbarstyle={class=radio_menu_item, label=Toolbar style, parent=mnuToolbarstyle}
+mnuHidebuttons={class=check_menu_item, label=Hide buttons, parent=mnuHidebuttons}
+mnuShowMessages={class=menu, label=Show Messages}
+mnuAll={class=radio_menu_item, label=All, parent=mnuAll}
+mnuUnreadMessages={class=radio_menu_item, label=Unread Messages, parent=mnuUnreadMessages}
+mnuGroupByThreads={class=check_menu_item, label=Group By Threads, parent=mnuView}
+mnuHideDeletedMessages={class=check_menu_item, label=Hide Deleted Messages, parent=mnuView}
+mnuLoadImages={class=menu_item, label=Load Images, parent=mnuView}
+mnuAllMessageHeaders={class=check_menu_item, label=All Message Headers, parent=mnuView}
+mnuCaretMode={class=check_menu_item, label=Caret Mode, parent=mnuView}
+mnuMessageSource={class=menu_item, label=Message Source, parent=mnuView}
+mnuZoomIn={class=menu_item, label=Zoom In, parent=mnuView}
+mnuZoomOut={class=menu_item, label=Zoom Out, parent=mnuView}
+mnuNormalSize={class=menu_item, label=Normal Size, parent=mnuView}
+mnuCharacterEncoding={class=menu, label=Character Encoding}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-13), parent=mnuBaltic}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-4), parent=mnuBaltic}
+mnuCentralEuropean={class=radio_menu_item, label=Central European (ISO-8859-2), parent=mnuCentralEuropean}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (Big5), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (BIG5HKSCS), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (EUC-TW), parent=mnuChinese,Traditional}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB18030), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB2312), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (HZ), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (ISO-2022-CN), parent=mnuChinese,Simplified}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (KOI8-R), parent=mnuCyrillic}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (Windows-1251), parent=mnuCyrillic}
+mnuCyrillic,Ukrainian={class=radio_menu_item, label=Cyrillic, Ukrainian (KOI8-U), parent=mnuCyrillic,Ukrainian}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (ISO-8859-5), parent=mnuCyrillic}
+mnuGreek={class=radio_menu_item, label=Greek (ISO-8859-7), parent=mnuGreek}
+mnuHebrew,Visual={class=radio_menu_item, label=Hebrew, Visual (ISO-8859-8), parent=mnuHebrew,Visual}
+mnuJapanese={class=radio_menu_item, label=Japanese (ISO-2022-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (EUC-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (Shift_JIS), parent=mnuJapanese}
+mnuKorean={class=radio_menu_item, label=Korean (EUC-KR), parent=mnuKorean}
+mnuTurkish={class=radio_menu_item, label=Turkish (ISO-8859-9), parent=mnuTurkish}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-8), parent=mnuUnicode}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-7), parent=mnuUnicode}
+mnuWesternEuropean={class=radio_menu_item, label=Western European (ISO-8859-1), parent=mnuWesternEuropean}
+mnuWesternEuropean,New={class=radio_menu_item, label=Western European, New (ISO-8859-15), parent=mnuWesternEuropean,New}
+mnuDefault={class=radio_menu_item, label=Default, parent=mnuDefault}
+mnuFolder={class=menu, label=Folder}
+mnuNew={class=menu_item, label=New..., parent=mnuFolder}
+mnuSubscriptions={class=menu_item, label=Subscriptions, parent=mnuFolder}
+mnuCopyFolderTo={class=menu_item, label=Copy Folder To..., parent=mnuFolder}
+mnuMoveFolderTo={class=menu_item, label=Move Folder To..., parent=mnuFolder}
+mnuSelectAllMessages={class=menu_item, label=Select All Messages, parent=mnuFolder}
+mnuMarkMessagesasRead={class=menu_item, label=Mark Messages as Read, parent=mnuFolder}
+mnuExpunge={class=menu_item, label=Expunge, parent=mnuFolder}
+mnuRename={class=menu_item, label=Rename..., parent=mnuFolder}
+mnuDelete={class=menu_item, label=Delete, parent=mnuFolder}
+mnuProperties={class=menu_item, label=Properties, parent=mnuFolder}
+mnuMessage={class=menu, label=Message}
+mnuComposeNewMessage={class=menu_item, label=Compose New Message, parent=mnuMessage}
+mnuOpeninNewWindow={class=menu_item, label=Open in New Window, parent=mnuMessage}
+mnuEditasNewMessage={class=menu_item, label=Edit as New Message..., parent=mnuMessage}
+mnuAddSendertoAddressBook={class=menu_item, label=Add Sender to Address Book, parent=mnuMessage}
+mnuGoTo={class=menu, label=Go To}
+mnuNextMessage={class=menu_item, label=Next Message, parent=mnuNextMessage}
+mnuNextUnreadMessage={class=menu_item, label=Next Unread Message, parent=mnuNextUnreadMessage}
+mnuNextImportantMessage={class=menu_item, label=Next Important Message, parent=mnuNextImportantMessage}
+mnuNextThread={class=menu_item, label=Next Thread, parent=mnuNextThread}
+mnuPreviousMessage={class=menu_item, label=Previous Message, parent=mnuPreviousMessage}
+mnuPreviousUnreadMessage={class=menu_item, label=Previous Unread Message, parent=mnuPreviousUnreadMessage}
+mnuPreviousImportantMessage={class=menu_item, label=Previous Important Message, parent=mnuPreviousImportantMessage}
+mnuReply={class=menu_item, label=Reply, parent=mnuMessage}
+mnuReplytoSender={class=menu_item, label=Reply to Sender, parent=mnuMessage}
+mnuReplytoList={class=menu_item, label=Reply to List, parent=mnuMessage}
+mnuForward={class=menu_item, label=Forward, parent=mnuMessage}
+mnuRedirect={class=menu_item, label=Redirect, parent=mnuMessage}
+mnuMovetoFolder={class=menu_item, label=Move to Folder, parent=mnuMessage}
+mnuCopytoFolder={class=menu_item, label=Copy to Folder, parent=mnuMessage}
+mnuMarkas={class=menu, label=Mark as}
+mnuRead={class=menu_item, label=Read, parent=mnuRead}
+mnuUnread={class=menu_item, label=Unread, parent=mnuUnread}
+mnuImportant={class=menu_item, label=Important, parent=mnuImportant}
+mnuUnimportant={class=menu_item, label=Unimportant, parent=mnuUnimportant}
+mnuJunk={class=menu_item, label=Junk, parent=mnuJunk}
+mnuNotJunk={class=menu_item, label=Not Junk, parent=mnuNotJunk}
+mnuFollowUp={class=menu_item, label=Follow Up..., parent=mnuFollowUp...}
+mnuApplyFilters={class=menu_item, label=Apply Filters, parent=mnuMessage}
+mnuCheckforJunk={class=menu_item, label=Check for Junk, parent=mnuMessage}
+mnuCreateRule={class=menu, label=Create Rule}
+mnuFilteronSubject={class=menu_item, label=Filter on Subject..., parent=mnuFilteronSubject...}
+mnuFilteronSender={class=menu_item, label=Filter on Sender..., parent=mnuFilteronSender...}
+mnuFilteronRecipients={class=menu_item, label=Filter on Recipients..., parent=mnuFilteronRecipients...}
+mnuFilteronMailingList={class=menu_item, label=Filter on Mailing List..., parent=mnuFilteronMailingList...}
+mnuVFolderonSubject={class=menu_item, label=VFolder on Subject..., parent=mnuVFolderonSubject...}
+mnuVFolderonSender={class=menu_item, label=VFolder on Sender..., parent=mnuVFolderonSender...}
+mnuVFolderonRecipients={class=menu_item, label=VFolder on Recipients..., parent=mnuVFolderonRecipients...}
+mnuVFolderonMailingList={class=menu_item, label=VFolder on Mailing List..., parent=mnuVFolderonMailingList...}
+mnuMailingList={class=menu, label=Mailing List}
+mnuGetlistusageinformation={class=menu_item, label=Get list usage information, parent=mnuGetlistusageinformation}
+mnuSubscribetolist={class=menu_item, label=Subscribe to list, parent=mnuSubscribetolist}
+mnuUn-subscribetolist={class=menu_item, label=Un-subscribe to list, parent=mnuUn-subscribetolist}
+mnuPostmessagetolist={class=menu_item, label=Post message to list, parent=mnuPostmessagetolist}
+mnuContactlistowner={class=menu_item, label=Contact list owner, parent=mnuContactlistowner}
+mnuGetlistarchive={class=menu_item, label=Get list archive, parent=mnuGetlistarchive}
+mnuTools={class=menu, label=Tools}
+mnuMail={class=menu_item, label=Mail, parent=mnuTools}
+mnuContacts={class=menu_item, label=Contacts, parent=mnuTools}
+mnuCalendars={class=menu_item, label=Calendars, parent=mnuTools}
+mnuTasks={class=menu_item, label=Tasks, parent=mnuTools}
+mnuSearch={class=menu, label=Search}
+mnuFindNow={class=menu_item, label=Find Now, parent=mnuSearch}
+mnuClear={class=menu_item, label=Clear, parent=mnuSearch}
+mnuAdvancedSearch={class=menu_item, label=Advanced Search..., parent=mnuSearch}
+mnuSaveSearch={class=menu_item, label=Save Search..., parent=mnuSearch}
+mnuEditSavedSearches={class=menu_item, label=Edit Saved Searches..., parent=mnuSearch}
+mnuCreatevFolderFromSearch={class=menu_item, label=Create vFolder From Search..., parent=mnuSearch}
+mnuHelp={class=menu, label=Help}
+mnuContents={class=menu_item, label=Contents, parent=mnuHelp}
+mnuQuickReference={class=menu_item, label=Quick Reference, parent=mnuHelp}
+mnuSubmitBugReport={class=menu_item, label=Submit Bug Report, parent=mnuHelp}
+mnuAboutEvolution={class=menu_item, label=About Evolution..., parent=mnuHelp}
+pnl3={class=panel, instance_index=3,parent=Evolution-Mail}
+pnl4={class=panel, instance_index=4,parent=Evolution-Mail}
+pnl5={class=panel, instance_index=5,parent=Evolution-Mail}
+btn0={class=push_button, instance_index=0,parent=Evolution-Mail}
+pnl6={class=panel, instance_index=6,parent=Evolution-Mail}
+pnl7={class=panel, instance_index=7,parent=Evolution-Mail}
+btnNew={class=push_button, label=New}
+pnl8={class=panel, instance_index=8,parent=Evolution-Mail}
+pnl9={class=panel, instance_index=9,parent=Evolution-Mail}
+btnSend/Receive={class=push_button, label=Send / Receive}
+pnl10={class=panel, instance_index=10,parent=Evolution-Mail}
+pnl11={class=panel, instance_index=11,parent=Evolution-Mail}
+pnl12={class=panel, instance_index=12,parent=Evolution-Mail}
+btnReply={class=push_button, label=Reply}
+pnl13={class=panel, instance_index=13,parent=Evolution-Mail}
+btnReplytoAll={class=push_button, label=Reply to All}
+pnl14={class=panel, instance_index=14,parent=Evolution-Mail}
+btnForward={class=push_button, label=Forward}
+pnl15={class=panel, instance_index=15,parent=Evolution-Mail}
+pnl16={class=panel, instance_index=16,parent=Evolution-Mail}
+btnMove={class=push_button, label=Move}
+pnl17={class=panel, instance_index=17,parent=Evolution-Mail}
+btnCopy={class=push_button, label=Copy}
+pnl18={class=panel, instance_index=18,parent=Evolution-Mail}
+pnl19={class=panel, instance_index=19,parent=Evolution-Mail}
+btnPrint={class=push_button, label=Print}
+pnl20={class=panel, instance_index=20,parent=Evolution-Mail}
+btnDelete={class=push_button, label=Delete}
+pnl21={class=panel, instance_index=21,parent=Evolution-Mail}
+btnJunk={class=push_button, label=Junk}
+pnl22={class=panel, instance_index=22,parent=Evolution-Mail}
+btnNotJunk={class=push_button, label=Not Junk}
+pnl23={class=panel, instance_index=23,parent=Evolution-Mail}
+btnCancel={class=push_button, label=Cancel}
+pnl24={class=panel, instance_index=24,parent=Evolution-Mail}
+pnl25={class=panel, instance_index=25,parent=Evolution-Mail}
+pnl26={class=panel, instance_index=26,parent=Evolution-Mail}
+btnPrevious={class=push_button, label=Previous}
+pnl27={class=panel, instance_index=27,parent=Evolution-Mail}
+btnNext={class=push_button, label=Next}
+pnl28={class=panel, instance_index=28,parent=Evolution-Mail}
+pnl29={class=panel, instance_index=29,parent=Evolution-Mail}
+ptl0={class=page_tab_list, instance_index=0}
+ptb0={class=page_tab, instance_index=0}
+pnl30={class=panel, instance_index=30,parent=Evolution-Mail}
+pnl31={class=panel, instance_index=31,parent=Evolution-Mail}
+lbl82total={class=label, label=82 total}
+ttblMailFolderTree={class=tree_table, label=Mail Folder Tree}
+tbtnMail={class=toggle_button, label=Mail}
+tbtnContacts={class=toggle_button, label=Contacts}
+tbtnCalendars={class=toggle_button, label=Calendars}
+tbtnTasks={class=toggle_button, label=Tasks}
+ptl1={class=page_tab_list, instance_index=1}
+ptb1={class=page_tab, instance_index=1}
+pnl32={class=panel, instance_index=32,parent=Evolution-Mail}
+pnl33={class=panel, instance_index=33,parent=Evolution-Mail}
+cboSearchType={class=combo_box, label=Search Type}
+mnuSubjectorSendercontains={class=menu_item, label=Subject or Sender contains, parent=mnuSubjectorSendercontains}
+mnuRecipientscontain={class=menu_item, label=Recipients contain, parent=mnuRecipientscontain}
+mnuMessagecontains={class=menu_item, label=Message contains, parent=mnuMessagecontains}
+mnuSubjectcontains={class=menu_item, label=Subject contains, parent=mnuSubjectcontains}
+mnuSendercontains={class=menu_item, label=Sender contains, parent=mnuSendercontains}
+mnuBodycontains={class=menu_item, label=Body contains, parent=mnuBodycontains}
+mnuSubjectorSendercontains={class=menu_item, label=Subject or Sender contains, parent=mnuSubjectorSendercontains}
+mnuAdvancedSearch={class=menu_item, label=Advanced Search..., parent=mnuAdvancedSearch...}
+txtSearchTextEntry={class=text, label=Search Text Entry}
+pnl34={class=panel, instance_index=34,parent=Evolution-Mail}
+btnFindNow={class=push_button, label=Find Now}
+pnl35={class=panel, instance_index=35,parent=Evolution-Mail}
+btnClear={class=push_button, label=Clear}
+ttblMessageList={class=tree_table, label=Message List}
+pnlPanelcontainingHTML={class=panel, label=Panel containing HTML}
+btn17={class=push_button, instance_index=17,parent=Evolution-Mail}
+lblComposeanewmailmessage={class=label, label=Compose a new mail message}
+ptl2={class=page_tab_list, instance_index=2}
+ptb2={class=page_tab, instance_index=2}
+pnl37={class=panel, instance_index=37,parent=Evolution-Mail}
+pnl38={class=panel, instance_index=38,parent=Evolution-Mail}
+
+[Composeamessage]
+Composeamessage={class=frame, app_name=evolution, label=Compose a message}
+pnl0={class=panel, instance_index=0,parent=Composeamessage}
+pnl1={class=panel, instance_index=1,parent=Composeamessage}
+pnl2={class=panel, instance_index=2,parent=Composeamessage}
+mnuFile={class=menu, label=File}
+mnuOpen={class=menu_item, label=Open..., parent=mnuFile}
+mnuSend={class=menu_item, label=Send, parent=mnuFile}
+mnuSave={class=menu_item, label=Save, parent=mnuFile}
+mnuSaveAs={class=menu_item, label=Save As..., parent=mnuFile}
+mnuSaveDraft={class=menu_item, label=Save Draft, parent=mnuFile}
+mnuPrintPreview={class=menu_item, label=Print Preview, parent=mnuFile}
+mnuPrint={class=menu_item, label=Print..., parent=mnuFile}
+mnuClose={class=menu_item, label=Close, parent=mnuFile}
+mnuEdit={class=menu, label=Edit}
+mnuUndo={class=menu_item, label=Undo, parent=mnuEdit}
+mnuRedo={class=menu_item, label=Redo, parent=mnuEdit}
+mnuCut={class=menu_item, label=Cut, parent=mnuEdit}
+mnuCopy={class=menu_item, label=Copy, parent=mnuEdit}
+mnuPaste={class=menu_item, label=Paste, parent=mnuEdit}
+mnuPasteQuotation={class=menu_item, label=Paste Quotation, parent=mnuEdit}
+mnuSelectAll={class=menu_item, label=Select All, parent=mnuEdit}
+mnuFind={class=menu_item, label=Find..., parent=mnuEdit}
+mnuFindAgain={class=menu_item, label=Find Again, parent=mnuEdit}
+mnuReplace={class=menu_item, label=Replace..., parent=mnuEdit}
+mnuCharacterEncoding={class=menu, label=Character Encoding}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-13), parent=mnuBaltic}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-4), parent=mnuBaltic}
+mnuCentralEuropean={class=radio_menu_item, label=Central European (ISO-8859-2), parent=mnuCentralEuropean}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (Big5), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (BIG5HKSCS), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (EUC-TW), parent=mnuChinese,Traditional}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB18030), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB2312), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (HZ), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (ISO-2022-CN), parent=mnuChinese,Simplified}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (KOI8-R), parent=mnuCyrillic}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (Windows-1251), parent=mnuCyrillic}
+mnuCyrillic,Ukrainian={class=radio_menu_item, label=Cyrillic, Ukrainian (KOI8-U), parent=mnuCyrillic,Ukrainian}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (ISO-8859-5), parent=mnuCyrillic}
+mnuGreek={class=radio_menu_item, label=Greek (ISO-8859-7), parent=mnuGreek}
+mnuHebrew,Visual={class=radio_menu_item, label=Hebrew, Visual (ISO-8859-8), parent=mnuHebrew,Visual}
+mnuJapanese={class=radio_menu_item, label=Japanese (ISO-2022-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (EUC-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (Shift_JIS), parent=mnuJapanese}
+mnuKorean={class=radio_menu_item, label=Korean (EUC-KR), parent=mnuKorean}
+mnuTurkish={class=radio_menu_item, label=Turkish (ISO-8859-9), parent=mnuTurkish}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-8), parent=mnuUnicode}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-7), parent=mnuUnicode}
+mnuWesternEuropean={class=radio_menu_item, label=Western European (ISO-8859-1), parent=mnuWesternEuropean}
+mnuWesternEuropean,New={class=radio_menu_item, label=Western European, New (ISO-8859-15), parent=mnuWesternEuropean,New}
+mnuSpellCheckDocument={class=menu_item, label=Spell Check Document..., parent=mnuEdit}
+mnuCurrentLanguages={class=menu, label=Current Languages}
+mnuEnglish={class=check_menu_item, label=English (American), parent=mnuEnglish}
+mnuEnglish={class=check_menu_item, label=English (British), parent=mnuEnglish}
+mnuEnglish={class=check_menu_item, label=English (Canadian), parent=mnuEnglish}
+mnuFormat={class=menu, label=Format}
+mnuHTML={class=check_menu_item, label=HTML, parent=mnuFormat}
+mnuStyle={class=menu, label=Style}
+mnuPlaintext={class=menu_item, label=Plain text, parent=mnuStyle}
+mnuBold={class=menu_item, label=Bold, parent=mnuStyle}
+mnuItalic={class=menu_item, label=Italic, parent=mnuStyle}
+mnuUnderline={class=menu_item, label=Underline, parent=mnuStyle}
+mnuStrikeout={class=menu_item, label=Strikeout, parent=mnuStyle}
+mnuFontSize={class=menu, label=Font Size}
+mnu-2={class=menu_item, label=-2, parent=mnu-2}
+mnu-1={class=menu_item, label=-1, parent=mnu-1}
+mnu+0={class=menu_item, label=+0, parent=mnu+0}
+mnu+1={class=menu_item, label=+1, parent=mnu+1}
+mnu+2={class=menu_item, label=+2, parent=mnu+2}
+mnu+3={class=menu_item, label=+3, parent=mnu+3}
+mnuText={class=menu_item, label=Text..., parent=mnuFormat}
+mnuHeading={class=menu, label=Heading, parent=mnuFormat}
+mnuNormal={class=menu_item, label=Normal, parent=mnuHeading}
+mnuHeader1={class=menu_item, label=Header 1, parent=mnuHeading}
+mnuHeader2={class=menu_item, label=Header 2, parent=mnuHeading}
+mnuHeader3={class=menu_item, label=Header 3, parent=mnuHeading}
+mnuHeader4={class=menu_item, label=Header 4, parent=mnuHeading}
+mnuHeader5={class=menu_item, label=Header 5, parent=mnuHeading}
+mnuHeader6={class=menu_item, label=Header 6, parent=mnuHeading}
+mnuBulletedList={class=menu_item, label=Bulleted List, parent=mnuHeading}
+mnuRomanNumeralList={class=menu_item, label=Roman Numeral List, parent=mnuHeading}
+mnuNumberedList={class=menu_item, label=Numbered List, parent=mnuHeading}
+mnuAlphabeticalList={class=menu_item, label=Alphabetical List, parent=mnuHeading}
+mnuAddress={class=menu_item, label=Address, parent=mnuHeading}
+mnuPreformat={class=menu_item, label=Preformat, parent=mnuHeading}
+mnuAlignment={class=menu, label=Alignment}
+mnuLeft={class=menu_item, label=Left, parent=mnuAlignment}
+mnuCenter={class=menu_item, label=Center, parent=mnuAlignment}
+mnuRight={class=menu_item, label=Right, parent=mnuAlignment}
+mnuParagraph={class=menu_item, label=Paragraph..., parent=mnuFormat}
+mnuIncreaseIndent={class=menu_item, label=Increase Indent, parent=mnuFormat}
+mnuDecreaseIndent={class=menu_item, label=Decrease Indent, parent=mnuFormat}
+mnuWrapLines={class=menu_item, label=Wrap Lines, parent=mnuFormat}
+mnuPage={class=menu_item, label=Page..., parent=mnuFormat}
+mnuView={class=menu, label=View}
+mnuFromField={class=check_menu_item, label=From Field, parent=mnuView}
+mnuToField={class=check_menu_item, label=To Field, parent=mnuView}
+mnuPost-ToField={class=check_menu_item, label=Post-To Field, parent=mnuView}
+mnuReply-ToField={class=check_menu_item, label=Reply-To Field, parent=mnuView}
+mnuCcField={class=check_menu_item, label=Cc Field, parent=mnuView}
+mnuBccField={class=check_menu_item, label=Bcc Field, parent=mnuView}
+mnuInsert={class=menu, label=Insert}
+mnuAttachment={class=menu_item, label=Attachment..., parent=mnuInsert}
+mnuSendOptions={class=menu_item, label=Send Options, parent=mnuInsert}
+mnuImage={class=menu_item, label=Image..., parent=mnuInsert}
+mnuLink={class=menu_item, label=Link..., parent=mnuInsert}
+mnuRule={class=menu_item, label=Rule..., parent=mnuInsert}
+mnuTable={class=menu_item, label=Table..., parent=mnuInsert}
+mnuTextfile={class=menu_item, label=Text file..., parent=mnuInsert}
+mnuHTMLfile={class=menu_item, label=HTML file..., parent=mnuInsert}
+mnuSmiley={class=menu, label=Smiley}
+mnuSmile={class=menu_item, label=Smile, parent=mnuSmiley}
+mnuWink={class=menu_item, label=Wink, parent=mnuSmiley}
+mnuSurprised={class=menu_item, label=Surprised, parent=mnuSmiley}
+mnuLaughing={class=menu_item, label=Laughing, parent=mnuSmiley}
+mnuOhno!={class=menu_item, label=Oh no!, parent=mnuSmiley}
+mnuFrown={class=menu_item, label=Frown, parent=mnuSmiley}
+mnuIndifferent={class=menu_item, label=Indifferent, parent=mnuSmiley}
+mnuUndecided={class=menu_item, label=Undecided, parent=mnuSmiley}
+mnuLick={class=menu_item, label=Lick, parent=mnuSmiley}
+mnuCrying={class=menu_item, label=Crying, parent=mnuSmiley}
+mnuSick={class=menu_item, label=Sick, parent=mnuSmiley}
+mnuRequestreadreceipt={class=check_menu_item, label=Request read receipt, parent=mnuInsert}
+mnuSecurity={class=menu, label=Security}
+mnuPGPSign={class=check_menu_item, label=PGP Sign, parent=mnuSecurity}
+mnuPGPEncrypt={class=check_menu_item, label=PGP Encrypt, parent=mnuSecurity}
+mnuS/MIMESign={class=check_menu_item, label=S/MIME Sign, parent=mnuSecurity}
+mnuS/MIMEEncrypt={class=check_menu_item, label=S/MIME Encrypt, parent=mnuSecurity}
+pnl3={class=panel, instance_index=3,parent=Composeamessage}
+pnl4={class=panel, instance_index=4,parent=Composeamessage}
+pnl5={class=panel, instance_index=5,parent=Composeamessage}
+btnSend={class=push_button, label=Send}
+pnl6={class=panel, instance_index=6,parent=Composeamessage}
+btnAttach={class=push_button, label=Attach}
+pnl7={class=panel, instance_index=7,parent=Composeamessage}
+pnl8={class=panel, instance_index=8,parent=Composeamessage}
+btnUndo={class=push_button, label=Undo}
+pnl9={class=panel, instance_index=9,parent=Composeamessage}
+btnRedo={class=push_button, label=Redo}
+pnl10={class=panel, instance_index=10,parent=Composeamessage}
+pnl11={class=panel, instance_index=11,parent=Composeamessage}
+btnCut={class=push_button, label=Cut}
+pnl12={class=panel, instance_index=12,parent=Composeamessage}
+btnCopy={class=push_button, label=Copy}
+pnl13={class=panel, instance_index=13,parent=Composeamessage}
+btnPaste={class=push_button, label=Paste}
+pnl14={class=panel, instance_index=14,parent=Composeamessage}
+pnl15={class=panel, instance_index=15,parent=Composeamessage}
+btnFind={class=push_button, label=Find}
+pnl16={class=panel, instance_index=16,parent=Composeamessage}
+btnReplace={class=push_button, label=Replace}
+pnl17={class=panel, instance_index=17,parent=Composeamessage}
+pnl18={class=panel, instance_index=18,parent=Composeamessage}
+btnImage={class=push_button, label=Image}
+pnl19={class=panel, instance_index=19,parent=Composeamessage}
+btnLink={class=push_button, label=Link}
+pnl20={class=panel, instance_index=20,parent=Composeamessage}
+btnRule={class=push_button, label=Rule}
+pnl21={class=panel, instance_index=21,parent=Composeamessage}
+btnTable={class=push_button, label=Table}
+pnl22={class=panel, instance_index=22,parent=Composeamessage}
+txtSubject={class=text, label_by=Subject:}
+lblSubject={class=label, label=Subject:}
+txtPostTo={class=text, label=Post To:}
+btnPostTo={class=push_button, label=Post To:}
+txtBcc={class=text, label=Bcc:}
+btnBcc={class=push_button, label=Bcc:}
+txtCc={class=text, label=Cc:}
+btnCc={class=push_button, label=Cc:}
+txtTo={class=text, label=To:}
+btnTo={class=push_button, label=To:}
+txt5={class=text, instance_index=5,parent=Composeamessage}
+lblReply-To={class=label, label=Reply-To:}
+cbopremkumar<jpremkumar@novell.com>={class=combo_box, label=premkumar <jpremkumar@novell.com>}
+mnupremkumar<jpremkumar@novell={class=menu_item, label=premkumar <jpremkumar@novell.com>, parent=mnupremkumar<jpremkumar@novell.com>}
+lblSignature={class=label, label=Signature:}
+cboNone={class=combo_box, label=None}
+mnuNone={class=menu_item, label=None, parent=mnuNone}
+mnuAutogenerated={class=menu_item, label=Autogenerated, parent=mnuNone}
+lblFrom={class=label, label=From:}
+pnl23={class=panel, instance_index=23,parent=Composeamessage}
+pnl24={class=panel, instance_index=24,parent=Composeamessage}
+cbo+0={class=combo_box, label=+0}
+mnu-2={class=menu_item, label=-2, parent=mnu+0}
+mnu-1={class=menu_item, label=-1, parent=mnu+0}
+mnu+0={class=menu_item, label=+0, parent=mnu+0}
+mnu+1={class=menu_item, label=+1, parent=mnu+0}
+mnu+2={class=menu_item, label=+2, parent=mnu+0}
+mnu+3={class=menu_item, label=+3, parent=mnu+0}
+mnu+4={class=menu_item, label=+4, parent=mnu+0}
+cboNormal={class=combo_box, label=Normal}
+mnuNormal={class=menu_item, label=Normal, parent=mnuNormal}
+mnuPreformat={class=menu_item, label=Preformat, parent=mnuNormal}
+mnuBulletedList={class=menu_item, label=Bulleted List, parent=mnuNormal}
+mnuNumberedList={class=menu_item, label=Numbered List, parent=mnuNormal}
+mnuRomanList={class=menu_item, label=Roman List, parent=mnuNormal}
+mnuAlphabeticalList={class=menu_item, label=Alphabetical List, parent=mnuNormal}
+mnuHeader1={class=menu_item, label=Header 1, parent=mnuNormal}
+mnuHeader2={class=menu_item, label=Header 2, parent=mnuNormal}
+mnuHeader3={class=menu_item, label=Header 3, parent=mnuNormal}
+mnuHeader4={class=menu_item, label=Header 4, parent=mnuNormal}
+mnuHeader5={class=menu_item, label=Header 5, parent=mnuNormal}
+mnuHeader6={class=menu_item, label=Header 6, parent=mnuNormal}
+mnuAddress={class=menu_item, label=Address, parent=mnuNormal}
+tbtnTypewriter={class=toggle_button, label=Typewriter}
+tbtnBold={class=toggle_button, label=Bold}
+tbtnItalic={class=toggle_button, label=Italic}
+tbtnUnderline={class=toggle_button, label=Underline}
+tbtnStrikeout={class=toggle_button, label=Strikeout}
+rdoLeftalign={class=radio_button, label=Left align}
+rdoCenter={class=radio_button, label=Center}
+rdoRightalign={class=radio_button, label=Right align}
+btnUnindent={class=push_button, label=Unindent}
+btnIndent={class=push_button, label=Indent}
+btncolorpreview={class=push_button, label=color preview}
+tbtnPopup={class=toggle_button, label=Popup}
+pnlPanelcontainingHTML={class=panel, label=Panel containing HTML,parent=Composeamessage}
+pnl26={class=panel, instance_index=26,parent=pnlPanelcontainingHTML}
+txt6={class=text, instance_index=6}
+lblAttachmentBar={class=label, label=Attachment Bar}
+lbl5={class=label, instance_index=5,parent=Composeamessage}
+paneAttachmentBar={class=layered_pane, label=Attachment Bar}
+
+[dlgSelectfolder]
+dlgSelectfolder={class=dialog, label=Select folder, app_name=evolution}
+ttblMailFolderTree={class=tree_table, label=Mail Folder Tree}
+btnCopy={class=push_button, label=Copy}
+btnMove={class=push_button, label=Move}
+btnCancel={class=push_button, label=Cancel}
+btnNew={class=push_button, label=New}
+
+[dlgAttachfile]
+dlgAttachfile={class=dialog, label=Attach file(s), app_name=evolution}
+pnl0={class=panel, instance_index=0,parent=dlgAttachfile}
+cboHome={class=combo_box, label=Home}
+lbl0={class=label, instance_index=0,parent=dlgAttachfile}
+txt0={class=text, instance_index=0,parent=dlgAttachfile}
+lblName={class=label, label=Name:}
+pnl1={class=panel, instance_index=1,parent=dlgAttachfile}
+tbtnBrowseforotherfolders={class=toggle_button, label=Browse for other folde\rs}
+tblShortcuts={class=table, label=Shortcuts}
+btnAdd={class=push_button, label=Add}
+btnRemove={class=push_button, label=Remove}
+pnl2={class=panel, instance_index=2,parent=dlgAttachfile}
+tbtnHome={class=toggle_button, label=Home}
+btn2={class=push_button, instance_index=2,parent=dlgAttachfile}
+btn3={class=push_button, instance_index=3,parent=dlgAttachfile}
+btnCreateFolder={class=push_button, label=Create Folder}
+tblFiles={class=table, label=Files}
+cbo1={class=combo_box, instance_index=1,parent=dlgAttachfile}
+pnl3={class=panel, instance_index=3,parent=dlgAttachfile}
+chkSuggestautomaticdisplayofattachment={class=check_box, label=Suggest autom\atic display of attachment}
+btnAttach={class=push_button, label=Attach}
+btnCancel={class=push_button, label=Cancel}
+
+
+[Readonlyframe]
+Readonlyframe={class=frame, app_name=evolution, label=Readonlyframe}
+pnl0={class=panel, instance_index=0,parent=Readonlyframe}
+pnl1={class=panel, instance_index=1,parent=Readonlyframe}
+pnl2={class=panel, instance_index=2,parent=Readonlyframe}
+mnuFile={class=menu, label=File}
+mnuSaveMessage={class=menu_item, label=Save Message..., parent=mnuFile}
+mnuPrintPreview={class=menu_item, label=Print Preview, parent=mnuFile}
+mnuPrint={class=menu_item, label=Print..., parent=mnuFile}
+mnuClose={class=menu_item, label=Close, parent=mnuFile}
+mnuEdit={class=menu, label=Edit}
+mnuCopy={class=menu_item, label=Copy, parent=mnuEdit}
+mnuSelectAllText={class=menu_item, label=Select All Text, parent=mnuEdit}
+mnuDeleteMessage={class=menu_item, label=Delete Message, parent=mnuEdit}
+mnuUndeleteMessage={class=menu_item, label=Undelete Message, parent=mnuEdit}
+mnuFindinMessage={class=menu_item, label=Find in Message..., parent=mnuEdit}
+mnuView={class=menu, label=View}
+mnuLoadImages={class=menu_item, label=Load Images, parent=mnuView}
+mnuAllMessageHeaders={class=check_menu_item, label=All Message Headers, parent=mnuView}
+mnuCaretMode={class=check_menu_item, label=Caret Mode, parent=mnuView}
+mnuMessageSource={class=menu_item, label=Message Source, parent=mnuView}
+mnuZoomIn={class=menu_item, label=Zoom In, parent=mnuView}
+mnuZoomOut={class=menu_item, label=Zoom Out, parent=mnuView}
+mnuNormalSize={class=menu_item, label=Normal Size, parent=mnuView}
+mnuCharacterEncoding={class=menu, label=Character Encoding}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-13), parent=mnuBaltic}
+mnuBaltic={class=radio_menu_item, label=Baltic (ISO-8859-4), parent=mnuBaltic}
+mnuCentralEuropean={class=radio_menu_item, label=Central European (ISO-8859-2), parent=mnuCentralEuropean}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (Big5), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (BIG5HKSCS), parent=mnuChinese,Traditional}
+mnuChinese,Traditional={class=radio_menu_item, label=Chinese, Traditional (EUC-TW), parent=mnuChinese,Traditional}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB18030), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (GB2312), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (HZ), parent=mnuChinese,Simplified}
+mnuChinese,Simplified={class=radio_menu_item, label=Chinese, Simplified (ISO-2022-CN), parent=mnuChinese,Simplified}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (KOI8-R), parent=mnuCyrillic}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (Windows-1251), parent=mnuCyrillic}
+mnuCyrillic,Ukrainian={class=radio_menu_item, label=Cyrillic, Ukrainian (KOI8-U), parent=mnuCyrillic,Ukrainian}
+mnuCyrillic={class=radio_menu_item, label=Cyrillic (ISO-8859-5), parent=mnuCyrillic}
+mnuGreek={class=radio_menu_item, label=Greek (ISO-8859-7), parent=mnuGreek}
+mnuHebrew,Visual={class=radio_menu_item, label=Hebrew, Visual (ISO-8859-8), parent=mnuHebrew,Visual}
+mnuJapanese={class=radio_menu_item, label=Japanese (ISO-2022-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (EUC-JP), parent=mnuJapanese}
+mnuJapanese={class=radio_menu_item, label=Japanese (Shift_JIS), parent=mnuJapanese}
+mnuKorean={class=radio_menu_item, label=Korean (EUC-KR), parent=mnuKorean}
+mnuTurkish={class=radio_menu_item, label=Turkish (ISO-8859-9), parent=mnuTurkish}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-8), parent=mnuUnicode}
+mnuUnicode={class=radio_menu_item, label=Unicode (UTF-7), parent=mnuUnicode}
+mnuWesternEuropean={class=radio_menu_item, label=Western European (ISO-8859-1), parent=mnuWesternEuropean}
+mnuWesternEuropean,New={class=radio_menu_item, label=Western European, New (ISO-8859-15), parent=mnuWesternEuropean,New}
+mnuDefault={class=radio_menu_item, label=Default, parent=mnuDefault}
+mnuMessage={class=menu, label=Message}
+mnuComposeNewMessage={class=menu_item, label=Compose New Message, parent=mnuMessage}
+mnuOpeninNewWindow={class=menu_item, label=Open in New Window, parent=mnuMessage}
+mnuEditasNewMessage={class=menu_item, label=Edit as New Message..., parent=mnuMessage}
+mnuAddSendertoAddressBook={class=menu_item, label=Add Sender to Address Book, parent=mnuMessage}
+mnuGoTo={class=menu, label=Go To}
+mnuNextMessage={class=menu_item, label=Next Message, parent=mnuNextMessage}
+mnuNextUnreadMessage={class=menu_item, label=Next Unread Message, parent=mnuNextUnreadMessage}
+mnuNextImportantMessage={class=menu_item, label=Next Important Message, parent=mnuNextImportantMessage}
+mnuNextThread={class=menu_item, label=Next Thread, parent=mnuNextThread}
+mnuPreviousMessage={class=menu_item, label=Previous Message, parent=mnuPreviousMessage}
+mnuPreviousUnreadMessage={class=menu_item, label=Previous Unread Message, parent=mnuPreviousUnreadMessage}
+mnuPreviousImportantMessage={class=menu_item, label=Previous Important Message, parent=mnuPreviousImportantMessage}
+mnuReply={class=menu_item, label=Reply, parent=mnuMessage}
+mnuReplytoSender={class=menu_item, label=Reply to Sender, parent=mnuMessage}
+mnuReplytoList={class=menu_item, label=Reply to List, parent=mnuMessage}
+mnuForward={class=menu_item, label=Forward, parent=mnuMessage}
+mnuRedirect={class=menu_item, label=Redirect, parent=mnuMessage}
+mnuMovetoFolder={class=menu_item, label=Move to Folder, parent=mnuMessage}
+mnuCopytoFolder={class=menu_item, label=Copy to Folder, parent=mnuMessage}
+mnuMarkas={class=menu, label=Mark as}
+mnuRead={class=menu_item, label=Read, parent=mnuRead}
+mnuUnread={class=menu_item, label=Unread, parent=mnuUnread}
+mnuImportant={class=menu_item, label=Important, parent=mnuImportant}
+mnuUnimportant={class=menu_item, label=Unimportant, parent=mnuUnimportant}
+mnuJunk={class=menu_item, label=Junk, parent=mnuJunk}
+mnuNotJunk={class=menu_item, label=Not Junk, parent=mnuNotJunk}
+mnuFollowUp={class=menu_item, label=Follow Up..., parent=mnuFollowUp...}
+mnuApplyFilters={class=menu_item, label=Apply Filters, parent=mnuMessage}
+mnuCheckforJunk={class=menu_item, label=Check for Junk, parent=mnuMessage}
+mnuCreateRule={class=menu, label=Create Rule}
+mnuFilteronSubject={class=menu_item, label=Filter on Subject..., parent=mnuFilteronSubject...}
+mnuFilteronSender={class=menu_item, label=Filter on Sender..., parent=mnuFilteronSender...}
+mnuFilteronRecipients={class=menu_item, label=Filter on Recipients..., parent=mnuFilteronRecipients...}
+mnuFilteronMailingList={class=menu_item, label=Filter on Mailing List..., parent=mnuFilteronMailingList...}
+mnuVFolderonSubject={class=menu_item, label=VFolder on Subject..., parent=mnuVFolderonSubject...}
+mnuVFolderonSender={class=menu_item, label=VFolder on Sender..., parent=mnuVFolderonSender...}
+mnuVFolderonRecipients={class=menu_item, label=VFolder on Recipients..., parent=mnuVFolderonRecipients...}
+mnuVFolderonMailingList={class=menu_item, label=VFolder on Mailing List..., parent=mnuVFolderonMailingList...}
+mnuMailingList={class=menu, label=Mailing List}
+mnuGetlistusageinformation={class=menu_item, label=Get list usage information, parent=mnuGetlistusageinformation}
+mnuSubscribetolist={class=menu_item, label=Subscribe to list, parent=mnuSubscribetolist}
+mnuUn-subscribetolist={class=menu_item, label=Un-subscribe to list, parent=mnuUn-subscribetolist}
+mnuPostmessagetolist={class=menu_item, label=Post message to list, parent=mnuPostmessagetolist}
+mnuContactlistowner={class=menu_item, label=Contact list owner, parent=mnuContactlistowner}
+mnuGetlistarchive={class=menu_item, label=Get list archive, parent=mnuGetlistarchive}
+pnl3={class=panel, instance_index=3,parent=Readonlyframe}
+pnl4={class=panel, instance_index=4,parent=Readonlyframe}
+pnl5={class=panel, instance_index=5,parent=Readonlyframe}
+pnl6={class=panel, instance_index=6,parent=Readonlyframe}
+btnReply={class=push_button, label=Reply}
+pnl7={class=panel, instance_index=7,parent=Readonlyframe}
+btnReplytoAll={class=push_button, label=Reply to All}
+pnl8={class=panel, instance_index=8,parent=Readonlyframe}
+btnForward={class=push_button, label=Forward}
+pnl9={class=panel, instance_index=9,parent=Readonlyframe}
+pnl10={class=panel, instance_index=10,parent=Readonlyframe}
+btnMove={class=push_button, label=Move}
+pnl11={class=panel, instance_index=11,parent=Readonlyframe}
+btnCopy={class=push_button, label=Copy}
+pnl12={class=panel, instance_index=12,parent=Readonlyframe}
+pnl13={class=panel, instance_index=13,parent=Readonlyframe}
+btnPrint={class=push_button, label=Print}
+pnl14={class=panel, instance_index=14,parent=Readonlyframe}
+btnDelete={class=push_button, label=Delete}
+pnl15={class=panel, instance_index=15,parent=Readonlyframe}
+btnJunk={class=push_button, label=Junk}
+pnl16={class=panel, instance_index=16,parent=Readonlyframe}
+btnNotJunk={class=push_button, label=Not Junk}
+pnl17={class=panel, instance_index=17,parent=Readonlyframe}
+pnl18={class=panel, instance_index=18,parent=Readonlyframe}
+pnl19={class=panel, instance_index=19,parent=Readonlyframe}
+btnPrevious={class=push_button, label=Previous}
+pnl20={class=panel, instance_index=20,parent=Readonlyframe}
+btnNext={class=push_button, label=Next}
+pnlPanelcontainingHTML={class=panel, label=Panel containing HTML}
+pnl22={class=panel, instance_index=22,parent=pnlPanelcontainingHTML}
+tbl0={class=table, instance_index=0,parent=pnlPanelcontainingHTML}
+pnl23={class=panel, instance_index=23,parent=pnlPanelcontainingHTML}
+tbl1={class=table, instance_index=1,parent=pnlPanelcontainingHTML}
+pnl24={class=panel, instance_index=24,parent=pnlPanelcontainingHTML}
+txt0={class=text, instance_index=0,parent=pnlPanelcontainingHTML}
+pnl25={class=panel, instance_index=25,parent=pnlPanelcontainingHTML}
+txt1={class=text, instance_index=1,parent=pnlPanelcontainingHTML}
+pnl26={class=panel, instance_index=26,parent=pnlPanelcontainingHTML}
+txt2={class=text, instance_index=2,parent=pnlPanelcontainingHTML}
+pnl27={class=panel, instance_index=27,parent=pnlPanelcontainingHTML}
+txt3={class=text, instance_index=3,parent=pnlPanelcontainingHTML}
+pnl28={class=panel, instance_index=28,parent=pnlPanelcontainingHTML}
+txt4={class=text, instance_index=4,parent=pnlPanelcontainingHTML}
+pnl29={class=panel, instance_index=29,parent=pnlPanelcontainingHTML}
+txt5={class=text, instance_index=5,parent=pnlPanelcontainingHTML}
+pnl30={class=panel, instance_index=30,parent=pnlPanelcontainingHTML}
+txt6={class=text, instance_index=6,parent=pnlPanelcontainingHTML}
+pnl31={class=panel, instance_index=31,parent=pnlPanelcontainingHTML}
+txt7={class=text, instance_index=7,parent=pnlPanelcontainingHTML}
+pnl32={class=panel, instance_index=32,parent=pnlPanelcontainingHTML}
+tbl2={class=table, instance_index=2,parent=pnlPanelcontainingHTML}
+pnl33={class=panel, instance_index=33,parent=pnlPanelcontainingHTML}
+pnlPanelcontainingHTML={class=panel, label=Panel containing HTML}
+pnl35={class=panel, instance_index=35,parent=pnlPanelcontainingHTML}
+txt8={class=text, instance_index=8,parent=pnlPanelcontainingHTML}
diff --git a/evolution/evolution.py b/evolution/evolution.py
new file mode 100644
index 0000000..2e5319d
--- /dev/null
+++ b/evolution/evolution.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+
+from ldtp import *
+import string, sys, os
+
+appmap_path = ''
+
+if len (sys.argv) == 1:
+ if os.access ('./evolution-2.2.map', os.F_OK | os.R_OK) == 0:
+ print 'Appmap path missing'
+ sys.exit(0);
+ else:
+ appmap_path = '.'
+else:
+ appmap_path = sys.argv[1]
+
+initappmap (appmap_path + '/evolution-2.2.map')
+
+#launchapp ('evolution-2.2')
+
+setcontext ('Compose a message', 'test mail')
+settextvalue ('Composeamessage', 'txtTo', 'nagappan@ldg.net')
+settextvalue ('Composeamessage', 'txtSubject', '')
+releasecontext ()
+settextvalue ('Composeamessage', 'txtCc', 'nagappan@ldg.net')
diff --git a/evolution/evoutils/__init__.py b/evolution/evoutils/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/evolution/evoutils/__init__.py
diff --git a/evolution/evoutils/mail.py b/evolution/evoutils/mail.py
new file mode 100644
index 0000000..d27a15c
--- /dev/null
+++ b/evolution/evoutils/mail.py
@@ -0,0 +1,113 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+from ldtp import *
+from ldtputils import *
+
+#To set and verify a textbox
+def setandverify (win_name, box_name, value):
+ try:
+ settextvalue (win_name, box_name, value)
+ if verifysettext (win_name, box_name, value) == 0:
+ return 0
+ return 1
+ except:
+ return 0
+
+
+#To populate mail header
+def populate_mail_header (to, subject,body,
+ cc = '', bcc = ''):
+ try:
+ if to!='' and setandverify ('Composeamessage', 'txtTo', to) == 0:
+ log ('Failed to insert text into To field','error')
+ raise LdtpExecutionError (0)
+ if cc != '' and setandverify ('Composeamessage',
+ 'txtCc', cc) == 0:
+ log ('Failed to insert text into Cc field','error')
+ raise LdtpExecutionError (0)
+ #Note: I have edited the evolution.map to change 'txt0'
+ #to 'txtSubject'
+
+ #switching is involved
+ if subject!='':
+ settextvalue ('Composeamessage', 'txtSubject', subject)
+ setcontext ('Compose a message', subject)
+ time.sleep(3)
+ if verifysettext ('Composeamessage', 'txtSubject',
+ subject) == 0:
+ log ('Failed to insert text into subject Field','error')
+ raise LdtpExecutionError (0)
+ #TODO: Change 'txt6' to some meaningful name in
+ #evolution.map also in the following code
+ if body!='' and setandverify ('Composeamessage', 'txt6',
+ body) == 0:
+ log ('Failed to insert text into Body field','error')
+ raise LdtpExecutionError (0)
+ #TODO: Check bcc field
+ return 1
+ except:
+ print 'Compose new message failed '
+ log ('Compose new message failed', 'Fail' )
+
+#To capture image of the ith mail in the given folder
+def capturemailimage (folder_name,i,filename):
+ try:
+ selectmenuitem ('evolution','mnuTools;mnuMail')
+ selectrowpartialmatch ('evolution','ttblMailFolder',folder_name)
+ if i==-9:
+ i = getrowcount ('evolution','ttblMessageList') - 3
+ selectrowindex ('evolution','ttblMessageList',i)
+ time.sleep(3)
+ subject = getcellvalue ('evolution','ttblMessageList',i+1,4)
+ time.sleep (1)
+ selectmenuitem ('evolution','mnuMessage;mnuOpeninNewWindow')
+ setcontext ('Readonlyframe',subject)
+ time.sleep (5)
+ imagecapture (subject,filename)
+ selectmenuitem ('Readonlyframe','mnuFile;mnuClose')
+ time.sleep(1)
+ if guiexist ('Readonlyframe') == 1:
+ log ('Message Window is not close after capturing','warning')
+ raise LdtpExecutionError (0)
+ releasecontext ()
+ return 1
+ except:
+ log ('Capturing of mail failed','warning')
+ LdtpExecutionError(0)
+
+
+#To verify the ith mail in the given folder with the given image
+def verifymailwithimage (folder_name,mail_index,refimg_filename):
+ try:
+ capturemailimage (folfer_name,mail_index,'cur_mail.png')
+ if imagecompare ('cur_mail.png',refimg_filename) == 0.0:
+ return 1
+ else:
+ return 0
+ except:
+ log ('Comparision of mail images failed - ref image: ' + refimg_filename ,'error')
+ LdtpExecutionError (0)
+
+
diff --git a/evolution/filter_from_message_mailinglist.py b/evolution/filter_from_message_mailinglist.py
new file mode 100644
index 0000000..b91e802
--- /dev/null
+++ b/evolution/filter_from_message_mailinglist.py
@@ -0,0 +1,93 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify Filter from Message on MailingList
+import string, time
+
+#Create Filter
+def create_filter (index, filter_name, folder_name, account_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreateFilterFromMessage;mnuFilteronMailingList')
+ settextvalue('dlgAddFilterRule', 'txtRuleName', filter_name)
+ click ('dlgAddFilterRule', 'btn<clickheretoselectafolder>')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue('dlgCreateNewFolder', 'txtFoldername', folder_name)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMailFolderTree', folder_name)
+ click ('dlgSelectFolder', 'btnOK')
+ click ('dlgAddFilterRule', 'btnOK')
+ log ('Create Filter from Message on MailingList', 'pass')
+ except:
+ log ('Create Filter from Message on MailingList', 'fail')
+
+#Verify Filter
+def verify_filter (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ filter_mail_count = 0
+ mailinglist = getcellvalue ('Evolution-Mail', 'treetblMails', index, 4)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_mailinglist = getcellvalue ('Evolution-Mail', 'treetblMails', i, 4)
+ if (string.find (temp_mailinglist, mailinglist) >= 0):
+ filter_mail_count = filter_mail_count + 1
+ selectmenuitem ('Evolution-Mail', 'mnuEdit;mnuSelectAll')
+ selectmenuitem ('Evolution-Mail', 'mnuActions;mnuApplyFilters')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuFilters')
+ selectrowindex ('dlgFilters', 'tblFilterRules', 0)
+ click ('dlgFilters', 'btnRemove')
+ click ('dlgFilters', 'btnOK')
+ if (filter_mail_count == folder_mail_count):
+ log ('Verify Filter from Message MailingList', 'pass')
+ else:
+ log ('Verify Filter from Message MailingList', 'fail')
+ except:
+ log ('Verify Filter from Message MailingList', 'fail')
+
+#Getting the data from a file
+file = open('filter_message_on_mailinglist.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+account_name = argmts[2].strip( )
+filter_name = argmts[3].strip( )
+folder_name = argmts[4].strip( )
+
+#Calling the functions
+log ('Create and Verify Filter from Message on MailingList', 'teststart')
+log ('Create Filter from Message on MailingList', 'teststart')
+create_filter(index, filter_name, folder_name, account_name)
+log ('Create Filter from Message on MailingList', 'testend')
+log ('Verify Filter from Message on MailingList', 'teststart')
+verify_filter (index, folder_name)
+log ('Verify Filter from Message on MailingList', 'testend')
+log ('Create and Verify Filter from Message on MailingList', 'testend')
+
diff --git a/evolution/filter_from_message_recipients.py b/evolution/filter_from_message_recipients.py
new file mode 100644
index 0000000..a99992c
--- /dev/null
+++ b/evolution/filter_from_message_recipients.py
@@ -0,0 +1,95 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify Filter from Message on Recipients
+import string, time
+
+#Create Filter
+def create_filter (index, filter_name, folder_name, account_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreateFilterFromMessage;mnuFilteronRecipients')
+ settextvalue('dlgAddFilterRule', 'txtRuleName', filter_name)
+ click ('dlgAddFilterRule', 'btn<clickheretoselectafolder>')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue('dlgCreateNewFolder', 'txtFoldername', folder_name)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMailFolderTree', folder_name)
+ click ('dlgSelectFolder', 'btnOK')
+ click ('dlgAddFilterRule', 'btnOK')
+ log ('Create Filter from Message on Recipients', 'pass')
+ except:
+ log ('Create Filter from Message on Recipients', 'fail')
+
+#Verify Filter
+def verify_filter (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ filter_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ check ('Evolution-Mail', 'mnuAsSentFolder')
+ recipient = getcellvalue ('Evolution-Mail', 'treetblMails', index, 3)
+ for i in range (0, total_mail_count):
+ message_recipient = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (message_recipient, recipient) >= 0):
+ filter_mail_count = filter_mail_count + 1
+ check ('Evolution-Mail', 'mnuMessages')
+ selectmenuitem ('Evolution-Mail', 'mnuEdit;mnuSelectAll')
+ selectmenuitem ('Evolution-Mail', 'mnuActions;mnuApplyFilters')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuFilters')
+ selectrowindex ('dlgFilters', 'tblFilterRules', 0)
+ click ('dlgFilters', 'btnRemove')
+ click ('dlgFilters', 'btnOK')
+ if (filter_mail_count == folder_mail_count):
+ log ('Verify Filter from Message Recipients', 'pass')
+ else:
+ log ('Verify Filter from Message Recipients', 'fail')
+ except:
+ log ('Verify Filter from Message Recipients', 'fail')
+
+#Getting the data from a file
+file = open('filter_message_on_recipients.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+account_name = argmts[2].strip( )
+filter_name = argmts[3].strip( )
+folder_name = argmts[4].strip( )
+
+#Calling the functions
+log ('Create and Verify Filter from Message on Recipients', 'teststart')
+log ('Create Filter from Message on Recipients', 'teststart')
+#create_filter(index, filter_name, folder_name, account_name)
+log ('Create Filter from Message on Recipients', 'testend')
+log ('Verify Filter from Message on Recipients', 'teststart')
+verify_filter (index, folder_name)
+log ('Verify Filter from Message on Recipients', 'testend')
+log ('Create and Verify Filter from Message on Recipients', 'testend')
+
diff --git a/evolution/filter_from_message_sender.py b/evolution/filter_from_message_sender.py
new file mode 100644
index 0000000..95a96be
--- /dev/null
+++ b/evolution/filter_from_message_sender.py
@@ -0,0 +1,93 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify Filter from Message on Sender
+import string, time
+
+#Create Filter
+def create_filter (index, filter_name, folder_name, account_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreateFilterFromMessage;mnuFilteronSender')
+ settextvalue('dlgAddFilterRule', 'txtRuleName', filter_name)
+ click ('dlgAddFilterRule', 'btn<clickheretoselectafolder>')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue('dlgCreateNewFolder', 'txtFoldername', folder_name)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMailFolderTree', folder_name)
+ click ('dlgSelectFolder', 'btnOK')
+ click ('dlgAddFilterRule', 'btnOK')
+ log ('Create Filter from Message on Sender', 'pass')
+ except:
+ log ('Create Filter from Message on Sender', 'fail')
+
+#Verify Filter
+def verify_filter (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ filter_mail_count = 0
+ sender = getcellvalue ('Evolution-Mail', 'treetblMails', index, 3)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_sender = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (temp_sender, sender) >= 0):
+ filter_mail_count = filter_mail_count + 1
+ selectmenuitem ('Evolution-Mail', 'mnuEdit;mnuSelectAll')
+ selectmenuitem ('Evolution-Mail', 'mnuActions;mnuApplyFilters')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuFilters')
+ selectrowindex ('dlgFilters', 'tblFilterRules', 0)
+ click ('dlgFilters', 'btnRemove')
+ click ('dlgFilters', 'btnOK')
+ if (filter_mail_count == folder_mail_count):
+ log ('Verify Filter from Message Sender', 'pass')
+ else:
+ log ('Verify Filter from Message Sender', 'fail')
+ except:
+ log ('Verify Filter from Message Sender', 'fail')
+
+#Getting the data from a file
+file = open('filter_message_on_sender.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+account_name = argmts[2].strip( )
+filter_name = argmts[3].strip( )
+folder_name = argmts[4].strip( )
+
+#Calling the functions
+log ('Create and Verify Filter from Message on Sender', 'teststart')
+log ('Create Filter from Message on Sender', 'teststart')
+create_filter(index, filter_name, folder_name, account_name)
+log ('Create Filter from Message on Sender', 'testend')
+log ('Verify Filter from Message on Sender', 'teststart')
+verify_filter (index, folder_name)
+log ('Verify Filter from Message on Sender', 'testend')
+log ('Create and Verify Filter from Message on Sender', 'testend')
+
diff --git a/evolution/filter_from_message_subject.py b/evolution/filter_from_message_subject.py
new file mode 100644
index 0000000..da72799
--- /dev/null
+++ b/evolution/filter_from_message_subject.py
@@ -0,0 +1,93 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify Filter from Message on Subject
+import string, time
+
+#Create Filter
+def create_filter (index, filter_name, folder_name, account_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreateFilterFromMessage;mnuFilteronSubject')
+ settextvalue('dlgAddFilterRule', 'txtRuleName', filter_name)
+ click ('dlgAddFilterRule', 'btn<clickheretoselectafolder>')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue('dlgCreateNewFolder', 'txtFoldername', folder_name)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMailFolderTree', folder_name)
+ click ('dlgSelectFolder', 'btnOK')
+ click ('dlgAddFilterRule', 'btnOK')
+ log ('Create Filter from Message on Subject', 'pass')
+ except:
+ log ('Create Filter from Message on Subject', 'fail')
+
+#Verify Filter
+def verify_filter (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ filter_mail_count = 0
+ subject = getcellvalue ('Evolution-Mail', 'treetblMails', index, 4)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_subject = getcellvalue ('Evolution-Mail', 'treetblMails', i, 4)
+ if (string.find (temp_subject, subject) >= 0):
+ filter_mail_count = filter_mail_count + 1
+ selectmenuitem ('Evolution-Mail', 'mnuEdit;mnuSelectAll')
+ selectmenuitem ('Evolution-Mail', 'mnuActions;mnuApplyFilters')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuFilters')
+ selectrowindex ('dlgFilters', 'tblFilterRules', 0)
+ click ('dlgFilters', 'btnRemove')
+ click ('dlgFilters', 'btnOK')
+ if (filter_mail_count == folder_mail_count):
+ log ('Verify Filter from Message Subject', 'pass')
+ else:
+ log ('Verify Filter from Message Subject', 'fail')
+ except:
+ log ('Verify Filter from Message Subject', 'fail')
+
+#Getting the data from a file
+file = open('filter_message_on_subject.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+account_name = argmts[2].strip( )
+filter_name = argmts[3].strip( )
+folder_name = argmts[4].strip( )
+
+#Calling the functions
+log ('Create and Verify Filter from Message on Subject', 'teststart')
+log ('Create Filter from Message on Subject', 'teststart')
+create_filter(index, filter_name, folder_name, account_name)
+log ('Create Filter from Message on Subject', 'testend')
+log ('Verify Filter from Message on Subject', 'teststart')
+verify_filter (index, folder_name)
+log ('Verify Filter from Message on Subject', 'testend')
+log ('Create and Verify Filter from Message on Subject', 'testend')
+
diff --git a/evolution/filter_message_on_mailinglist.dat b/evolution/filter_message_on_mailinglist.dat
new file mode 100644
index 0000000..a0d6b8d
--- /dev/null
+++ b/evolution/filter_message_on_mailinglist.dat
@@ -0,0 +1,5 @@
+junk
+1
+ldtp@scooby.net
+filter on mailing list
+mailing list
diff --git a/evolution/filter_message_on_recipients.dat b/evolution/filter_message_on_recipients.dat
new file mode 100644
index 0000000..197ca52
--- /dev/null
+++ b/evolution/filter_message_on_recipients.dat
@@ -0,0 +1,6 @@
+junk
+1
+ldtp@scooby.net
+filter on recipients
+recipients
+ldtp@scooby.net
diff --git a/evolution/filter_message_on_sender.dat b/evolution/filter_message_on_sender.dat
new file mode 100644
index 0000000..f5d630b
--- /dev/null
+++ b/evolution/filter_message_on_sender.dat
@@ -0,0 +1,5 @@
+junk
+1
+ldtp@scooby.net
+filter on sender
+sender
diff --git a/evolution/filter_message_on_subject.dat b/evolution/filter_message_on_subject.dat
new file mode 100644
index 0000000..94a2d87
--- /dev/null
+++ b/evolution/filter_message_on_subject.dat
@@ -0,0 +1,5 @@
+junk
+1
+ldtp@scooby.net
+filter on subject
+subject
diff --git a/evolution/filter_search.dat b/evolution/filter_search.dat
new file mode 100644
index 0000000..5ad323a
--- /dev/null
+++ b/evolution/filter_search.dat
@@ -0,0 +1,4 @@
+junk
+Body contains
+test
+
diff --git a/evolution/filter_search_on_recipients.dat b/evolution/filter_search_on_recipients.dat
new file mode 100644
index 0000000..cfef518
--- /dev/null
+++ b/evolution/filter_search_on_recipients.dat
@@ -0,0 +1,3 @@
+junk
+Mailbox
+val1
diff --git a/evolution/filter_search_on_recipients.py b/evolution/filter_search_on_recipients.py
new file mode 100644
index 0000000..f5145fa
--- /dev/null
+++ b/evolution/filter_search_on_recipients.py
@@ -0,0 +1,78 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Filter Search and Verify Filter Search on Recipients contains
+import string, time
+
+#Filter search
+def search (search_folder, data):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', search_folder)
+ global search_mail_count
+ search_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ check ('Evolution-Mail', 'mnuAsSentFolder')
+ for i in range (0, total_mail_count):
+ recipient = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (recipient, data) >= 0):
+ search_mail_count = search_mail_count + 1
+ check ('Evolution-Mail', 'mnuMessages')
+ comboselect ('Evolution-Mail', 'cmbSearchType', 'Recipients contain')
+ if (data):
+ settextvalue ('Evolution-Mail', 'txtSearchTextEntry', data)
+ click ('Evolution-Mail', 'btnFindNow')
+ time.sleep (2)
+ log('Filter Search on Recipients contains' ,'pass')
+ except:
+ log('Filter Search on Recipients contains' ,'fail')
+
+#Verify filter search
+def verify_search (search_mail_count):
+ try:
+ filter_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (search_mail_count == filter_mail_count):
+ log ('Verify Filter Search on Recipients contains', 'pass')
+ else:
+ log ('Verify Filter Search on Recipients contains', 'fail')
+ click ('Evolution-Mail', 'btnClear')
+ except:
+ log ('Verify Filter Search on Recipients contains', 'fail')
+
+#Getting the data from a file
+file = open('filter_search_on_recipients.dat', 'r')
+argmts = file.readlines()
+search_folder = argmts[1].strip( )
+data = argmts[2].strip( )
+
+#Calling the functions
+log('Filter Search and Verify Filter Search on Recipients contains', 'teststart')
+log('Filter Search on Recipients contains', 'teststart')
+search (search_folder, data)
+log('Filter Search on Recipients contains', 'testend')
+log('Verification of Filter Search on Recipients contains', 'teststart')
+verify_search (search_mail_count)
+log('Verification of Filter Search on Recipients contains', 'testend')
+log('Filter Search and Verify Filter Search on Recipients contains', 'testend')
diff --git a/evolution/filter_search_on_sender.dat b/evolution/filter_search_on_sender.dat
new file mode 100644
index 0000000..cfef518
--- /dev/null
+++ b/evolution/filter_search_on_sender.dat
@@ -0,0 +1,3 @@
+junk
+Mailbox
+val1
diff --git a/evolution/filter_search_on_sender.py b/evolution/filter_search_on_sender.py
new file mode 100644
index 0000000..cdaffdf
--- /dev/null
+++ b/evolution/filter_search_on_sender.py
@@ -0,0 +1,76 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Filter Search and Verify Filter Search on Sender contains
+import string, time
+
+#Filter search
+def search (search_folder, data):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', search_folder)
+ global search_mail_count
+ search_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ sender = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (sender, data) >= 0):
+ search_mail_count = search_mail_count + 1
+ comboselect ('Evolution-Mail', 'cmbSearchType', 'Sender contains')
+ if (data):
+ settextvalue ('Evolution-Mail', 'txtSearchTextEntry', data)
+ click ('Evolution-Mail', 'btnFindNow')
+ time.sleep (2)
+ log('Filter Search on Sender contains' ,'pass')
+ except:
+ log('Filter Search on Sender contains' ,'fail')
+
+#Verify filter search
+def verify_search (search_mail_count):
+ try:
+ filter_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (search_mail_count == filter_mail_count):
+ log ('Verify Filter Search on Sender contains', 'pass')
+ else:
+ log ('Verify Filter Search on Sender contains', 'fail')
+ click ('Evolution-Mail', 'btnClear')
+ except:
+ log ('Verify Filter Search on Sender contains', 'fail')
+
+#Getting the data from a file
+file = open('filter_search_on_sender.dat', 'r')
+argmts = file.readlines()
+search_folder = argmts[1].strip( )
+data = argmts[2].strip( )
+
+#Calling the functions
+log('Filter Search and Verify Filter Search on Sender contains','teststart')
+log('Filter Search on Sender contains' ,'teststart')
+search (search_folder, data)
+log('Filter Search on Sender contains' ,'testend')
+log('Verification of Filter Search on Sender contains', 'teststart')
+verify_search (search_mail_count)
+log('Verification of Filter Search on Sender contains' ,'testend')
+log('Filter Search and Verify Filter Search on Sender contains','testend')
diff --git a/evolution/filter_search_on_subject.dat b/evolution/filter_search_on_subject.dat
new file mode 100644
index 0000000..f299b99
--- /dev/null
+++ b/evolution/filter_search_on_subject.dat
@@ -0,0 +1,3 @@
+junk
+Mailbox
+test
diff --git a/evolution/filter_search_on_subject.py b/evolution/filter_search_on_subject.py
new file mode 100644
index 0000000..45df430
--- /dev/null
+++ b/evolution/filter_search_on_subject.py
@@ -0,0 +1,76 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Filter Search and Verify Filter Search on Subject contains
+import string, time
+
+#Filter search
+def search (search_folder, data):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', search_folder)
+ global search_mail_count
+ search_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ subject = getcellvalue ('Evolution-Mail', 'treetblMails', i, 4)
+ if (string.find (subject, data) >= 0):
+ search_mail_count = search_mail_count + 1
+ comboselect ('Evolution-Mail', 'cmbSearchType', 'Subject contains')
+ if (data):
+ settextvalue ('Evolution-Mail', 'txtSearchTextEntry', data)
+ click ('Evolution-Mail', 'btnFindNow')
+ time.sleep (2)
+ log('Filter Search on Subject contains' ,'pass')
+ except:
+ log('Filter Search on Subject contains' ,'fail')
+
+#Verify filter search
+def verify_search (search_mail_count):
+ try:
+ filter_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (search_mail_count == filter_mail_count):
+ log ('Verify Filter Search on Subject contains', 'pass')
+ else:
+ log ('Verify Filter Search on Subject contains', 'fail')
+ click ('Evolution-Mail', 'btnClear')
+ except:
+ log ('Verify Filter Search on Subject contains', 'fail')
+
+#Getting the data from a file
+file = open('filter_search_on_subject.dat', 'r')
+argmts = file.readlines()
+search_folder = argmts[1].strip( )
+data = argmts[2].strip( )
+
+#Calling the functions
+log('Filter Search and Verify Filter Search on Subject contains','teststart')
+log('Filter Search on Subject contains' ,'teststart')
+search (search_folder, data)
+log('Filter Search on Subject contains' ,'testend')
+log('Verification of Filter Search on Subject contains', 'teststart')
+verify_search (search_mail_count)
+log('Verification of Filter Search on Subject contains' ,'testend')
+log('Filter Search and Verify Filter Search on Subject contains','testend')
diff --git a/evolution/filter_search_on_subject_sender.dat b/evolution/filter_search_on_subject_sender.dat
new file mode 100644
index 0000000..f299b99
--- /dev/null
+++ b/evolution/filter_search_on_subject_sender.dat
@@ -0,0 +1,3 @@
+junk
+Mailbox
+test
diff --git a/evolution/filter_search_on_subject_sender.py b/evolution/filter_search_on_subject_sender.py
new file mode 100644
index 0000000..076dd0e
--- /dev/null
+++ b/evolution/filter_search_on_subject_sender.py
@@ -0,0 +1,77 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Filter Search and Verify Filter Search on Subject or Sender contains
+import string, time
+
+#Filter search
+def search (search_folder, data):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', search_folder)
+ global search_mail_count
+ search_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ subject = getcellvalue ('Evolution-Mail', 'treetblMails', i, 4)
+ sender = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (subject, data) >= 0 or string.find (sender, data) >= 0):
+ search_mail_count = search_mail_count + 1
+ comboselect ('Evolution-Mail', 'cmbSearchType', 'Subject or Sender contains')
+ if (data):
+ settextvalue ('Evolution-Mail', 'txtSearchTextEntry', data)
+ click ('Evolution-Mail', 'btnFindNow')
+ time.sleep (2)
+ log('Filter Search on Subject or Sender contains' ,'pass')
+ except:
+ log('Filter Search on Subject or Sender contains' ,'fail')
+
+#Verify filter search
+def verify_search (search_mail_count):
+ try:
+ filter_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (search_mail_count == filter_mail_count):
+ log ('Verify Filter Search on Subject or Sender contains', 'pass')
+ else:
+ log ('Verify Filter Search on Subject or Sender contains', 'fail')
+ click ('Evolution-Mail', 'btnClear')
+ except:
+ log ('Verify Filter Search on Subject or Sender contains', 'fail')
+
+#Getting the data from a file
+file = open('filter_search_on_subject_sender.dat', 'r')
+argmts = file.readlines()
+search_folder = argmts[1].strip( )
+data = argmts[2].strip( )
+
+#Calling the functions
+log('Filter Search and Verify Filter Search on Subject or Sender contains','teststart')
+log('Filter Search on Subject or Sender contains' ,'teststart')
+search (search_folder, data)
+log('Filter Search on Subject or Sender contains' ,'testend')
+log('Verification of Filter Search on Subject or Sender contains', 'teststart')
+verify_search (search_mail_count)
+log('Verification of Filter Search on Subject or Sender contains' ,'testend')
+log('Filter Search and Verify Filter Search on Subject or Sender contains','testend')
diff --git a/evolution/forward-mail.dat b/evolution/forward-mail.dat
new file mode 100644
index 0000000..b385745
--- /dev/null
+++ b/evolution/forward-mail.dat
@@ -0,0 +1,4 @@
+jpremkumar@novell.com
+~
+~
+~
diff --git a/evolution/forward-mail.py b/evolution/forward-mail.py
new file mode 100644
index 0000000..0c1ceb0
--- /dev/null
+++ b/evolution/forward-mail.py
@@ -0,0 +1,98 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Nagashree <mnagashree@novell.com>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+# To Forward a Mail using args supplied by a text file
+from evoutils.mail import *
+
+#To Forward mail
+def forward_mail (to,body,subject_new='',cc=''):
+ try:
+ selectmenuitem('evolution','mnuTools;mnuMail')
+ time.sleep(3)
+
+ #TODO: Write additional code to select the particular
+ #folder from Folder tree before moving to the next statement
+
+ #TODO: Uncomment the following when getrowcount bug
+ #is fixed in evolution/accessibility
+ #selectlastrow ('evolution', 'ttblMessageList')
+
+ cur_index=getrowcount ('evolution','ttblMessageList')-3;
+
+ #TOOD: When Uncommenting the previous statement remove
+ #the following statement
+ selectrowindex ('evolution','ttblMessageList',cur_index)
+
+ subject = getcellvalue('evolution','ttblMessageList',cur_index+1,4)
+ click('evolution','btnForward')
+ time.sleep(3)
+ setcontext ('Compose a message','[Fwd: '+subject+']')
+ if guiexist('Composeamessage') == 0:
+ log ('Failed to open forward frame','error')
+ raise LdtpExecutionError(0)
+ else:
+ if populate_mail_header (to,subject_new,
+ body,cc) == 0:
+ log ('Failed to populate mail header',
+ 'error')
+ raise LdtpExecutionError (0)
+ else:
+ click ('Composeamessage', 'btnSend')
+ if guiexist ('Composeamessage') == 0:
+ log ('Failed to close Compose dialog after sending','error')
+ raise LdtpExecutionError(0)
+ else:
+ click('evolution','btnSend/Receive')
+ log('Forward-message-Success','pass')
+ releasecontext()
+ except error:
+ print 'Forward messsage Failed'
+ log('Forward-Mail-Failed','fail')
+
+#Trying to read from the file
+inpfile = open('forward-mail.dat', 'r')
+argmts = inpfile.readlines()
+to_mailid = argmts[0].strip( )
+Bodytxt_Mail = argmts[1].strip( )
+if Bodytxt_Mail == '~':
+ Bodytxt_Mail = ''
+Subjecttxt = argmts[2].strip( )
+if Subjecttxt == '~':
+ Subjecttxt = ''
+Cc_mailid = argmts[3].strip( )
+if Cc_mailid == '~':
+ Cc_mailid = ''
+
+# Call the function
+
+log('Forward Mail and verify','teststart')
+log('Forward Mail' ,'teststart')
+forward_mail (to_mailid,Bodytxt_Mail,Subjecttxt,Cc_mailid)
+log('Forward Mail' ,'testend')
+log('Forward Mail - Verification','teststart')
+verifymailwithimage ('Sent Items',-9,'forwardmail_refimage.png')
+log('Forward Mail - Verification' ,'testend')
+log('Forward Mail and verify','testend')
diff --git a/evolution/forwardmail_refimg.png b/evolution/forwardmail_refimg.png
new file mode 100644
index 0000000..84d46f1
--- /dev/null
+++ b/evolution/forwardmail_refimg.png
Binary files differ
diff --git a/evolution/move_mails.dat b/evolution/move_mails.dat
new file mode 100644
index 0000000..69e5dd0
--- /dev/null
+++ b/evolution/move_mails.dat
@@ -0,0 +1,5 @@
+junk
+Mailbox
+test
+2
+3
diff --git a/evolution/move_mails.py b/evolution/move_mails.py
new file mode 100644
index 0000000..ea54731
--- /dev/null
+++ b/evolution/move_mails.py
@@ -0,0 +1,82 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Move And Verify Move of Mails
+import time
+
+#Move mails
+def move (source, destination, start, end):
+ try:
+ for i in range(start, end+1):
+ selectrowindex ('Evolution-Mail', 'treetblMails', start)
+ click ('Evolution-Mail', 'btnMove')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnMove')
+ log ('Move Mails', 'pass')
+ except:
+ log ('Move Mails', 'fail')
+
+#Verify moving of mails
+def verify_move (source, destination, no_mails, prev_scount, prev_dcount):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+ new_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectrow ('Evolution-Mail', 'treeTabFolder', source)
+ new_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (new_scount == (prev_scount-no_mails) and new_dcount == (prev_dcount+no_mails)):
+ log ('Verify Move Mails', 'pass')
+ else:
+ log ('Verify Move Mails', 'fail')
+ except:
+ log ('Verify Move Mails', 'fail')
+
+#Getting the data from a file
+file = open('move_mails.dat', 'r')
+argmts = file.readlines()
+source = argmts[1].strip( )
+destination = argmts[2].strip( )
+start = int (argmts[3].strip( ))
+end = int (argmts[4].strip( ))
+
+#Calling the functions and getting the initial
+#message count of source and destination folders
+log('Move And Verify Moving of Mails', 'teststart')
+log('Move Mails' ,'teststart')
+click ('Evolution-Mail', 'tbtnMail')
+time.sleep (2)
+selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+time.sleep (1)
+prev_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+selectrow ('Evolution-Mail', 'treeTabFolder', source)
+time.sleep (1)
+prev_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+move (source, destination, start, end)
+log('Move Mails' ,'testend')
+log('Verification of Move Mails', 'teststart')
+no_mails = end-start+1
+verify_move (source, destination, no_mails, prev_scount, prev_dcount)
+log('Verification of Move Mails' ,'testend')
+log('Move Mails and Verify Moveing of Mails','testend')
diff --git a/evolution/move_mails_new_folder.dat b/evolution/move_mails_new_folder.dat
new file mode 100644
index 0000000..fa28720
--- /dev/null
+++ b/evolution/move_mails_new_folder.dat
@@ -0,0 +1,6 @@
+junk
+Mailbox
+dump
+ldtp@scooby.net
+2
+3
diff --git a/evolution/move_mails_new_folder.py b/evolution/move_mails_new_folder.py
new file mode 100644
index 0000000..2aeb87a
--- /dev/null
+++ b/evolution/move_mails_new_folder.py
@@ -0,0 +1,88 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Move And Verify Move of Mails
+import time
+
+#Move mails
+def move (source, destination, account_name, start, end):
+ try:
+ selectrowindex ('Evolution-Mail', 'treetblMails', start)
+ click ('Evolution-Mail', 'btnMove')
+ click ('dlgSelectFolder', 'btnNew')
+ settextvalue ('dlgCreateNewFolder', 'txtFoldername', destination)
+ selectrow ('dlgCreateNewFolder', 'treetblMailFolderTree', account_name)
+ click ('dlgCreateNewFolder', 'btnCreate')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnMove')
+ for i in range(start+1, end+1):
+ selectrowindex ('Evolution-Mail', 'treetblMails', start)
+ click ('Evolution-Mail', 'btnMove')
+ selectrow ('dlgSelectFolder', 'treetblMails', destination)
+ click ('dlgSelectFolder', 'btnMove')
+ log ('Move Mails', 'pass')
+ except:
+ log ('Move Mails', 'fail')
+
+#Verify moving of mails
+def verify_move (source, destination, no_mails, prev_scount):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', destination)
+ new_dcount = getrowcount ('Evolution-Mail', 'treetblMails')
+ selectrow ('Evolution-Mail', 'treeTabFolder', source)
+ new_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (new_scount == (prev_scount-no_mails) and new_dcount == no_mails):
+ log ('Verify Move Mails', 'pass')
+ else:
+ log ('Verify Move Mails', 'fail')
+ except:
+ log ('Verify Move Mails', 'fail')
+
+#Getting the data from a file
+file = open('move_mails_new_folder.dat', 'r')
+argmts = file.readlines()
+source = argmts[1].strip( )
+destination = argmts[2].strip( )
+account_name = argmts[3].strip( )
+start = int (argmts[4].strip( ))
+end = int (argmts[5].strip( ))
+
+#Calling the functions and getting the initial
+#message count of source and destination folders
+log('Move And Verify Moving of Mails', 'teststart')
+log('Move Mails' ,'teststart')
+click ('Evolution-Mail', 'tbtnMail')
+time.sleep (2)
+selectrow ('Evolution-Mail', 'treeTabFolder', source)
+time.sleep (1)
+prev_scount = getrowcount ('Evolution-Mail', 'treetblMails')
+move (source, destination, account_name, start, end)
+log('Move Mails' ,'testend')
+log('Verification of Move Mails', 'teststart')
+no_mails = end-start+1
+verify_move (source, destination, no_mails, prev_scount)
+log('Verification of Move Mails' ,'testend')
+log('Move Mails and Verify Moveing of Mails','testend')
diff --git a/evolution/movemail.dat b/evolution/movemail.dat
new file mode 100644
index 0000000..3c9828d
--- /dev/null
+++ b/evolution/movemail.dat
@@ -0,0 +1,2 @@
+Inbox
+bugs \ No newline at end of file
diff --git a/evolution/movemail.py b/evolution/movemail.py
new file mode 100644
index 0000000..d63fe4f
--- /dev/null
+++ b/evolution/movemail.py
@@ -0,0 +1,83 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Nagashree <mnagashree@novell.com>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Moving an existing Mail
+
+# Section to select and move mail
+def move_mail (from_fldr,to_fldr):
+ try:
+ selectrowpartialmatch ('evolution', 'ttblMailFolderTree',
+ to_fldr)
+ row_before = getrowcount('evolution', 'ttblMessageList')
+ selectrowpartialmatch ('evolution', 'ttblMailFolderTree',
+ from_fldr)
+ rowcount = getrowcount('evolution', 'ttblMessageList')
+ if rowcount > 0:
+ #selectlastrow ('evolution', 'ttblMessageList')
+ selectrowindex ('evolution', 'ttblMessageList',
+ rowcount-3)
+ selectmenuitem ('evolution',
+ 'mnuMessage;mnuMoveToFolder')
+ selectrowpartialmatch ('dlgSelectfolder',
+ 'ttblMailFolderTree',to_fldr )
+ click ('dlgSelectfolder','btnMove')
+ if guiexist('dlgSelectfolder') == 0:
+ log ('Select folder dialog not closed',
+ 'error')
+ raise LdtpexecutionError(0)
+ else:
+ selectrowpartialmatch ('evolution',
+ 'ttblMailFolderTree',to_fldr)
+ wait (5)
+ row_after = getrowcount('evolution', 'ttblMessageList')
+ selectmenuitem ('evolution', 'mnuFile;mnuClose')
+ time.sleep(3)
+ if row_after > row_before:
+ log ('Moving a mail passed successfully',
+ 'pass')
+ else :
+ log ('Moving a mail failed',
+ 'fail')
+ else:
+ log ('From folder empty!', 'Warning')
+ log ('Did not move any mails to other folder',
+ 'Pass')
+ except ldtp.error,msg:
+ print 'Moving mail between folders failed',str(msg)
+ log ('Moving mail failed','fail')
+
+#Read input from file
+file = open ('movemail.dat', 'r')
+argmts = file.readlines()
+from_fldr = argmts[0].strip( )
+to_fldr = argmts[1].strip( )
+
+# Call the function
+log ('Move mail', 'teststart')
+move_mail (from_fldr,to_fldr)
+log ('Move mail', 'testend')
+log ('Moving mail succeeded', 'pass')
+
diff --git a/evolution/reply-mail.dat b/evolution/reply-mail.dat
new file mode 100644
index 0000000..7db2a3a
--- /dev/null
+++ b/evolution/reply-mail.dat
@@ -0,0 +1,2 @@
+thanks for the mail
+jpremkumar@novell.com \ No newline at end of file
diff --git a/evolution/reply-mail.py b/evolution/reply-mail.py
new file mode 100644
index 0000000..46d8842
--- /dev/null
+++ b/evolution/reply-mail.py
@@ -0,0 +1,99 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Bhargavi <kbhargavi_83@yahoo.co.in>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+# To Reply a Mail using args supplied by a text file
+
+#To reply mail
+def reply_mail (body,cc=''):
+ try:
+ selectmenuitem('evolution','mnuTools;mnuMail')
+ time.sleep(3)
+
+ #TODO: Write additional code to select the particular
+ #folder from Folder tree before moving to the next statement
+
+ #TODO: Uncomment the following when get rowcount bug
+ #is fixed in evolution/accessibility
+ #selectlastrow ('evolution', 'ttblMessageList')
+
+ cur_index=getrowcount ('evolution','ttblMessageList')-3;
+
+ #TOOD: When Uncommenting the previous statement remove
+ #the following statement
+ selectrowindex ('evolution','ttblMessageList',cur_index)
+
+ subject = getcellvalue('evolution','ttblMessageList',cur_index+1,4)
+ click('evolution','btnReply')
+ time.sleep(3)
+ setcontext ('Compose a message','Re: '+subject)
+ if guiexist('Composeamessage') == 0:
+ log ('Failed to open reply frame','error')
+ raise LdtpExecutionError(0)
+ else:
+ new_context = 'Re: '+subject
+ if cc!='' and setandverify('Composeamessage',
+ 'txtCc',cc) == 0:
+ log ('Failed to insert into Cc field',
+ 'error')
+ raise LdtpExecutionError(0)
+ else:
+ if setandverify('Composeamessage',
+ 'txt6',body) == 0:
+ log ('Failed to insert body text',
+ 'error')
+ raise LdtpExecutionError(0)
+ else:
+ click ('Composeamessage', 'btnSend')
+ if guiexist ('Composeamessage') == 0:
+ log ('Failed to close Compose dialog after sending','error')
+ raise LdtpExecutionError(0)
+ else:
+ click('evolution','btnSend/Receive')
+ log('Reply-message-Success','pass')
+ except error:
+ print 'Reply messsage Failed'
+ log('Reply-Mail-Failed','fail')
+
+#TODO: Implement replytoall if necessary
+#def reply_all_mail (to, subjecttxt, mailbodytxt):
+
+#Trying to read from the file
+file = open('reply-mail.dat', 'r')
+argmts = file.readlines()
+Bodytxt_Mail = argmts[0].strip( )
+Cc_mailid = argmts[1].strip( )
+
+
+# Call the function
+
+log('Reply and Verification of Mail','teststart')
+log('Reply Mail' ,'teststart')
+reply_mail (Bodytxt_Mail, Cc_mailid)
+log('Reply Mail' ,'testend')
+log('Reply Mail - Verification' ,'teststart')
+verifymailwithimage ('Sent Items',-9,'replymail_refimg.png')
+log('Reply Mail - Verification' ,'testend')
+log('ReplyandVerificationofMail','testend')
diff --git a/evolution/replymail_refimg.png b/evolution/replymail_refimg.png
new file mode 100644
index 0000000..3cf3252
--- /dev/null
+++ b/evolution/replymail_refimg.png
Binary files differ
diff --git a/evolution/save_as_draft.py b/evolution/save_as_draft.py
new file mode 100644
index 0000000..193f95a
--- /dev/null
+++ b/evolution/save_as_draft.py
@@ -0,0 +1,80 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+# Save a mail as draft and verify
+import time
+
+# Save a message as draft
+def save_draft (to_address, cc_address, msg_subject, msg_body):
+ try:
+ selectmenuitem ('Evolution-Mail', 'mnuFile;mnuNew;mnuMailMessage')
+ time.sleep (1)
+ check ('frmComposeamessage', 'mnuCcField')
+ settextvalue ('frmComposeamessage', 'txtTo', to_address)
+ settextvalue ('frmComposeamessage', 'txtCc', cc_address)
+ settextvalue ('frmComposeamessage', 'txtSubject', msg_subject)
+ setcontext ('Compose a message', msg_subject)
+ settextvalue ('frmComposeamessage', 'txtMailBody', msg_body)
+ selectmenuitem ('frmComposeamessage', 'mnuFile;mnuSave')
+ selectmenuitem ('frmComposeamessage', 'mnuFile;mnuClose')
+ log ('Saving a draft', 'pass')
+ except:
+ log ('Saving a draft', 'fail')
+
+#Verify saved draft
+def verify_draft (draft_folder, to_address, cc_address, msg_subject, msg_body):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', draft_folder)
+ time.sleep (3)
+ selectlastrow ('Evolution-Mail', 'treetblMails')
+ selectmenuitem ('Evolution-Mail', 'mnuFile;mnuOpenMessage')
+ setcontext('Compose a message', msg_subject)
+ verifysettext ('frmComposeamessage', 'txtTo', to_address)
+ verifysettext ('frmComposeamessage', 'txtCc', cc_address)
+ verifysettext ('frmComposeamessage', 'txtSubject', msg_subject)
+ selectmenuitem ('frmComposeamessage', 'mnuFile;mnuClose')
+ log ('Verify saved draft', 'pass')
+ except:
+ log ('Verify saved draft', 'fail')
+
+#Getting the data
+file = open('save_draft.dat', 'r')
+argmts = file.readlines()
+draft_folder = argmts[1].strip( )
+to_address = argmts[2].strip( )
+cc_address = argmts[3].strip( )
+msg_subject = argmts[4].strip( )
+msg_body = argmts[5].strip( )
+
+
+#Calling the functions
+log ('Save and Verify saved draft', 'teststart')
+log ('Save a message as draft', 'teststart')
+save_draft (to_address, cc_address, msg_subject, msg_body)
+log ('Save a message as draft', 'testend')
+log ('Verify saved draft', 'tesstart')
+verify_draft (draft_folder, to_address, cc_address, msg_subject, msg_body)
+log ('Verify saved draft', 'testend')
+log ('Change and Verify saved draft', 'testend')
+
diff --git a/evolution/save_draft.dat b/evolution/save_draft.dat
new file mode 100644
index 0000000..40d92b2
--- /dev/null
+++ b/evolution/save_draft.dat
@@ -0,0 +1,7 @@
+junk
+Drafts
+khasim@scooby.net
+shaheed@scooby.net
+hello
+test mail to test saving as draft
+
diff --git a/evolution/vFolder_from_message_mailinglist.py b/evolution/vFolder_from_message_mailinglist.py
new file mode 100644
index 0000000..630f408
--- /dev/null
+++ b/evolution/vFolder_from_message_mailinglist.py
@@ -0,0 +1,78 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify vFolder from Message on MailingList
+import string, import
+
+#Create vFolder
+def create_vFolder (index, vFolder_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreatevFolderFromMessage;mnuvFolderonMailingList')
+ settextvalue('dlgNewvFolder', 'txtRuleName', vFolder_name)
+ click ('dlgNewvFolder', 'btnOK')
+ log ('Create vFolder from Message on MailingList', 'pass')
+ except:
+ log ('Create vFolder from Message on MailingList', 'fail')
+
+#Verify vFolder
+def verify_vFolder (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ vFolder_mail_count = 0
+ mailinglist = getcellvalue ('Evolution-Mail', 'treetblMails', index, 3)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_mailinglist = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (temp_mailinglist, mailinglist) >= 0):
+ vFolder_mail_count = vFolder_mail_count + 1
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (vFolder_mail_count == folder_mail_count):
+ log ('Verify vFolder from Message MailingList', 'pass')
+ else:
+ log ('Verify vFolder from Message MailingList', 'fail')
+ except:
+ log ('Verify vFolder from Message MailingList', 'fail')
+
+#Getting the data from a file
+file = open('vFolder_message_on_mailinglist.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+vFolder_name = argmts[2].strip( )
+
+#Calling the functions
+log ('Create and Verify vFolder from Message on MailingList', 'teststart')
+log ('Create vFolder from Message on MailingList', 'teststart')
+create_vFolder(index, vFolder_name)
+log ('Create vFolder from Message on MailingList', 'testend')
+log ('Verify vFolder from Message on MailingList', 'teststart')
+verify_vFolder (index, vFolder_name)
+log ('Verify vFolder from Message on MailingList', 'testend')
+log ('Create and Verify vFolder from Message on MailingList', 'testend')
+
diff --git a/evolution/vFolder_from_message_recipients.py b/evolution/vFolder_from_message_recipients.py
new file mode 100644
index 0000000..44402f9
--- /dev/null
+++ b/evolution/vFolder_from_message_recipients.py
@@ -0,0 +1,81 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify vFolder from Message on Recipients
+import string, time
+
+#Create vFolder
+def create_vFolder (index, vFolder_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreatevFolderFromMessage;mnuvFolderonRecipients')
+ settextvalue('dlgNewvFolder', 'txtRuleName', vFolder_name)
+ click ('dlgNewvFolder', 'btnOK')
+ log ('Create vFolder from Message on Recipients', 'pass')
+ return recipient
+ except:
+ log ('Create vFolder from Message on Recipients', 'fail')
+
+#Verify vFolder
+def verify_vFolder (index, folder_name, recipient):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ vFolder_mail_count = 0
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ check ('Evolution-Mail', 'mnuAsSentFolder')
+ for i in range (0, total_mail_count):
+ total_recipients = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (total_recipients, recipient) >= 0):
+ vFolder_mail_count = vFolder_mail_count + 1
+ check ('Evolution-Mail', 'mnuMessages')
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (vFolder_mail_count == folder_mail_count):
+ log ('Verify vFolder from Message Recipients', 'pass')
+ else:
+ log ('Verify vFolder from Message Recipients', 'fail')
+ except:
+ log ('Verify vFolder from Message Recipients', 'fail')
+
+#Getting the data from a file
+file = open('vFolder_message_on_recipients.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+vFolder_name = argmts[2].strip( )
+recipient = argmts[3].strip( )
+
+#Calling the functions
+log ('Create and Verify vFolder from Message on Recipients', 'teststart')
+log ('Create vFolder from Message on Recipients', 'teststart')
+create_vFolder(index, vFolder_name)
+log ('Create vFolder from Message on Recipients', 'testend')
+log ('Verify vFolder from Message on Recipients', 'teststart')
+verify_vFolder (index, vFolder_name, recipient)
+log ('Verify vFolder from Message on Recipients', 'testend')
+log ('Create and Verify vFolder from Message on Recipients', 'testend')
+
diff --git a/evolution/vFolder_from_message_sender.py b/evolution/vFolder_from_message_sender.py
new file mode 100644
index 0000000..03487ec
--- /dev/null
+++ b/evolution/vFolder_from_message_sender.py
@@ -0,0 +1,78 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify vFolder from Message on Sender
+import string, time
+
+#Create vFolder
+def create_vFolder (index, vFolder_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreatevFolderFromMessage;mnuvFolderonSender')
+ settextvalue('dlgNewvFolder', 'txtRuleName', vFolder_name)
+ click ('dlgNewvFolder', 'btnOK')
+ log ('Create vFolder from Message on Sender', 'pass')
+ except:
+ log ('Create vFolder from Message on Sender', 'fail')
+
+#Verify vFolder
+def verify_vFolder (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ vFolder_mail_count = 0
+ sender = getcellvalue ('Evolution-Mail', 'treetblMails', index, 3)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_sender = getcellvalue ('Evolution-Mail', 'treetblMails', i, 3)
+ if (string.find (temp_sender, sender) >= 0):
+ vFolder_mail_count = vFolder_mail_count + 1
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (vFolder_mail_count == folder_mail_count):
+ log ('Verify vFolder from Message Sender', 'pass')
+ else:
+ log ('Verify vFolder from Message Sender', 'fail')
+ except:
+ log ('Verify vFolder from Message Sender', 'fail')
+
+#Getting the data from a file
+file = open('vFolder_message_on_sender.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+vFolder_name = argmts[2].strip( )
+
+#Calling the functions
+log ('Create and Verify vFolder from Message on Sender', 'teststart')
+log ('Create vFolder from Message on Sender', 'teststart')
+create_vFolder(index, vFolder_name)
+log ('Create vFolder from Message on Sender', 'testend')
+log ('Verify vFolder from Message on Sender', 'teststart')
+verify_vFolder (index, vFolder_name)
+log ('Verify vFolder from Message on Sender', 'testend')
+log ('Create and Verify vFolder from Message on Sender', 'testend')
+
diff --git a/evolution/vFolder_from_message_subject.py b/evolution/vFolder_from_message_subject.py
new file mode 100644
index 0000000..64ab7c8
--- /dev/null
+++ b/evolution/vFolder_from_message_subject.py
@@ -0,0 +1,78 @@
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Khasim Shaheed <sshaik@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This test script is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#Create and Verify vFolder from Message on Subject
+import string, time
+
+#Create vFolder
+def create_vFolder (index, vFolder_name):
+ try:
+ click ('Evolution-Mail', 'tbtnMail')
+ time.sleep (2)
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ selectrowindex ('Evolution-Mail', 'treetblMails', index)
+ selectmenuitem ('Evolution-Mail', 'mnuTools;mnuCreatevFolderFromMessage;mnuvFolderonSubject')
+ settextvalue('dlgNewvFolder', 'txtRuleName', vFolder_name)
+ click ('dlgNewvFolder', 'btnOK')
+ log ('Create vFolder from Message on Subject', 'pass')
+ except:
+ log ('Create vFolder from Message on Subject', 'fail')
+
+#Verify vFolder
+def verify_vFolder (index, folder_name):
+ try:
+ selectrow ('Evolution-Mail', 'treeTabFolder', 'Mailbox')
+ vFolder_mail_count = 0
+ subject = getcellvalue ('Evolution-Mail', 'treetblMails', index, 4)
+ total_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ for i in range (0, total_mail_count):
+ temp_subject = getcellvalue ('Evolution-Mail', 'treetblMails', i, 4)
+ if (string.find (temp_subject, subject) >= 0):
+ vFolder_mail_count = vFolder_mail_count + 1
+ selectrow ('Evolution-Mail', 'treeTabFolder', folder_name)
+ time.sleep (2)
+ folder_mail_count = getrowcount ('Evolution-Mail', 'treetblMails')
+ if (vFolder_mail_count == folder_mail_count):
+ log ('Verify vFolder from Message Subject', 'pass')
+ else:
+ log ('Verify vFolder from Message Subject', 'fail')
+ except:
+ log ('Verify vFolder from Message Subject', 'fail')
+
+#Getting the data from a file
+file = open('vFolder_message_on_subject.dat', 'r')
+argmts = file.readlines()
+index = int (argmts[1].strip( ))
+vFolder_name = argmts[2].strip( )
+
+#Calling the functions
+log ('Create and Verify vFolder from Message on Subject', 'teststart')
+log ('Create vFolder from Message on Subject', 'teststart')
+create_vFolder(index, vFolder_name)
+log ('Create vFolder from Message on Subject', 'testend')
+log ('Verify vFolder from Message on Subject', 'teststart')
+verify_vFolder (index, vFolder_name)
+log ('Verify vFolder from Message on Subject', 'testend')
+log ('Create and Verify vFolder from Message on Subject', 'testend')
+
diff --git a/evolution/vFolder_message_on_mailinglist.dat b/evolution/vFolder_message_on_mailinglist.dat
new file mode 100644
index 0000000..eadb40d
--- /dev/null
+++ b/evolution/vFolder_message_on_mailinglist.dat
@@ -0,0 +1,3 @@
+junk
+2
+vf_mailinglist
diff --git a/evolution/vFolder_message_on_recipients.dat b/evolution/vFolder_message_on_recipients.dat
new file mode 100644
index 0000000..86732fe
--- /dev/null
+++ b/evolution/vFolder_message_on_recipients.dat
@@ -0,0 +1,4 @@
+junk
+2
+vf_recipients
+ldtp@scooby.net
diff --git a/evolution/vFolder_message_on_sender.dat b/evolution/vFolder_message_on_sender.dat
new file mode 100644
index 0000000..0ef95c3
--- /dev/null
+++ b/evolution/vFolder_message_on_sender.dat
@@ -0,0 +1,3 @@
+junk
+2
+vf_sender
diff --git a/evolution/vFolder_message_on_subject.dat b/evolution/vFolder_message_on_subject.dat
new file mode 100644
index 0000000..c272b77
--- /dev/null
+++ b/evolution/vFolder_message_on_subject.dat
@@ -0,0 +1,3 @@
+junk
+2
+vf_subject
diff --git a/evolution/view-mail.dat b/evolution/view-mail.dat
new file mode 100644
index 0000000..47f7cf7
--- /dev/null
+++ b/evolution/view-mail.dat
@@ -0,0 +1,3 @@
+Sent Items
+-9
+viewmail_refimg.png \ No newline at end of file
diff --git a/evolution/view-mail.py b/evolution/view-mail.py
new file mode 100644
index 0000000..9766157
--- /dev/null
+++ b/evolution/view-mail.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python
+#
+# Linux Desktop Testing Project http://www.gnomebangalore.org/ldtp
+#
+# Author:
+# Nagashree <mnagashree@novell.com>
+# Premkumar <jpremkumar@novell.com>
+#
+# Copyright 2004 Novell, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+#To view mail
+def view_mail (folder_name,i,ref_image):
+ try:
+ verifymailwithimage (folder_name,i,ref_image)
+ except:
+ log ('View mail failed','error')
+ raise LdtpExecutionError (0)
+
+#Reading inputs from file
+file = open ('view-mail.dat','r')
+argmts = file.readlines()
+folder_name = argmts[0].strip()
+i = argmts[1].strip()
+ref_image = argmts[2].strip()
+
+log ('View mail verification','teststart')
+time.sleep(2)
+view_mail (folder_name,i,ref_image)
+time.sleep(2)
+log ('View mail verification','testend')