diff options
| -rw-r--r-- | t/test_2.c | 85 |
1 files changed, 78 insertions, 7 deletions
@@ -3,10 +3,19 @@ #include <ctemplates.h> +//Nested loops w/ break char t_1[] = "This is a <TMPL_LOOP name=\"loop1\"><TMPL_LOOP name=\"loop2\">Text<TMPL_BREAK>Text2<TMPL_END><TMPL_END>!"; char c_1_1[] = "This is a Text!"; +char t_2[] = "Check break condition <TMPL_LOOP name=\"loop1\">before <TMPL_IF name=\"test\">in <TMPL_BREAK><TMPL_END>after <TMPL_END>!"; +char c_2_1[] = "Check break condition !"; +char c_2_2[] = "Check break condition before after !"; +char c_2_3[] = "Check break condition before after before after before after !"; +char c_2_4[] = "Check break condition before in !"; +char c_2_5[] = "Check break condition before after before in !"; + #define log(x) printf(x) +#define check(n,n2,a,b) if(strcmp(a,b) != 0){fprintf(stderr, "Error in test 2.%d.%d\n",n,n2);printf("Result should have been '%s'\n was '%s'\n", b, a); if(t->error) printf(TMPL_err(t, NULL)); return -1;} int main(){ log("Running tests2\n"); @@ -32,16 +41,78 @@ int main(){ TMPL_add_loop_to_varlist(vl,"loop1",l1); ret = TMPL_render(t,vl,&dummy); - if(strcmp(ret,c_1_1) != 0){ - fprintf(stderr,"Error in test file 2, test 1\n"); - printf("Result should have been '%s'\n was '%s'\n",c_1_1,ret); - if(t->error) - printf(TMPL_err(t, NULL)); - return -1; - } + check(1,1,ret,c_1_1); + /*if(strcmp(ret,c_1_1) != 0){*/ + /*fprintf(stderr,"Error in test file 2, test 1\n");*/ + /*printf("Result should have been '%s'\n was '%s'\n",c_1_1,ret);*/ + /*if(t->error)*/ + /*printf(TMPL_err(t, NULL));*/ + /*return -1;*/ + /*}*/ TMPL_free_template(t); TMPL_free_varlist(vl); log("Test 1 complete\n"); + + t = TMPL_alloc_template(t_2); + vl = TMPL_alloc_varlist(); + l1 = TMPL_alloc_loop(); + TMPL_add_loop_to_varlist(vl,"loop1",l1); + ret = TMPL_render(t,vl,&dummy); + check(2,1,ret,c_2_1); + log("Test 2 complete\n"); + TMPL_free_template(t); + TMPL_free_varlist(vl); + + t = TMPL_alloc_template(t_2); + vl = TMPL_alloc_varlist(); + l1 = TMPL_alloc_loop(); + vl1 = TMPL_alloc_varlist(); + TMPL_add_varlist_to_loop(l1,vl1); + TMPL_add_loop_to_varlist(vl,"loop1",l1); + + ret = TMPL_render(t,vl,&dummy); + check(2,2,ret,c_2_2); + log("Test 3 complete\n"); + TMPL_free_template(t); + TMPL_free_varlist(vl); + + t = TMPL_alloc_template(t_2); + vl = TMPL_alloc_varlist(); + l1 = TMPL_alloc_loop(); + for(int i = 0; i < 3; i++){ + vl1 = TMPL_alloc_varlist(); + TMPL_add_varlist_to_loop(l1, vl1); + } + TMPL_add_loop_to_varlist(vl,"loop1",l1); + ret = TMPL_render(t,vl,&dummy); + check(2,3,ret,c_2_3); + log("Test 4 complete\n"); + TMPL_free_template(t); + TMPL_free_varlist(vl); + + t = TMPL_alloc_template(t_2); + vl = TMPL_alloc_varlist(); + l1 = TMPL_alloc_loop(); + vl1 = TMPL_alloc_varlist(); + TMPL_add_var_to_varlist(vl1,"test","true"); + TMPL_add_varlist_to_loop(l1,vl1); + TMPL_add_loop_to_varlist(vl,"loop1",l1); + ret = TMPL_render(t,vl,&dummy); + check(2,4,ret,c_2_4); + log("Test 5 complete\n"); + TMPL_free_template(t); + TMPL_free_varlist(vl); + + t = TMPL_alloc_template(t_2); + vl = TMPL_alloc_varlist(); + l1 = TMPL_alloc_loop(); + vl1 = TMPL_alloc_varlist(); + vl2 = TMPL_alloc_varlist(); + TMPL_add_var_to_varlist(vl2,"test","true"); + TMPL_add_varlist_to_loop(l1,vl1); + TMPL_add_varlist_to_loop(l1,vl2); + TMPL_add_loop_to_varlist(vl1,"loop1",l1); + return 0; } |
