diff options
author | Richard Hughes <richard@hughsie.com> | 2016-11-16 12:33:35 +0000 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2016-11-21 15:19:55 +0000 |
commit | 977f0cc2623dc89e68b4c0d41b0164c59ac9a1ca (patch) | |
tree | 0f784c85ae1f2dc25be4a0db1d48fd4b9eacd457 /libappstream-glib/as-self-test.c | |
parent | 9f52dca956a60d7921c01bff37730e5a8790f987 (diff) | |
download | appstream-glib-977f0cc2623dc89e68b4c0d41b0164c59ac9a1ca.tar.gz |
Add a refcounted overloaded C string object
Diffstat (limited to 'libappstream-glib/as-self-test.c')
-rw-r--r-- | libappstream-glib/as-self-test.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libappstream-glib/as-self-test.c b/libappstream-glib/as-self-test.c index b8bbf16..457a4c5 100644 --- a/libappstream-glib/as-self-test.c +++ b/libappstream-glib/as-self-test.c @@ -41,6 +41,7 @@ #include "as-node-private.h" #include "as-problem.h" #include "as-provide-private.h" +#include "as-ref-string.h" #include "as-release-private.h" #include "as-suggest-private.h" #include "as-screenshot-private.h" @@ -5045,6 +5046,32 @@ as_test_utils_unique_id_hash_safe_func (void) g_assert (found == NULL); } +static void +as_test_ref_string_func (void) +{ + const gchar *tmp; + AsRefString *rstr; + AsRefString *rstr2; + + /* basic refcounting */ + rstr = as_ref_string_new ("test"); + g_assert (rstr != NULL); + g_assert_cmpstr (rstr, ==, "test"); + g_assert (as_ref_string_ref (rstr) != NULL); + g_assert (as_ref_string_unref (rstr) != NULL); + g_assert (as_ref_string_unref (rstr) == NULL); + + /* adopting const string */ + tmp = "test"; + rstr = as_ref_string_new (tmp); + g_assert_cmpstr (rstr, ==, tmp); + rstr2 = as_ref_string_new (rstr); + g_assert_cmpstr (rstr2, ==, tmp); + g_assert (rstr == rstr2); + g_assert (as_ref_string_unref (rstr) != NULL); + g_assert (as_ref_string_unref (rstr2) == NULL); +} + int main (int argc, char **argv) { @@ -5054,6 +5081,7 @@ main (int argc, char **argv) g_log_set_fatal_mask (NULL, G_LOG_LEVEL_ERROR | G_LOG_LEVEL_CRITICAL); /* tests go here */ + g_test_add_func ("/AppStream/ref-string", as_test_ref_string_func); g_test_add_func ("/AppStream/utils{unique_id-hash}", as_test_utils_unique_id_hash_func); g_test_add_func ("/AppStream/utils{unique_id-hash2}", as_test_utils_unique_id_hash_safe_func); g_test_add_func ("/AppStream/utils{unique_id}", as_test_utils_unique_id_func); |