-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_brake.c
98 lines (86 loc) · 3.32 KB
/
test_brake.c
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "athr.h"
#include "athr_terminal.h"
#include <stdlib.h>
static int brake(char const *desc, enum athr_option opt)
{
struct athr at = ATHR_INIT;
if (athr_start(&at, 8, desc, opt)) return EXIT_FAILURE;
for (unsigned i = 0; i < 8; ++i)
{
athr_eat(&at, 1);
}
athr_stop(&at);
return EXIT_SUCCESS;
}
static char const *huge_desc = "Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem.";
int main(void)
{
athr_disable_threading(true);
athr_terminal_force_fallback_use(true);
enum athr_option options[8] = {
ATHR_NONE,
ATHR_BAR,
ATHR_ETA,
ATHR_PERC,
ATHR_BAR | ATHR_ETA,
ATHR_BAR | ATHR_PERC,
ATHR_ETA | ATHR_PERC,
ATHR_BAR | ATHR_ETA | ATHR_PERC,
};
for (unsigned i = 0; i < 7; ++i)
{
if (brake("Desc", options[i])) return EXIT_FAILURE;
}
for (unsigned i = 0; i < 7; ++i)
{
for (unsigned w = 0; w < 1024; ++w)
{
athr_terminal_set_fallback_width(w);
if (brake("Desc", options[i])) return EXIT_FAILURE;
}
}
athr_terminal_force_fallback_use(false);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
athr_terminal_force_fallback_use(true);
athr_terminal_set_fallback_width(25);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
athr_terminal_set_fallback_width(256);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
return EXIT_SUCCESS;
}