cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=20d77fda989b360e25e1ad3b5a5bdb78fd3ab67d

commit 20d77fda989b360e25e1ad3b5a5bdb78fd3ab67d
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Thu Dec 15 15:18:41 2016 -0800

    eet: add test for eet_memopen_read.
---
 src/tests/eet/eet_test_file.c | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/src/tests/eet/eet_test_file.c b/src/tests/eet/eet_test_file.c
index 2c9efb6..f7926f7 100644
--- a/src/tests/eet/eet_test_file.c
+++ b/src/tests/eet/eet_test_file.c
@@ -14,9 +14,13 @@
 START_TEST(eet_test_file_simple_write)
 {
    const char *buffer = "Here is a string of data to save !";
+   Eina_Iterator *it;
+   Eina_File *f;
+   Eet_Entry *entry;
    Eet_File *ef;
    char *test;
    char *file;
+   void *m;
    int size;
    int tmpfd;
 
@@ -43,6 +47,43 @@ START_TEST(eet_test_file_simple_write)
 
    eet_close(ef);
 
+   /* Test read from buffer */
+   f = eina_file_open(file, EINA_FALSE);
+   fail_if(!f);
+
+   m = eina_file_map_all(f, EINA_FILE_WILLNEED);
+   fail_if(!m);
+
+   ef = eet_memopen_read(m, eina_file_size_get(f));
+   fail_if(!ef);
+
+   test = eet_read(ef, "keys/tests", &size);
+   fail_if(!test);
+   fail_if(size != (int)strlen(buffer) + 1);
+
+   fail_if(memcmp(test, buffer, strlen(buffer) + 1) != 0);
+
+   test = eet_read(ef, "keys/alias2", &size);
+   fail_if(!test);
+   fail_if(size != (int)strlen(buffer) + 1);
+
+   fail_if(eet_read_direct(ef, "key/alias2", &size));
+
+   fail_if(eet_mode_get(ef) != EET_FILE_MODE_READ);
+   fail_if(eet_num_entries(ef) != 3);
+
+   it = eet_list_entries(ef);
+   fail_if(!it);
+   EINA_ITERATOR_FOREACH(it, entry)
+     fail_if(strcmp(entry->name, "keys/tests") &&
+             strcmp(entry->name, "keys/alias") &&
+             strcmp(entry->name, "keys/alias2"));
+
+   eet_close(ef);
+
+   eina_file_map_free(f, m);
+   eina_file_close(f);
+
    /* Test read of simple file */
    ef = eet_open(file, EET_FILE_MODE_READ);
    fail_if(!ef);

-- 


Reply via email to