diff options
| author | Ted Gould <ted@gould.cx> | 2010-02-04 23:30:25 -0800 | 
|---|---|---|
| committer | Ted Gould <ted@gould.cx> | 2010-02-04 23:30:25 -0800 | 
| commit | 9b0c52147aa3e9b2e90731f1c21e59e500799022 (patch) | |
| tree | 515022b9e7ccbfc940d3da638f1b1cb5e07ee277 /tests | |
| parent | 103580a46bcffaae27e8dafc6cf943ad465cb2fa (diff) | |
| parent | a94d7042028da404cb336c0a0e9fcdadb2406a61 (diff) | |
| download | libdbusmenu-9b0c52147aa3e9b2e90731f1c21e59e500799022.tar.gz libdbusmenu-9b0c52147aa3e9b2e90731f1c21e59e500799022.tar.bz2 libdbusmenu-9b0c52147aa3e9b2e90731f1c21e59e500799022.zip | |
* Upstrem Merge
  * Fixing the range nd default.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test-glib-layout-client.c | 8 | ||||
| -rw-r--r-- | tests/test-glib-layout-server.c | 4 | ||||
| -rw-r--r-- | tests/test-glib-layout.h | 22 | ||||
| -rw-r--r-- | tests/test-glib-objects.c | 25 | 
4 files changed, 43 insertions, 16 deletions
| diff --git a/tests/test-glib-layout-client.c b/tests/test-glib-layout-client.c index bb2d13a..82228b5 100644 --- a/tests/test-glib-layout-client.c +++ b/tests/test-glib-layout-client.c @@ -36,8 +36,10 @@ verify_root_to_layout(DbusmenuMenuitem * mi, layout_t * layout)  	g_debug("Verifying ID: %d", layout->id);  	if (layout->id != dbusmenu_menuitem_get_id(mi)) { -		g_debug("Failed as ID %d is not equal to %d", layout->id, dbusmenu_menuitem_get_id(mi)); -		return FALSE; +		if (!(dbusmenu_menuitem_get_root(mi) && dbusmenu_menuitem_get_id(mi) == 0)) { +			g_debug("Failed as ID %d is not equal to %d", layout->id, dbusmenu_menuitem_get_id(mi)); +			return FALSE; +		}  	}  	GList * children = dbusmenu_menuitem_get_children(mi); @@ -88,7 +90,7 @@ layout_updated (DbusmenuClient * client, gpointer data)  	layouton++; -	if (layouts[layouton].id == 0) { +	if (layouts[layouton].id == -1) {  		g_main_loop_quit(mainloop);  	} diff --git a/tests/test-glib-layout-server.c b/tests/test-glib-layout-server.c index 40dd048..111e164 100644 --- a/tests/test-glib-layout-server.c +++ b/tests/test-glib-layout-server.c @@ -41,7 +41,7 @@ layout2menuitem (layout_t * layout)  	if (layout->submenu != NULL) {  		guint count; -		for (count = 0; layout->submenu[count].id != 0; count++) { +		for (count = 0; layout->submenu[count].id != -1; count++) {  			DbusmenuMenuitem * child = layout2menuitem(&layout->submenu[count]);  			if (child != NULL) {  				dbusmenu_menuitem_child_append(local, child); @@ -60,7 +60,7 @@ static GMainLoop * mainloop = NULL;  static gboolean  timer_func (gpointer data)  { -	if (layouts[layouton].id == 0) { +	if (layouts[layouton].id == -1) {  		g_main_loop_quit(mainloop);  		return FALSE;  	} diff --git a/tests/test-glib-layout.h b/tests/test-glib-layout.h index a13125d..b64c4ea 100644 --- a/tests/test-glib-layout.h +++ b/tests/test-glib-layout.h @@ -21,51 +21,51 @@ with this program.  If not, see <http://www.gnu.org/licenses/>.  typedef struct _layout_t layout_t;  struct _layout_t { -	guint id; +	gint id;  	layout_t * submenu;  };  layout_t submenu_2[] = {  	{id: 2, submenu: NULL},  	{id: 3, submenu: NULL}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_3_1[] = {  	{id: 3, submenu: NULL},  	{id: 4, submenu: NULL},  	{id: 5, submenu: NULL}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_3_2[] = {  	{id: 7, submenu: NULL},  	{id: 8, submenu: NULL},  	{id: 9, submenu: NULL}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_3[] = {  	{id: 2, submenu: submenu_3_1},  	{id: 6, submenu: submenu_3_2}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_4_1[] = {  	{id: 6, submenu: NULL}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_4_2[] = {  	{id: 5, submenu: submenu_4_1}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_4_3[] = {  	{id: 4, submenu: submenu_4_2}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_4_4[] = {  	{id: 3, submenu: submenu_4_3}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t submenu_4_5[] = {  	{id: 2, submenu: submenu_4_4}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  };  layout_t layouts[] = { @@ -73,6 +73,6 @@ layout_t layouts[] = {  	{id: 1, submenu: submenu_2},  	{id: 1, submenu: submenu_3},  	{id: 1, submenu: submenu_4_5}, -	{id: 0, submenu: NULL} +	{id: -1, submenu: NULL}  }; diff --git a/tests/test-glib-objects.c b/tests/test-glib-objects.c index f3fbcc8..1d4f673 100644 --- a/tests/test-glib-objects.c +++ b/tests/test-glib-objects.c @@ -47,6 +47,30 @@ test_object_menuitem (void)  	return;  } +/* Check to make sure a new ID is bigger than 0 */ +static void +test_object_menuitem_id (void) +{ +	/* Build a menu item */ +	DbusmenuMenuitem * item = dbusmenu_menuitem_new(); + +	/* Test to make sure it's a happy object */ +	g_assert(item != NULL); +	g_assert(G_IS_OBJECT(item)); +	g_assert(DBUSMENU_IS_MENUITEM(item)); + +	g_assert(dbusmenu_menuitem_get_id(item) > 0); + +	/* Set up a check to make sure it gets destroyed on unref */ +	g_object_add_weak_pointer(G_OBJECT(item), (gpointer *)&item); +	g_object_unref(item); + +	/* Did it go away? */ +	g_assert(item == NULL); + +	return; +} +  /* Set a string prop, make sure it's stored as one */  static void  test_object_menuitem_props_string (void) @@ -255,6 +279,7 @@ static void  test_glib_objects_suite (void)  {  	g_test_add_func ("/dbusmenu/glib/objects/menuitem/base",          test_object_menuitem); +	g_test_add_func ("/dbusmenu/glib/objects/menuitem/id",            test_object_menuitem_id);  	g_test_add_func ("/dbusmenu/glib/objects/menuitem/props_string",  test_object_menuitem_props_string);  	g_test_add_func ("/dbusmenu/glib/objects/menuitem/props_int",     test_object_menuitem_props_int);  	g_test_add_func ("/dbusmenu/glib/objects/menuitem/props_bool",    test_object_menuitem_props_bool); | 
