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

Reply via email to