Annotation of embedaddon/confuse/tests/annotate.c, revision 1.1.1.1
1.1 misho 1: #include "check_confuse.h"
2: #include <string.h>
3:
4: int main(void)
5: {
6: char *comment;
7: char *expect = "Now, is it this comment that goes with the option?";
8: cfg_t *cfg;
9: cfg_opt_t *opt;
10: cfg_opt_t section_opts[] = {
11: CFG_INT("key", 0, CFGF_NONE),
12: CFG_BOOL("bool", 0, CFGF_NONE),
13: CFG_STR("option", NULL, CFGF_NONE),
14: CFG_END()
15: };
16: cfg_opt_t opts[] = {
17: CFG_STR("option", NULL, CFGF_NONE),
18: CFG_SEC("section", section_opts, CFGF_MULTI),
19: CFG_END()
20: };
21:
22: cfg = cfg_init(opts, CFGF_COMMENTS);
23: fail_unless(cfg != NULL);
24:
25: fail_unless(cfg_parse(cfg, SRC_DIR "/annotate.conf") == CFG_SUCCESS);
26:
27: /* Verify the parser read the correct comment for this tricky option */
28: opt = cfg_getopt(cfg, "section|option");
29: fail_unless(opt != NULL);
30: comment = cfg_opt_getcomment(opt);
31: fail_unless(comment != NULL);
32: fail_unless(strcmp(comment, expect) == 0);
33:
34: expect = "But what's the worst poetry in the universe?";
35: fail_unless(cfg_opt_setcomment(opt, expect) == CFG_SUCCESS);
36:
37: cfg_opt_setnstr(opt, "Paula Nancy Millstone Jennings was a poet who wrote the worst poetry in "
38: "the universe. In fact, her poetry is still considered to be the worst in "
39: "the Galaxy, closely followed by that of the Azgoths of Kria and the "
40: "Vogons, in that order.", 0);
41:
42: /* Verify that the comment is not reset when changing option value */
43: comment = cfg_opt_getcomment(opt);
44: fail_unless(comment != NULL);
45: fail_unless(strcmp(comment, expect) == 0);
46:
47: cfg_print(cfg, stdout);
48: fail_unless(cfg_free(cfg) == CFG_SUCCESS);
49:
50: return 0;
51: }
52:
53: /**
54: * Local Variables:
55: * indent-tabs-mode: t
56: * c-file-style: "linux"
57: * End:
58: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>