9 #define TEST(expr) test(#expr, expr)
10 void test(const char* expr
, int res
);
12 int test_text_is_empty();
13 int test_text_enable();
14 int test_text_disable();
15 int test_text_write();
16 int test_text_clear();
17 int test_text_append();
20 int test_stack_set_top();
21 int test_stack_next_prev();
22 int test_stack_set_next();
26 TEST(test_text_is_empty());
27 TEST(test_text_enable());
28 TEST(test_text_disable());
29 TEST(test_text_write());
30 TEST(test_text_clear());
31 TEST(test_text_append());
32 TEST(test_text_fill());
34 TEST(test_stack_set_top());
35 TEST(test_stack_next_prev());
36 TEST(test_stack_set_next());
41 void test(const char* expr
, int res
)
43 printf(" %-32s: %s\n", expr
, res
? "OK" : "FAIL");
49 int test_text_is_empty()
51 return strcmp("", text_get()) == 0;
54 int test_text_enable()
60 int test_text_disable()
68 text_buffer("foobar", 3);
69 return strcmp("foo", text_get()) == 0;
75 if (!test_text_is_empty()) return 0;
79 return test_text_is_empty();
82 int test_text_append()
84 text_buffer("foobar", 3);
85 text_buffer("foobar", 3);
86 return strcmp("foofoo", text_get()) == 0;
91 /* buffer must be >= text buffer. */
92 #define BUFSIZE (1024 * 1024)
94 memset(buf
, ' ', BUFSIZE
);
95 text_buffer(buf
, BUFSIZE
);
97 return strncmp(buf
, text_get(), BUFSIZE
) != 0;
102 int test_stack_set_top()
105 mock
.enter
= (void (*)(const char*, const char**)) 0x7E57AB1E;
106 mock
.leave
= (void (*)(const char*)) 0xCA11AB1E;
109 return stack_top()->enter
== mock
.enter
110 && stack_top()->leave
== mock
.leave
;
113 int test_stack_next_prev()
116 mock
.enter
= (void (*)(const char*, const char**)) 0x7E57AB1E;
117 mock
.leave
= (void (*)(const char*)) 0xCA11AB1E;
119 /* Mock still set from method before. */
124 return stack_top()->enter
== mock
.enter
125 && stack_top()->leave
== mock
.leave
;
128 int test_stack_set_next()
131 mock
.enter
= (void (*)(const char*, const char**)) 0x7E57AB1E;
132 mock
.leave
= (void (*)(const char*)) 0xCA11AB1E;
136 return stack_top()->enter
== mock
.enter
137 && stack_top()->leave
== mock
.leave
;