d2a331126c2f0b5dc6e196d9d53b2c26d8828786
[colloquium.git] / tests / storycode_test.c
1 /*
2  * storycode_test.c
3  *
4  * Colloquium - A tiny presentation program
5  *
6  * Copyright (c) 2012 Thomas White <taw@bitwiz.org.uk>
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22
23
24 #ifdef HAVE_CONFIG_H
25 #include <config.h>
26 #endif
27
28 #include <stdio.h>
29
30 #include "../src/sc_parse.h"
31
32
33 static int test_sc(const char *tt)
34 {
35         SCBlock *bl;
36
37         printf("'%s' ->\n", tt);
38         bl = sc_parse(tt);
39
40         if ( bl == NULL ) {
41                 printf("Failed to parse SC\n");
42                 return 1;
43         }
44
45         show_sc_blocks(bl);
46
47         sc_block_free(bl);
48
49         return 0;
50 }
51
52 int main(int argc, char *argv[])
53 {
54         int v = 0;
55         int r;
56
57         r = test_sc("\\bg[a=b]{wibble \\f{wobble}}\\bg{rwawr\ngrrr}\\muhu Wobble"
58                     "\\wibble{}\\f{wibble \\bg[muhu]{wobble\nwibble\nwabble}}\\frib[\\f] f");
59         if ( r ) v = 1;
60
61         r = test_sc("A B C \\wibble\\\\w");
62         if ( r ) v = 1;
63
64         return v;
65 }