Joel Grunbaum
2021-08-12 17224ed868816701ed72995c861d85eb390374f4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "tester.h"
#include "../ast.h"
#include <string>
 
void tester::set_file(std::string file_name) { return; }
 
Document *tester::parse()
{
    Document *d = new Document("a", "b", "c");
 
    Line_Word *lw = new Line_Word();
    Block_Word *bw = new Block_Word(lw);
    d->add_block(bw);
 
    // Formats
    lw->add_word(new Format_Bold(new Text("Bold")));
    lw->add_word(new Format_Italic(new Text("Italic")));
    lw->add_word(new Format_Verbatim(new Text("Verbatim")));
    lw->add_word(new Text("Text"));
    lw->add_word(
        new Format_Bold(new Format_Italic(new Text("BoldItalic"))));
    lw->add_word(new Format_Strikethrough(new Text("Strikethrough")));
    lw->add_word(new Format_Underline(new Text("Underline")));
 
    // Other words
    lw->add_word(new MathInline("1+1=2"));
    lw->add_word(new Link("link", "text"));
    bw->add_word(new MathDisp("1+1=2"));
 
    // heading test
    lw = new Line_Word();
    lw->add_word(new Text("heading"));
    Heading *h = new Heading(1, lw);
    bw->add_word(h);
 
    // list test
    lw = new Line_Word();
    lw->add_word(new Text("ordered"));
    List *l = new List(1, 1, lw);
    bw->add_word(l);
    lw = new Line_Word();
    lw->add_word(new Text("unordered"));
    l = new List(1, 0, lw);
    bw->add_word(l);
 
    // table test
    Block_Table *bt = new Block_Table();
    std::vector<Line_Word *> *row = new std::vector<Line_Word *>();
    lw = new Line_Word();
    lw->add_word(new Text("Table1"));
    row->push_back(lw);
    lw = new Line_Word();
    lw->add_word(new Text("Table2"));
    row->push_back(lw);
    bt->add_row(row);
    row = new std::vector<Line_Word *>();
    lw = new Line_Word();
    lw->add_word(new Text("Table3"));
    row->push_back(lw);
    lw = new Line_Word();
    lw->add_word(new Text("Table4"));
    row->push_back(lw);
    bt->add_row(row);
    d->add_block(bt);
 
    // code test
    Block_Code *bc = new Block_Code("C");
    bc->add_line("#include <stdio.h>");
    bc->add_line("int main(void)\n{\nprintf(\"Hello World!\\n\");\n}");
    d->add_block(bc);
 
    return d;
}