cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0ff7bf3611d3769d2da0bc2521586dc285d5765e

commit 0ff7bf3611d3769d2da0bc2521586dc285d5765e
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Thu Dec 15 15:00:58 2016 -0800

    eina: add a test for eina_stringshare_refplace.
---
 src/tests/eina/eina_test_stringshare.c | 36 ++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/src/tests/eina/eina_test_stringshare.c 
b/src/tests/eina/eina_test_stringshare.c
index 02e5c81..0aa1beb 100644
--- a/src/tests/eina/eina_test_stringshare.c
+++ b/src/tests/eina/eina_test_stringshare.c
@@ -66,6 +66,41 @@ START_TEST(eina_stringshare_simple)
 }
 END_TEST
 
+START_TEST(eina_stringshare_simple_refplace)
+{
+   const char *t0;
+   const char *t1;
+   Eina_Slice slice;
+
+   eina_init();
+
+   t0 = eina_stringshare_add(TEST0);
+   t1 = eina_stringshare_add(TEST1);
+
+   fail_if(t0 == NULL);
+   fail_if(t1 == NULL);
+   fail_if(strcmp(t0, TEST0) != 0);
+   fail_if(strcmp(t1, TEST1) != 0);
+   fail_if((int)strlen(TEST0) != eina_stringshare_strlen(t0));
+   fail_if((int)strlen(TEST1) != eina_stringshare_strlen(t1));
+
+   fail_if(eina_stringshare_refplace(&t0, t0));
+   fail_if(t0 == NULL);
+   fail_if((int)strlen(TEST0) != eina_stringshare_strlen(t0));
+
+   slice = eina_stringshare_slice_get(t0);
+   fail_if(slice.mem != t0);
+   fail_if(slice.len != strlen(TEST0));
+
+   fail_if(!eina_stringshare_refplace(&t1, t0));
+
+   eina_stringshare_del(t0);
+   eina_stringshare_del(t1);
+
+   eina_shutdown();
+}
+END_TEST
+
 START_TEST(eina_stringshare_small)
 {
    char buf[4];
@@ -245,6 +280,7 @@ void
 eina_test_stringshare(TCase *tc)
 {
    tcase_add_test(tc, eina_stringshare_simple);
+   tcase_add_test(tc, eina_stringshare_simple_refplace);
    tcase_add_test(tc, eina_stringshare_small);
    tcase_add_test(tc, eina_stringshare_test_share);
    tcase_add_test(tc, eina_stringshare_collision);

-- 


Reply via email to