/* Test some good inputs * Test 1: Basic, var * Test 2: var w/ default value */ #include #include char t_1[] = "This is a !"; char c_1_1[] = "This is a template!"; char t_2[] = "This is a !"; char c_2_1[] = "This is a program!"; char t_3[] = " starts with a tag."; char c_3_1[] = "This starts with a tag."; char t_4[] = " starts with a tag."; char c_4_1[] = "That starts with a tag."; char t_5[] = "This ends with a "; char c_5_1[] = "This ends with a tag"; char t_6[] = "This ends with a "; char c_6_1[] = "This ends with a default tag"; char t_7[] = "Test loop!"; char c_7_1[] = "Test loop!"; char c_7_2[] = "Test loop one!"; char c_7_3[] = "Test loop one two three!"; char t_8[] = "Test if as check: Works!"; char c_8_1[] = "Test if as check: Works!"; char c_8_2[] = "Test if as check:"; char c_8_3[] = "Test if as check:"; char t_9[] = "Test if for existance: Exists!"; char c_9_1[] = "Test if for existance: Exists!"; char c_9_2[] = "Test if for existance:"; int main(){ struct TMPL_templates* t; struct TMPL_varlist* vl; char* ret; size_t dummy; /*Test 1*/ t = TMPL_alloc_template(t_1); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"what","template"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_1_1) != 0){ fprintf(stderr,"Error in test file 1, test 1\n"); printf("Result should have been '%s'\n was '%s'\n",c_1_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 2*/ t = TMPL_alloc_template(t_2); vl = TMPL_alloc_varlist(); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_2_1) != 0){ fprintf(stderr,"Error in test file 1, test 2\n"); printf("Result should have been '%s'\n was '%s'\n",c_2_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 3*/ t = TMPL_alloc_template(t_3); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"what","This"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_3_1) != 0){ fprintf(stderr,"Error in test file 1, test 3\n"); printf("Result should have been '%s'\n was '%s'\n",c_3_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 4*/ t = TMPL_alloc_template(t_4); vl = TMPL_alloc_varlist(); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_4_1) != 0){ fprintf(stderr,"Error in test file 1, test 4\n"); printf("Result should have been '%s'\n was '%s'\n",c_4_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 5*/ t = TMPL_alloc_template(t_5); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"what","tag"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_5_1) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_5_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 6*/ t = TMPL_alloc_template(t_6); vl = TMPL_alloc_varlist(); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_6_1) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_6_1,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); /*Test 7*/ t = TMPL_alloc_template(t_7); vl = TMPL_alloc_varlist(); { struct TMPL_loop* l = TMPL_alloc_loop(); TMPL_add_loop_to_varlist(vl,"loop",l); } ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_7_1) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_7_1,ret); return -1; } TMPL_free_varlist(vl); vl = TMPL_alloc_varlist(); { struct TMPL_loop* l = TMPL_alloc_loop(); struct TMPL_varlist* vl_2 = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl_2,"var"," one"); TMPL_add_varlist_to_loop(l,vl_2); TMPL_add_loop_to_varlist(vl,"loop",l); } ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_7_2) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_7_1,ret); return -1; } TMPL_free_varlist(vl); vl = TMPL_alloc_varlist(); { struct TMPL_loop* l = TMPL_alloc_loop(); struct TMPL_varlist* vl_2 = TMPL_alloc_varlist(); struct TMPL_varlist* vl_3 = TMPL_alloc_varlist(); struct TMPL_varlist* vl_4 = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl_2,"var"," one"); TMPL_add_var_to_varlist(vl_3,"var"," two"); TMPL_add_var_to_varlist(vl_4,"var"," three"); TMPL_add_varlist_to_loop(l,vl_2); TMPL_add_varlist_to_loop(l,vl_3); TMPL_add_varlist_to_loop(l,vl_4); TMPL_add_loop_to_varlist(vl,"loop",l); } ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_7_3) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_7_1,ret); return -1; } TMPL_free_varlist(vl); TMPL_free_template(t); /*Test 8*/ t = TMPL_alloc_template(t_8); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"var","correct"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_8_1) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_8_1,ret); return -1; } TMPL_free_varlist(vl); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"var","incorrect"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_8_2) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_8_2,ret); return -1; } TMPL_free_varlist(vl); vl = TMPL_alloc_varlist(); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_8_3) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_8_3,ret); return -1; } TMPL_free_template(t); TMPL_free_varlist(vl); t = TMPL_alloc_template(t_9); vl = TMPL_alloc_varlist(); TMPL_add_var_to_varlist(vl,"var","thing"); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_9_1) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_9_1,ret); return -1; } TMPL_free_varlist(vl); vl = TMPL_alloc_varlist(); ret = TMPL_render(t,vl,&dummy); if(strcmp(ret,c_9_2) != 0){ fprintf(stderr, "Error in test file 1, test 5\n"); printf("Result should have been '%s'\n was '%s'\n",c_9_1,ret); return -1; } TMPL_free_varlist(vl); TMPL_free_template(t); return 0; }