Annotation of embedaddon/confuse/tests/section_remove.c, revision 1.1
1.1 ! misho 1: #include "check_confuse.h"
! 2: #include <string.h>
! 3:
! 4: int main(void)
! 5: {
! 6: static cfg_opt_t section_opts[] = {
! 7: CFG_STR("prop", 0, CFGF_NONE),
! 8: CFG_END()
! 9: };
! 10:
! 11: cfg_opt_t opts[] = {
! 12: CFG_SEC("section", section_opts, CFGF_TITLE | CFGF_MULTI),
! 13: CFG_END()
! 14: };
! 15:
! 16: const char *config_data =
! 17: "section title_one { prop = 'value_one' }\n"
! 18: "section title_two { prop = 'value_two' }\n"
! 19: "section title_one { prop = 'value_one' }\n";
! 20:
! 21: int rc;
! 22: cfg_t *cfg = cfg_init(opts, CFGF_NONE);
! 23:
! 24: fail_unless(cfg);
! 25:
! 26: rc = cfg_parse_buf(cfg, config_data);
! 27: fail_unless(rc == CFG_SUCCESS);
! 28:
! 29: cfg_rmtsec(cfg, "section", "title_two");
! 30: fail_unless(cfg_size(cfg, "section") == 1);
! 31: fail_unless(strcmp(cfg_title(cfg_getnsec(cfg, "section", 0)), "title_one") == 0);
! 32:
! 33: cfg_free(cfg);
! 34:
! 35: cfg = cfg_init(opts, CFGF_NONE);
! 36: fail_unless(cfg);
! 37:
! 38: rc = cfg_parse_buf(cfg, config_data);
! 39: fail_unless(rc == CFG_SUCCESS);
! 40:
! 41: cfg_rmsec(cfg, "section");
! 42: fail_unless(cfg_size(cfg, "section") == 1);
! 43: fail_unless(strcmp(cfg_title(cfg_getnsec(cfg, "section", 0)), "title_two") == 0);
! 44:
! 45: cfg_free(cfg);
! 46:
! 47: cfg = cfg_init(opts, CFGF_NONE);
! 48: fail_unless(cfg);
! 49:
! 50: rc = cfg_parse_buf(cfg, config_data);
! 51: fail_unless(rc == CFG_SUCCESS);
! 52:
! 53: cfg_rmsec(cfg, "section=title_two");
! 54: fail_unless(cfg_size(cfg, "section") == 1);
! 55: fail_unless(strcmp(cfg_title(cfg_getnsec(cfg, "section", 0)), "title_one") == 0);
! 56:
! 57: cfg_free(cfg);
! 58:
! 59: return 0;
! 60: }
! 61:
! 62: /**
! 63: * Local Variables:
! 64: * indent-tabs-mode: t
! 65: * c-file-style: "linux"
! 66: * End:
! 67: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>