cedric pushed a commit to branch master.

commit f21bcaccbb849b9e700f4b2f62bfd0c454a5b71b
Author: Sergii Kanaev <[email protected]>
Date:   Tue Jul 9 10:23:00 2013 +0900

    eina: improve test coverage for Eina_Clist.
    
    Add tests for eina_clist_add_after, eina_clist_add_head, eina_clist_next
    and eina_clist_add_tail.
---
 src/tests/eina/eina_test_clist.c | 94 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

diff --git a/src/tests/eina/eina_test_clist.c b/src/tests/eina/eina_test_clist.c
index 115afc2..ee8a5b6 100644
--- a/src/tests/eina/eina_test_clist.c
+++ b/src/tests/eina/eina_test_clist.c
@@ -49,10 +49,64 @@ static void free_list(void)
      }
 }
 
+static void add_string_after(const char *str_to_add)
+{
+  struct test_string *entry_to_add;
+
+  entry_to_add = malloc(sizeof(struct test_string));
+  assert(entry_to_add != NULL);
+
+  entry_to_add->string = str_to_add;
+
+  eina_clist_add_after(&string_list, &entry_to_add->entry);
+}
+
+static void add_string_head(const char *string_to_add)
+{
+  struct test_string *entry_to_add;
+
+  entry_to_add = malloc(sizeof(struct test_string));
+  assert(entry_to_add != NULL);
+
+  entry_to_add->string = string_to_add;
+
+  eina_clist_add_head(&string_list, &entry_to_add->entry);
+  fail_if(eina_clist_head(&string_list) != &entry_to_add->entry);
+}
+
+static void iterating_two_phase_with_add_head(int n, const char *str, int 
n_ent)
+{
+  int i;
+  struct test_string *entries[n_ent];
+  Eina_Clist *tail;
+
+  tail = eina_clist_tail(&string_list);
+  entries[0] = malloc(sizeof(struct test_string));
+  assert(entries[0] != NULL);
+  entries[0]->string = str;
+  eina_clist_add_tail(&string_list, &entries[0]->entry);
+  n++;
+  fail_if(eina_clist_next(&string_list, tail) != &entries[0]->entry);
+  fail_if(eina_clist_tail(&string_list) != &entries[0]->entry);
+  for (i=1; i<n_ent; i++)
+  {
+       entries[i] = malloc(sizeof(struct test_string));
+       assert(entries[i] != NULL);
+       entries[i]->string = str;
+       eina_clist_add_tail(&string_list, &entries[i]->entry);
+       n++;
+       fail_if(eina_clist_count(&string_list) != n);
+       fail_if(eina_clist_tail(&string_list) != &entries[i]->entry);
+       fail_if(eina_clist_next(&string_list, &entries[i-1]->entry) != 
&entries[i]->entry);
+  };
+}
+
 START_TEST(eina_clist_basic)
 {
   unsigned int n = 0;
 
+  fail_if(!eina_clist_empty(&string_list));
+
   add_string("this");
   n++;
   add_string("is");
@@ -76,6 +130,46 @@ START_TEST(eina_clist_basic)
 
   print_strings();
 
+  add_string_after("one\n");
+  n++;
+  add_string_after("two\n");
+  n++;
+  add_string_after("three\n");
+  n++;
+  add_string_after("four\n");
+  n++;
+  add_string_after("five\n");
+  n++;
+  add_string_after("six\n");
+  n++;
+  add_string_after("seven\n");
+  n++;
+  add_string_after("eight\n");
+  n++;
+
+  fail_if(eina_clist_count(&string_list) != n);
+
+  add_string_head("one2\n");
+  n++;
+  add_string_head("two2\n");
+  n++;
+  add_string_head("three2\n");
+  n++;
+  add_string_head("four2\n");
+  n++;
+  add_string_head("five2\n");
+  n++;
+  add_string_head("six2\n");
+  n++;
+  add_string_head("seven2\n");
+  n++;
+  add_string_head("eight2\n");
+  n++;
+
+  fail_if(eina_clist_count(&string_list) != n);
+
+  iterating_two_phase_with_add_head(n, "theString", 16);
+
   free_list();
 
   fail_if(eina_clist_count(&string_list) != 0);

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to