jeyzu pushed a commit to branch master.
commit 52b20f0334f0f8535bbd867548c13d1215b3c2cf
Author: Jérémy Zurcher <[email protected]>
Date: Wed May 8 12:14:51 2013 +0200
eina_stringshare: improve coverage
---
src/tests/eina/eina_test_stringshare.c | 44 ++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/src/tests/eina/eina_test_stringshare.c
b/src/tests/eina/eina_test_stringshare.c
index 0d34aec..9842b11 100644
--- a/src/tests/eina/eina_test_stringshare.c
+++ b/src/tests/eina/eina_test_stringshare.c
@@ -89,6 +89,8 @@ START_TEST(eina_stringshare_small)
fail_if((int)strlen(buf) != eina_stringshare_strlen(t0));
fail_if((int)strlen(buf) != eina_stringshare_strlen(t1));
+ eina_stringshare_ref(t0);
+ eina_stringshare_del(t0);
eina_stringshare_del(t0);
eina_stringshare_del(t1);
}
@@ -190,6 +192,47 @@ START_TEST(eina_stringshare_collision)
}
END_TEST
+static const char*
+my_vprintf(const char *fmt, ...)
+{
+ const char *ret;
+ va_list ap;
+ va_start(ap, fmt);
+ ret = eina_stringshare_vprintf(fmt, ap);
+ va_end(ap);
+ return ret;
+}
+
+START_TEST(eina_stringshare_print)
+{
+ const char *t1;
+ const char *t2;
+ const char *t3;
+
+ fail_if(eina_stringshare_printf(0) != NULL);
+ fail_if(eina_stringshare_printf("%s", "") != NULL);
+ fail_if(eina_stringshare_nprintf(0, "%s", "") != NULL);
+
+ t1 = eina_stringshare_printf("x%sy", TEST1);
+ t2 = my_vprintf("x%sy", TEST1);
+ t3 = eina_stringshare_nprintf(10, "x%sy", TEST1);
+ fail_if(t1 == NULL);
+ fail_if(t2 == NULL);
+ fail_if(t3 == NULL);
+ fail_if(strcmp(t1, "x"TEST1"y") != 0);
+ fail_if(strcmp(t2, "x"TEST1"y") != 0);
+ fail_if(strcmp(t3, "x"TEST1"y") != 0);
+ fail_if(((int)strlen(TEST1) + 2) != eina_stringshare_strlen(t1));
+ fail_if(((int)strlen(TEST1) + 2) != eina_stringshare_strlen(t2));
+ fail_if(10 != eina_stringshare_strlen(t3));
+ eina_stringshare_del(t1);
+ eina_stringshare_del(t2);
+ eina_stringshare_del(t3);
+
+
+}
+END_TEST
+
void
eina_test_stringshare(TCase *tc)
{
@@ -198,4 +241,5 @@ eina_test_stringshare(TCase *tc)
tcase_add_test(tc, eina_stringshare_test_share);
tcase_add_test(tc, eina_stringshare_collision);
tcase_add_test(tc, eina_stringshare_putstuff);
+ tcase_add_test(tc, eina_stringshare_print);
}
--
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may