tracker r1675 - in branches/xesam-support/tests/trackerd: . xesam



Author: pvanhoof
Date: Fri Jun 13 11:36:20 2008
New Revision: 1675
URL: http://svn.gnome.org/viewvc/tracker?rev=1675&view=rev

Log:
Some updateds to the xesam tests

Modified:
   branches/xesam-support/tests/trackerd/tracker-xesam-hit-test.c
   branches/xesam-support/tests/trackerd/tracker-xesam-hits-test.c
   branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.c
   branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.h
   branches/xesam-support/tests/trackerd/xesam/xesam-g-utils.h

Modified: branches/xesam-support/tests/trackerd/tracker-xesam-hit-test.c
==============================================================================
--- branches/xesam-support/tests/trackerd/tracker-xesam-hit-test.c	(original)
+++ branches/xesam-support/tests/trackerd/tracker-xesam-hit-test.c	Fri Jun 13 11:36:20 2008
@@ -32,8 +32,8 @@
 /* Shortcut to defining a test */
 #define TEST(func) g_test_add ("/tracker/xesam/hit/"#func, Fixture, NULL, (void (*) (Fixture*, gconstpointer))setup, test_##func, teardown);
 
-#define TIMEOUT 500
-#define TEST_XML "<request><query><contains><field name=\"xesam:album\" /><string>ne</string></contains></query></request>"
+#define TIMEOUT 1500
+#define TEST_XML "<request><query><contains><field name=\"xesam:album\" /><string>li</string></contains></query></request>"
 #define NUM_FIELDS _get_num_fields()
 
 /* Fields set in the session's hit-fields property */

Modified: branches/xesam-support/tests/trackerd/tracker-xesam-hits-test.c
==============================================================================
--- branches/xesam-support/tests/trackerd/tracker-xesam-hits-test.c	(original)
+++ branches/xesam-support/tests/trackerd/tracker-xesam-hits-test.c	Fri Jun 13 11:36:20 2008
@@ -32,8 +32,8 @@
 /* Shortcut to defining a test */
 #define TEST(func) g_test_add ("/tracker/xesam/hits/"#func, Fixture, NULL, (void (*) (Fixture*, gconstpointer))setup, test_##func, teardown);
 
-#define TIMEOUT 500
-#define TEST_XML "<request><query><contains><field name=\"xesam:album\" /><string>ne</string></contains></query></request>"
+#define TIMEOUT 1500
+#define TEST_XML "<request><query><contains><field name=\"xesam:album\" /><string>li</string></contains></query></request>"
 
 /* Test fixture passed to all tests */
 typedef struct {

Modified: branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.c
==============================================================================
--- branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.c	(original)
+++ branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.c	Fri Jun 13 11:36:20 2008
@@ -22,6 +22,7 @@
 
 #include "xesam-g-test-query-builder.h"
 #include <xesam-glib/xesam-g-query-builder.h>
+#include <xesam-glib/xesam-g-query-token.h>
 #include <xesam-glib/xesam-glib-globals.h>
 #include "xesam-g-utils.h"
 #include "xesam-g-debug-private.h"
@@ -31,46 +32,50 @@
 };
 
 typedef struct {
-	gchar		*attr1;
-	gchar		*attr2;
-	gboolean	*bool_attr;
-	gchar		*text;
-	guint		element_detail;
+	gchar				*attr1;
+	gchar				*attr2;
+	gboolean			*bool_attr;
+	gchar				*text;
+	XesamGQueryToken	token;
 } ExpectedElementData;
 
 struct _XesamGTestQueryBuilderPrivate {
 	GSList	*expected_data;
 };
 
-static void xesam_g_test_query_builder_real_add_query (XesamGQueryBuilder		*self,
-													   XesamGQueryElementType	query_type,
-													   const gchar				*content_cat,
-													   const gchar				*source_cat,
-													   GError					**error);
-
-static void xesam_g_test_query_builder_real_add_clause (XesamGQueryBuilder		*self,
-														XesamGClauseElementType	clause_type,
-														const gchar				*boost,
-														const gboolean			*negate,
-														const gchar				**attr_names,
-														const gchar				**attr_vals,
-														GError					**error);
-
-static void xesam_g_test_query_builder_real_add_field (XesamGQueryBuilder		*self,
-													   XesamGFieldElementType	field_type,
-													   const char				*name,
-													   GError					**error);
-
-static void xesam_g_test_query_builder_real_add_value (XesamGQueryBuilder		*self,
-													   XesamGValueElementType	value_type,
-													   const gchar				*value,
-													   const gchar				**attr_names,
-													   const gchar				**attr_vals,
-													   GError					**error);
-
-static void xesam_g_test_query_builder_real_close_current_child
-													  (XesamGQueryBuilder		*self,
-													   GError					**error);
+static gboolean xesam_g_test_query_builder_real_start_query (XesamGQueryBuilder		*self,
+															 XesamGQueryToken		token,
+															 const gchar			*content_cat,
+															 const gchar			*source_cat,
+															 GError					**error);
+
+static gboolean xesam_g_test_query_builder_real_add_clause (XesamGQueryBuilder		*self,
+															XesamGQueryToken		token,
+															const gchar				*boost,
+															const gboolean			*negate,
+															const gchar				**attr_names,
+															const gchar				**attr_vals,
+															GError					**error);
+
+static gboolean xesam_g_test_query_builder_real_add_field (XesamGQueryBuilder		*self,
+														   XesamGQueryToken			token,
+														   const char				*name,
+														   GError					**error);
+
+static gboolean xesam_g_test_query_builder_real_add_value (XesamGQueryBuilder		*self,
+														   XesamGQueryToken			token,
+														   const gchar				*value,
+														   const gchar				**attr_names,
+														   const gchar				**attr_vals,
+														   GError					**error);
+
+static gboolean xesam_g_test_query_builder_real_close_clause
+														  (XesamGQueryBuilder		*self,
+														   GError					**error);
+
+static gboolean xesam_g_test_query_builder_real_close_query
+														  (XesamGQueryBuilder		*self,
+														   GError					**error);
 
 static ExpectedElementData*
 			expected_element_data_new 					(guint					element_detail,
@@ -82,7 +87,7 @@
 static void expected_element_data_destroy				(ExpectedElementData	*exp_data);
 
 static void check_expected_data							(XesamGTestQueryBuilder	*self,
-														 guint					element_detail,
+														 XesamGQueryToken		token,
 														 const gchar			*attr1,
 														 const gchar			*attr2,
 														 const gboolean			*bool_attr,
@@ -92,36 +97,31 @@
 static XesamGQueryBuilderIface* xesam_g_test_query_builder_parent_iface = NULL;
 
 
-static void
-xesam_g_test_query_builder_real_add_query (XesamGQueryBuilder		*base,
-										   XesamGQueryElementType	query_type,
-										   const gchar				*content_cat,
-										   const gchar				*source_cat,
-										   GError					**error)
+static gboolean
+xesam_g_test_query_builder_real_start_query (XesamGQueryBuilder		*base,
+											 XesamGQueryToken		token,
+											 const gchar			*content_cat,
+											 const gchar			*source_cat,
+											 GError					**error)
 {
 	XesamGTestQueryBuilder	*self;
-	GEnumValue 				*enum_val;
-	static 		GEnumClass	*enum_class = NULL;
 	
-	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base));
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
 	
 	self = XESAM_G_TEST_QUERY_BUILDER (base);
 	
-	if (!enum_class)
-		enum_class = (GEnumClass*) g_type_class_ref (XESAM_TYPE_G_QUERY_ELEMENT);
-	
-	enum_val = g_enum_get_value (enum_class, query_type);
-	g_return_if_fail (enum_val != NULL);
+	xesam_g_debug_object (self, "start_query (%s, content='%s', source='%s')",
+						  xesam_g_query_token_get_name (token),
+						  content_cat, source_cat);
 	
-	check_expected_data (self, query_type, content_cat, source_cat, NULL, NULL);
+	check_expected_data (self, token, content_cat, source_cat, NULL, NULL);
 	
-	xesam_g_debug_object (self, "add_query (%s, content='%s', source='%s')",
-						  enum_val->value_nick, content_cat, source_cat);
+	return TRUE;
 }
 
-static void
+static gboolean
 xesam_g_test_query_builder_real_add_clause (XesamGQueryBuilder		*base,
-											XesamGClauseElementType	clause_type,
+											XesamGQueryToken		token,
 											const gchar				*boost,
 											const gboolean			*negate,
 											const gchar				**attr_names,
@@ -129,95 +129,105 @@
 											GError					**error)
 {
 	XesamGTestQueryBuilder	*self;
-	GEnumValue 				*enum_val;
-	static 		GEnumClass	*enum_class = NULL;
 	
-	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base));
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
 	
 	self = XESAM_G_TEST_QUERY_BUILDER (base);
 	
-	if (!enum_class)
-		enum_class = (GEnumClass*) g_type_class_ref (XESAM_TYPE_G_CLAUSE_ELEMENT);
-	
-	enum_val = g_enum_get_value (enum_class, clause_type);
-	g_return_if_fail (enum_val != NULL);
-	
-	check_expected_data (self, clause_type, boost, NULL, negate, NULL);
-	
 	xesam_g_debug_object (self, "add_clause (%s, negate='%s' boost='%s')",
-						  enum_val->value_nick,
+						  xesam_g_query_token_get_name (token),
 						  negate ? (*negate ? "True" : "False") : "NULL",
 						  boost);
+	
+	check_expected_data (self, token, boost, NULL, negate, NULL);
+	
+	return TRUE;
 }
 
-static void
+static gboolean
 xesam_g_test_query_builder_real_add_field (XesamGQueryBuilder		*base,
-										   XesamGFieldElementType	field_type,
+										   XesamGQueryToken			token,
 										   const char				*name,
 										   GError					**error)
 {
 	XesamGTestQueryBuilder	*self;
-	GEnumValue 				*enum_val;
-	static 		GEnumClass	*enum_class = NULL;
 	
-	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base));
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
 	
 	self = XESAM_G_TEST_QUERY_BUILDER (base);
 	
-	if (!enum_class)
-		enum_class = (GEnumClass*) g_type_class_ref (XESAM_TYPE_G_FIELD_ELEMENT);
-	
-	enum_val = g_enum_get_value (enum_class, field_type);
-	g_return_if_fail (enum_val != NULL);
+	xesam_g_debug_object (self, "add_field (%s, name='%s')",
+						  xesam_g_query_token_get_name (token), name);
 	
-	check_expected_data (self, field_type, name, NULL, NULL, NULL);
+	check_expected_data (self, token, name, NULL, NULL, NULL);
 	
-	xesam_g_debug_object (self, "add_field (%s, name='%s')",
-						  enum_val->value_nick, name);
+	return TRUE;
 }
 
-static void
+static gboolean
 xesam_g_test_query_builder_real_add_value (XesamGQueryBuilder		*base,
-										   XesamGValueElementType	value_type,
+										   XesamGQueryToken			token,
 										   const gchar				*value,
 										   const gchar				**attr_names,
 										   const gchar				**attr_vals,
 										   GError					**error)
 {
 	XesamGTestQueryBuilder	*self;
-	GEnumValue 				*enum_val;
-	static 		GEnumClass	*enum_class = NULL;
+	const gchar				*attr1 = NULL, *attr2 = NULL;
 	
-	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base));
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
 	
 	self = XESAM_G_TEST_QUERY_BUILDER (base);
 	
-	if (!enum_class)
-		enum_class = (GEnumClass*) g_type_class_ref (XESAM_TYPE_G_VALUE_ELEMENT);
+	if (attr_names[0]) {
+		attr1 = attr_names[0];
+		if (attr_names[1])
+			attr2 = attr_names[1];
+	}
 	
-	enum_val = g_enum_get_value (enum_class, value_type);
-	g_return_if_fail (enum_val != NULL);
+	xesam_g_debug_object (self, "add_value (%s='%s', attr1='%s', attr2='%s')",
+						  xesam_g_query_token_get_name (token),
+						  value,
+						  attr1,
+						  attr2);
 	
-	check_expected_data (self, value_type, NULL, NULL, NULL, value);
+	check_expected_data (self, token, attr1, attr2, NULL, value);
 	
-	xesam_g_debug_object (self, "add_value (%s='%s')",
-						  enum_val->value_nick,
-						  value);
+	return TRUE;
 }
 
-static void
-xesam_g_test_query_builder_real_close_current_child (XesamGQueryBuilder	*base,
-													 GError				**error)
+static gboolean
+xesam_g_test_query_builder_real_close_clause (XesamGQueryBuilder	*base,
+											  GError				**error)
 {
 	XesamGTestQueryBuilder	*self;
 	
-	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base));
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
 	
 	self = XESAM_G_TEST_QUERY_BUILDER (base);
 	
-	check_expected_data (self, XESAM_G_ELEMENT_TYPE_NONE, NULL, NULL, NULL, NULL);
+	xesam_g_debug_object (self, "close_clause ()");
+	
+	check_expected_data (self, XESAM_G_QUERY_TOKEN_NONE, NULL, NULL, NULL, NULL);
 	
-	xesam_g_debug_object (self, "close_child ()");
+	return TRUE;
+}
+
+static gboolean
+xesam_g_test_query_builder_real_close_query (XesamGQueryBuilder	*base,
+											 GError				**error)
+{
+	XesamGTestQueryBuilder	*self;
+	
+	g_return_val_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (base), FALSE);
+	
+	self = XESAM_G_TEST_QUERY_BUILDER (base);
+	
+	xesam_g_debug_object (self, "close_query ()");
+	
+	check_expected_data (self, XESAM_G_QUERY_TOKEN_NONE, NULL, NULL, NULL, NULL);
+	
+	return TRUE;
 }
 
 
@@ -260,11 +270,12 @@
 {
 	xesam_g_test_query_builder_parent_iface = g_type_interface_peek_parent (iface);
 	
-	iface->add_query = xesam_g_test_query_builder_real_add_query;
+	iface->start_query = xesam_g_test_query_builder_real_start_query;
 	iface->add_clause = xesam_g_test_query_builder_real_add_clause;
 	iface->add_field = xesam_g_test_query_builder_real_add_field;
 	iface->add_value = xesam_g_test_query_builder_real_add_value;
-	iface->close_current_child = xesam_g_test_query_builder_real_close_current_child;
+	iface->close_clause = xesam_g_test_query_builder_real_close_clause;
+	iface->close_query = xesam_g_test_query_builder_real_close_query;
 }
 
 
@@ -326,7 +337,7 @@
 
 void
 xesam_g_test_query_builder_expect_data (XesamGTestQueryBuilder	*self,
-										guint					element_detail,
+										XesamGQueryToken		token,
 										const gchar				*attr1,
 										const gchar				*attr2,
 										const gboolean			*bool_attr,
@@ -336,15 +347,36 @@
 	
 	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER(self));
 	
-	exp_data = expected_element_data_new (element_detail,
-										  attr1, attr2, bool_attr, text);
+	exp_data = expected_element_data_new (token, attr1, attr2, bool_attr, text);
 	
-	self->priv->expected_data = g_slist_prepend (self->priv->expected_data, exp_data);
+	/* Yes, appending data to a GSList is silly, but we don't care the slightest
+	 * about performance here */
+	self->priv->expected_data = g_slist_append (self->priv->expected_data, exp_data);
 										   
 }
 
+void
+xesam_g_test_query_builder_expect_close_clause (XesamGTestQueryBuilder	*self)
+{
+	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (self));
+	
+	xesam_g_test_query_builder_expect_data (self,
+											XESAM_G_QUERY_TOKEN_NONE,
+											NULL, NULL, NULL, NULL);
+}
+
+void
+xesam_g_test_query_builder_expect_close_query (XesamGTestQueryBuilder	*self)
+{
+	g_return_if_fail (XESAM_IS_G_TEST_QUERY_BUILDER (self));
+	
+	xesam_g_test_query_builder_expect_data (self,
+											XESAM_G_QUERY_TOKEN_NONE,
+											NULL, NULL, NULL, NULL);
+}
+
 static ExpectedElementData*
-expected_element_data_new (guint					element_detail,
+expected_element_data_new (XesamGQueryToken			token,
 						   const gchar				*attr1,
 						   const gchar				*attr2,
 						   const gboolean			*bool_attr,
@@ -353,7 +385,7 @@
 	ExpectedElementData	*exp_data;
 	
 	exp_data = g_slice_new (ExpectedElementData);
-	exp_data->element_detail = element_detail;
+	exp_data->token = token;
 	exp_data->attr1 = g_strdup (attr1);
 	exp_data->attr2 = g_strdup (attr2);
 	exp_data->bool_attr = g_memdup (bool_attr, sizeof(gboolean));
@@ -375,7 +407,7 @@
 
 static void
 check_expected_data (XesamGTestQueryBuilder *self,
-					 guint					element_detail,
+					 XesamGQueryToken		token,
 					 const gchar			*attr1,
 					 const gchar			*attr2,
 					 const gboolean			*bool_attr,
@@ -392,7 +424,8 @@
 	
 	exp_data = (ExpectedElementData*) self->priv->expected_data->data;
 	
-	g_assert_cmpuint (element_detail, ==, exp_data->element_detail);
+	g_assert_cmpstr (xesam_g_query_token_get_name (token), ==,
+					 xesam_g_query_token_get_name (exp_data->token));
 	
 	g_assert_cmpstr (attr1, ==, exp_data->attr1);
 	g_assert_cmpstr (attr2, ==, exp_data->attr2);

Modified: branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.h
==============================================================================
--- branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.h	(original)
+++ branches/xesam-support/tests/trackerd/xesam/xesam-g-test-query-builder.h	Fri Jun 13 11:36:20 2008
@@ -26,6 +26,7 @@
 #include <glib.h>
 #include <glib-object.h>
 #include "xesam-glib/xesam-g-query-builder.h"
+#include "xesam-glib/xesam-g-query-token.h"
 
 G_BEGIN_DECLS
 
@@ -54,12 +55,18 @@
 GType 						xesam_g_test_query_builder_get_type		(void);
 
 void						xesam_g_test_query_builder_expect_data	(XesamGTestQueryBuilder	*self,
-																	 guint 					element_detail,
+																	 XesamGQueryToken		token,
 																	 const gchar			*attr1,
 																	 const gchar			*attr2,
 																	 const gboolean			*bool_attr,
 																	 const gchar			*value);
 
+void						xesam_g_test_query_builder_expect_close_clause
+																	(XesamGTestQueryBuilder	*self);
+
+void						xesam_g_test_query_builder_expect_close_query
+																	(XesamGTestQueryBuilder	*self);
+
 G_END_DECLS
 
 #endif

Modified: branches/xesam-support/tests/trackerd/xesam/xesam-g-utils.h
==============================================================================
--- branches/xesam-support/tests/trackerd/xesam/xesam-g-utils.h	(original)
+++ branches/xesam-support/tests/trackerd/xesam/xesam-g-utils.h	Fri Jun 13 11:36:20 2008
@@ -32,14 +32,16 @@
 
 G_BEGIN_DECLS
 
-GValue* init_value_if_null 				(GValue **value,
-										 GType value_type);
+GValue* 		init_value_if_null 				(GValue **value,
+												 GType value_type);
 
-gchar*	g_property_to_xesam_property 	(gchar 	*g_prop_name);
+gchar*			g_property_to_xesam_property 	(gchar 	*g_prop_name);
 
-void	free_ptr_array_of_values		(GPtrArray *array);
+void			free_ptr_array_of_values		(GPtrArray *array);
 
-GValue* xesam_g_clone_value				(const GValue *orig);
+GValue* 		xesam_g_clone_value				(const GValue *orig);
+
+const gchar*	digit_as_const_char				(guint			digit);
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]