aboutsummaryrefslogtreecommitdiff
path: root/t/test_2.c
diff options
context:
space:
mode:
Diffstat (limited to 't/test_2.c')
-rw-r--r--t/test_2.c85
1 files changed, 78 insertions, 7 deletions
diff --git a/t/test_2.c b/t/test_2.c
index b67cca2..6599c27 100644
--- a/t/test_2.c
+++ b/t/test_2.c
@@ -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;
}