/src/test/config_test.c

http://ftk.googlecode.com/ · C · 39 lines · 30 code · 9 blank · 0 comment · 13 complexity · 8e6af2ca398b77796d8802ab394c5fba MD5 · raw file

  1. #include "ftk_globals.h"
  2. #include "ftk_config.h"
  3. #include "ftk_allocator_default.h"
  4. const char* args[] = {"./config_test", "--disable-statusbar", "--enable-cursor", "--theme=abc", "--data-dir=/data", "--test-data-dir=/testdata", NULL};
  5. const char* xml="<statusbar enable=\"0\" />\n<cursor enable=\"1\" />\n <theme name=\"abc\" /><data_dir value=\"/data\" /> <test_data_dir value=\"/testdata\" />";
  6. int main(int argc, char* argv[])
  7. {
  8. FtkConfig* thiz = NULL;
  9. ftk_set_allocator(ftk_allocator_default_create());
  10. thiz = ftk_config_create();
  11. assert(ftk_config_init(thiz, (sizeof(args)/sizeof(args[0]))-1, (char **)args) == RET_OK);
  12. assert(strcmp(ftk_config_get_theme(thiz), "abc") == 0);
  13. assert(strcmp(ftk_config_get_data_dir(thiz), "/data") == 0);
  14. assert(strcmp(ftk_config_get_test_data_dir(thiz), "/testdata") == 0);
  15. assert(ftk_config_get_enable_cursor(thiz));
  16. assert(!ftk_config_get_enable_status_bar(thiz));
  17. assert(ftk_config_set_theme(thiz, "") == RET_OK);
  18. assert(ftk_config_set_data_dir(thiz, "") == RET_OK);
  19. assert(ftk_config_set_test_data_dir(thiz, "") == RET_OK);
  20. assert(ftk_config_set_enable_cursor(thiz, 0) == RET_OK);
  21. assert(ftk_config_set_enable_status_bar(thiz, 0) == RET_OK);
  22. assert(ftk_config_parse(thiz, xml, strlen(xml)) == RET_OK);
  23. assert(strcmp(ftk_config_get_theme(thiz), "abc") == 0);
  24. assert(strcmp(ftk_config_get_data_dir(thiz), "/data") == 0);
  25. assert(strcmp(ftk_config_get_test_data_dir(thiz), "/testdata") == 0);
  26. assert(ftk_config_get_enable_cursor(thiz));
  27. assert(!ftk_config_get_enable_status_bar(thiz));
  28. ftk_config_destroy(thiz);
  29. return 0;
  30. }