aboutsummaryrefslogtreecommitdiff
path: root/tests/dbusmenu-gtk/mago_tests
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-10-09 12:06:56 -0400
committerTed Gould <ted@canonical.com>2009-10-09 12:06:56 -0400
commitdce80730186bfb61b1919652d71fc249b8df5f75 (patch)
tree4b73ccf17a97ffe3c0d66d1376360fd4e0430c76 /tests/dbusmenu-gtk/mago_tests
parent1e668b013089c5a4027102bca75f7542917fef2d (diff)
downloadlibdbusmenu-dce80730186bfb61b1919652d71fc249b8df5f75.tar.gz
libdbusmenu-dce80730186bfb61b1919652d71fc249b8df5f75.tar.bz2
libdbusmenu-dce80730186bfb61b1919652d71fc249b8df5f75.zip
Making the mago tests run in the make file in tests and making it so that they use a standard Python file.
Diffstat (limited to 'tests/dbusmenu-gtk/mago_tests')
-rw-r--r--tests/dbusmenu-gtk/mago_tests/dbusmenu.py71
-rw-r--r--tests/dbusmenu-gtk/mago_tests/dbusmenu.xml89
2 files changed, 160 insertions, 0 deletions
diff --git a/tests/dbusmenu-gtk/mago_tests/dbusmenu.py b/tests/dbusmenu-gtk/mago_tests/dbusmenu.py
new file mode 100644
index 0000000..5e9f691
--- /dev/null
+++ b/tests/dbusmenu-gtk/mago_tests/dbusmenu.py
@@ -0,0 +1,71 @@
+from mago.test_suite.main import SingleApplicationTestSuite
+from mago.application.main import Application
+
+import ldtp, ooldtp, ldtputils, os.path
+
+class DbusMenuGtkApp():
+ LAUNCHER = os.path.join(os.path.dirname(__file__), "..", "dbusMenuTest")
+ WINDOW = "frmlibdbusmenu-gtktest"
+
+ def open(self, menu_schema=''):
+ ldtp.launchapp(self.LAUNCHER, [menu_schema])
+
+ def menu_exists(self, menu=''):
+ app = ooldtp.context(self.WINDOW)
+
+ if menu == '':
+ menu = "mnu1"
+
+ try:
+ component = app.getchild(menu)
+ except ldtp.LdtpExecutionError:
+ return False
+
+ return True
+
+ def get_submenus(self, menu=''):
+ app = ooldtp.context(self.WINDOW)
+
+ if menu == '':
+ menu = "mnu1"
+
+ component = app.getchild(menu)
+
+ try:
+ submenus = component.listsubmenus()
+ except ldtp.LdtpExecutionError:
+ return ""
+
+ return submenus
+
+class DbusMenuGtkTest(SingleApplicationTestSuite):
+ APPLICATION_FACTORY = DbusMenuGtkApp
+
+ def cleanup(self):
+ ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70)
+
+ def teardown(self):
+ ldtp.waittillguinotexist(self.application.WINDOW, guiTimeOut=70)
+
+ def testStaticMenu(self, menu_schema, menu_item='', notexists=''):
+ self.application.open(menu_schema)
+ ldtp.waittillguiexist(self.application.WINDOW)
+
+ if notexists == "True":
+ if self.application.menu_exists(menu_item):
+ raise AssertionError("The menu item exists")
+ else:
+ if not self.application.menu_exists(menu_item):
+ raise AssertionError("The menu item does not exists")
+
+
+ def testSubmenus(self, menu_schema, menu_item='', submenus=''):
+ self.application.open(menu_schema)
+ ldtp.waittillguiexist(self.application.WINDOW)
+
+ if submenus != self.application.get_submenus(menu_item):
+ raise AssertionError("The submenus are different")
+
+
+
+
diff --git a/tests/dbusmenu-gtk/mago_tests/dbusmenu.xml b/tests/dbusmenu-gtk/mago_tests/dbusmenu.xml
new file mode 100644
index 0000000..d02191e
--- /dev/null
+++ b/tests/dbusmenu-gtk/mago_tests/dbusmenu.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<suite name="dbusmenu gtk test suite">
+ <class>dbusmenu.DbusMenuGtkTest</class>
+ <description>
+ Test libdbusmenu-gtk.
+ </description>
+ <case name="Static Test">
+ <method>testStaticMenu</method>
+ <description>Simple check for a menu </description>
+ <args>
+ <menu_schema>data/static.json</menu_schema>
+ <menu_item>value39</menu_item>
+ </args>
+ </case>
+ <case name="Blank label">
+ <method>testStaticMenu</method>
+ <description>Blank Label</description>
+ <args>
+ <menu_schema>data/blank_label.json</menu_schema>
+ <menu_item></menu_item>
+ </args>
+ </case>
+ <case name="Blank Submenus">
+ <method>testSubmenus</method>
+ <description>Blank Submenus</description>
+ <args>
+ <menu_schema>data/blank_submenus.json</menu_schema>
+ <menu_item>value6</menu_item>
+ <submenus></submenus>
+ </args>
+ </case>
+ <case name="Long Label">
+ <method>testStaticMenu</method>
+ <description>Really Long Label (1000 chars)</description>
+ <args>
+ <menu_schema>data/long_label.json</menu_schema>
+ <menu_item>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</menu_item>
+ </args>
+ </case>
+ <case name="No Id">
+ <method>testStaticMenu</method>
+ <description>Search for a submenu that comes from a menu without ID</description>
+ <args>
+ <menu_schema>data/no_id.json</menu_schema>
+ <menu_item>submenu_from_no_id</menu_item>
+ </args>
+ </case>
+ <case name="Blank Label 2 levels">
+ <method>testStaticMenu</method>
+ <description>Search for a submenu that comes from a menu with a blank label</description>
+ <args>
+ <menu_schema>data/blank_label_2levels.json</menu_schema>
+ <menu_item>value10</menu_item>
+ </args>
+ </case>
+ <case name="No Label">
+ <method>testStaticMenu</method>
+ <description>Be sure that a submenu from a menu without label does not exist</description>
+ <args>
+ <menu_schema>data/no_label.json</menu_schema>
+ <menu_item>submenu_from_no_label</menu_item>
+ <notexists>True</notexists>
+ </args>
+ </case>
+ <case name="Several Submenus">
+ <method>testStaticMenu</method>
+ <description>Check that a submenu is shown</description>
+ <args>
+ <menu_schema>data/several_submenus.json</menu_schema>
+ <menu_item>value10</menu_item>
+ </args>
+ </case>
+ <case name="Several Submenus Recursive">
+ <method>testStaticMenu</method>
+ <description>Be sure that a submenu from a 4th level depth, is shown</description>
+ <args>
+ <menu_schema>data/several_submenus_recursive.json</menu_schema>
+ <menu_item>value7001</menu_item>
+ </args>
+ </case>
+ <case name="Several Submenus UTF8">
+ <method>testStaticMenu</method>
+ <description>Be sure that a submenu, with a UTF-8 label, is shown</description>
+ <args>
+ <menu_schema>data/several_submenus_utf8.json</menu_schema>
+ <menu_item>value5ス</menu_item>
+ </args>
+ </case>
+</suite>