diff options
author | Ted Gould <ted@canonical.com> | 2009-10-09 12:06:56 -0400 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-10-09 12:06:56 -0400 |
commit | dce80730186bfb61b1919652d71fc249b8df5f75 (patch) | |
tree | 4b73ccf17a97ffe3c0d66d1376360fd4e0430c76 /tests/dbusmenu-gtk/mago_tests | |
parent | 1e668b013089c5a4027102bca75f7542917fef2d (diff) | |
download | libdbusmenu-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.py | 71 | ||||
-rw-r--r-- | tests/dbusmenu-gtk/mago_tests/dbusmenu.xml | 89 |
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> |