summaryrefslogtreecommitdiff
path: root/src/libtracker-extract/tracker-guarantee.c
diff options
context:
space:
mode:
authorMartyn Russell <martyn@lanedo.com>2014-12-03 11:25:05 +0000
committerMartyn Russell <martyn@lanedo.com>2014-12-03 11:25:05 +0000
commitbe88f0034cb9599a09e1ec36bfc3bbcc56b3127f (patch)
treed8d753d61c2c216e05d9cfa7455be1dec5a0b3f3 /src/libtracker-extract/tracker-guarantee.c
parentecb703e4e21d3240c467b6f45fbce3a959a751ea (diff)
downloadtracker-be88f0034cb9599a09e1ec36bfc3bbcc56b3127f.tar.gz
libtracker-extract: Fix unit tests and return value for guarantee API
- Return FALSE when we don't add to the TrackerSparqlBuilder, TRUE otherwise - Skip any unit tests when --enable-guarantee-metadata is not configured
Diffstat (limited to 'src/libtracker-extract/tracker-guarantee.c')
-rw-r--r--src/libtracker-extract/tracker-guarantee.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/libtracker-extract/tracker-guarantee.c b/src/libtracker-extract/tracker-guarantee.c
index d7409e5ad..99354e523 100644
--- a/src/libtracker-extract/tracker-guarantee.c
+++ b/src/libtracker-extract/tracker-guarantee.c
@@ -87,7 +87,7 @@ get_date_from_file_mtime (const gchar *uri)
* (before the "." and extension of the file) as the title. If the
* title has any "_" characters, they are also converted into spaces.
*
- * Returns: %TRUE on success, otherwise %FALSE.
+ * Returns: %TRUE on success and content was added to @metadata, otherwise %FALSE.
*
* Since: 0.10
**/
@@ -98,6 +98,8 @@ tracker_guarantee_title_from_file (TrackerSparqlBuilder *metadata,
const gchar *uri,
gchar **p_new_value)
{
+ gboolean success = TRUE;
+
#ifdef GUARANTEE_METADATA
g_return_val_if_fail (metadata != NULL, FALSE);
g_return_val_if_fail (key != NULL, FALSE);
@@ -115,7 +117,12 @@ tracker_guarantee_title_from_file (TrackerSparqlBuilder *metadata,
gchar *value;
value = get_title_from_file (uri);
- tracker_sparql_builder_object_unvalidated (metadata, value);
+
+ if (!value && value[0] != '\0') {
+ tracker_sparql_builder_object_unvalidated (metadata, value);
+ } else {
+ success = FALSE;
+ }
if (p_new_value != NULL) {
*p_new_value = value;
@@ -131,10 +138,12 @@ tracker_guarantee_title_from_file (TrackerSparqlBuilder *metadata,
if (p_new_value != NULL) {
*p_new_value = g_strdup (current_value);
}
+ } else {
+ success = FALSE;
}
#endif /* GUARANTEE_METADATA */
- return TRUE;
+ return success;
}
/**
@@ -151,7 +160,7 @@ tracker_guarantee_title_from_file (TrackerSparqlBuilder *metadata,
* When parsing @uri, stat() is called on the file to create a
* date based on the file's mtime.
*
- * Returns: %TRUE on success, otherwise %FALSE.
+ * Returns: %TRUE on success and content was added to @metadata, otherwise %FALSE.
*
* Since: 0.10
**/
@@ -161,6 +170,8 @@ tracker_guarantee_date_from_file_mtime (TrackerSparqlBuilder *metadata,
const gchar *current_value,
const gchar *uri)
{
+ gboolean success = TRUE;
+
#ifdef GUARANTEE_METADATA
g_return_val_if_fail (metadata != NULL, FALSE);
g_return_val_if_fail (key != NULL, FALSE);
@@ -174,15 +185,23 @@ tracker_guarantee_date_from_file_mtime (TrackerSparqlBuilder *metadata,
gchar *value;
value = get_date_from_file_mtime (uri);
- tracker_sparql_builder_object_unvalidated (metadata, value);
+
+ if (value && *value != '\0') {
+ tracker_sparql_builder_object_unvalidated (metadata, value);
+ } else {
+ success = FALSE;
+ }
+
g_free (value);
}
#else /* GUARANTEE_METADATA */
if (current_value && *current_value != '\0') {
tracker_sparql_builder_predicate (metadata, key);
tracker_sparql_builder_object_unvalidated (metadata, current_value);
+ } else {
+ success = FALSE;
}
#endif /* GUARANTEE_METADATA */
- return TRUE;
+ return success;
}