indent
This commit is contained in:
@@ -18,55 +18,58 @@
|
||||
|
||||
int main(void) {
|
||||
|
||||
char* src = "key1 = var1 # comment 1\nkey2 = var2 # comment 2 and 3\n# comment 4\nkey3 = var3";
|
||||
char* src = "key1 = var1 # comment 1\nkey2 = var2 # comment 2 and 3\n# comment 4\nkey3 = var3";
|
||||
|
||||
bstream_t stream;
|
||||
bstream_t stream;
|
||||
|
||||
bstream_init(&stream);
|
||||
bstream_init(&stream);
|
||||
|
||||
tclexer_t lexer;
|
||||
tclexer_init(&lexer, &stream);
|
||||
tclexer_t lexer;
|
||||
|
||||
vmapper_t vmapper;
|
||||
vmapper_init(&vmapper);
|
||||
tclexer_init(&lexer, &stream);
|
||||
|
||||
tccomp_t comp;
|
||||
tccomp_init(&comp, &lexer, &vmapper);
|
||||
vmapper_t vmapper;
|
||||
|
||||
bstream_write(&stream, src, strlen(src));
|
||||
vmapper_init(&vmapper);
|
||||
|
||||
int port = 0;
|
||||
bool flag = false;
|
||||
char* ident = NULL;
|
||||
tccomp_t comp;
|
||||
|
||||
vmapper_bind_int(&vmapper, "port", &port);
|
||||
vmapper_bind_string(&vmapper, "ident", &ident);
|
||||
vmapper_bind_bool(&vmapper, "flag", &flag);
|
||||
tccomp_init(&comp, &lexer, &vmapper);
|
||||
|
||||
vmapper_set(&vmapper, "port", "12345");
|
||||
vmapper_set(&vmapper, "ident", "qwerty");
|
||||
vmapper_set(&vmapper, "flag", "true");
|
||||
bstream_write(&stream, src, strlen(src));
|
||||
|
||||
int res = tccomp_parse(&comp);
|
||||
int port = 0;
|
||||
bool flag = false;
|
||||
char* ident = NULL;
|
||||
|
||||
if (res < 0) {
|
||||
printf("parsing error pos %d line %d\n", comp.pos, comp.lnum);
|
||||
}
|
||||
vmapper_bind_int(&vmapper, "port", &port);
|
||||
vmapper_bind_string(&vmapper, "ident", &ident);
|
||||
vmapper_bind_bool(&vmapper, "flag", &flag);
|
||||
|
||||
printf("port = %d\n", port);
|
||||
MASSERT(port == 12345);
|
||||
vmapper_set(&vmapper, "port", "12345");
|
||||
vmapper_set(&vmapper, "ident", "qwerty");
|
||||
vmapper_set(&vmapper, "flag", "true");
|
||||
|
||||
printf("ident = %s\n", ident);
|
||||
MASSERT(strcmp(ident, "qwerty") == 0);
|
||||
free(ident);
|
||||
int res = tccomp_parse(&comp);
|
||||
|
||||
printf("flag = %d\n", flag);
|
||||
MASSERT(flag == true);
|
||||
if (res < 0) {
|
||||
printf("parsing error pos %d line %d\n", comp.pos, comp.lnum);
|
||||
}
|
||||
|
||||
tccomp_destroy(&comp);
|
||||
tclexer_destroy(&lexer);
|
||||
vmapper_destroy(&vmapper);
|
||||
bstream_destroy(&stream);
|
||||
printf("port = %d\n", port);
|
||||
MASSERT(port == 12345);
|
||||
|
||||
return 0;
|
||||
printf("ident = %s\n", ident);
|
||||
MASSERT(strcmp(ident, "qwerty") == 0);
|
||||
free(ident);
|
||||
|
||||
printf("flag = %d\n", flag);
|
||||
MASSERT(flag == true);
|
||||
|
||||
tccomp_destroy(&comp);
|
||||
tclexer_destroy(&lexer);
|
||||
vmapper_destroy(&vmapper);
|
||||
bstream_destroy(&stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user