diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-03-13 14:21:42 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2022-03-13 15:28:15 +0100 |
commit | eaa2d2edd11eec098e509a44644599966afef497 (patch) | |
tree | 6eb628c0fe8040269a96c443fdbf72ddd23528d6 /tests/libtracker-sparql | |
parent | 02129107d36c0bd5d7ac15f580f71739b9471aa4 (diff) | |
download | tracker-eaa2d2edd11eec098e509a44644599966afef497.tar.gz |
tests: Add more tests for TrackerSparqlCursor API
Add tests for column names, and value types.
Diffstat (limited to 'tests/libtracker-sparql')
-rw-r--r-- | tests/libtracker-sparql/tracker-sparql-test.c | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/tests/libtracker-sparql/tracker-sparql-test.c b/tests/libtracker-sparql/tracker-sparql-test.c index c6e1b0e8d..66a74e1a1 100644 --- a/tests/libtracker-sparql/tracker-sparql-test.c +++ b/tests/libtracker-sparql/tracker-sparql-test.c @@ -212,6 +212,86 @@ test_tracker_sparql_cursor_next_async (void) g_main_loop_run (main_loop); } +static void +test_tracker_sparql_cursor_get_variable_name (void) +{ + TrackerSparqlConnection *connection; + TrackerSparqlCursor *cursor; + GError *error = NULL; + + connection = create_local_connection (&error); + g_assert_no_error (error); + g_assert_true (connection != NULL); + + cursor = tracker_sparql_connection_query (connection, + "SELECT ?urn ?added ?label ?unbound { " + " ?urn nrl:added ?added ; " + " rdfs:label ?label . " + "} LIMIT 1", + NULL, &error); + g_assert_no_error (error); + g_assert_true (cursor != NULL); + + tracker_sparql_cursor_next (cursor, NULL, &error); + g_assert_no_error (error); + + g_assert_cmpstr (tracker_sparql_cursor_get_variable_name (cursor, 0), + ==, + "urn"); + g_assert_cmpstr (tracker_sparql_cursor_get_variable_name (cursor, 1), + ==, + "added"); + g_assert_cmpstr (tracker_sparql_cursor_get_variable_name (cursor, 2), + ==, + "label"); + g_assert_cmpstr (tracker_sparql_cursor_get_variable_name (cursor, 3), + ==, + "unbound"); + + tracker_sparql_cursor_close (cursor); + tracker_sparql_connection_close (connection); +} + +static void +test_tracker_sparql_cursor_get_value_type (void) +{ + TrackerSparqlConnection *connection; + TrackerSparqlCursor *cursor; + GError *error = NULL; + + connection = create_local_connection (&error); + g_assert_no_error (error); + g_assert_true (connection != NULL); + + cursor = tracker_sparql_connection_query (connection, + "SELECT ?urn ?added ?label ?unbound { " + " ?urn nrl:added ?added ; " + " rdfs:label ?label . " + "} LIMIT 1", + NULL, &error); + g_assert_no_error (error); + g_assert_true (cursor != NULL); + + tracker_sparql_cursor_next (cursor, NULL, &error); + g_assert_no_error (error); + + g_assert_cmpint (tracker_sparql_cursor_get_value_type (cursor, 0), + ==, + TRACKER_SPARQL_VALUE_TYPE_URI); + g_assert_cmpint (tracker_sparql_cursor_get_value_type (cursor, 1), + ==, + TRACKER_SPARQL_VALUE_TYPE_DATETIME); + g_assert_cmpint (tracker_sparql_cursor_get_value_type (cursor, 2), + ==, + TRACKER_SPARQL_VALUE_TYPE_STRING); + g_assert_cmpint (tracker_sparql_cursor_get_value_type (cursor, 3), + ==, + TRACKER_SPARQL_VALUE_TYPE_UNBOUND); + + tracker_sparql_cursor_close (cursor); + tracker_sparql_connection_close (connection); +} + /* Test that we return an error if no ontology is passed. */ static void test_tracker_sparql_connection_no_ontology (void) @@ -291,6 +371,10 @@ main (gint argc, gchar **argv) test_tracker_sparql_connection_interleaved); g_test_add_func ("/libtracker-sparql/tracker-sparql/tracker_sparql_cursor_next_async", test_tracker_sparql_cursor_next_async); + g_test_add_func ("/libtracker-sparql/tracker-sparql/tracker_sparql_cursor_get_variable_name", + test_tracker_sparql_cursor_get_variable_name); + g_test_add_func ("/libtracker-sparql/tracker-sparql/tracker_sparql_cursor_get_value_type", + test_tracker_sparql_cursor_get_value_type); g_test_add_func ("/libtracker-sparql/tracker-sparql/tracker_check_version", test_tracker_check_version); |