Files
tinytemplate/tests/test.c
T

78 lines
1.9 KiB
C

struct {
const char *src;
const char *exp;
const char *params;
} cases[] = {
};
typedef enum {
SECTION_INPUT,
SECTION_OUTPUT,
SECTION_PARAMS,
} Section;
static void runTest(const char *src, size_t len)
{
size_t params_offset;
size_t params_length;
size_t input_offset;
size_t input_length;
size_t output_offset;
size_t output_length;
size_t i = 0;
while (1) {
while (i < len && src[i] != '@')
i++;
if (i < len && isalpha(src[i])) {
size_t kword_off = i;
do
i++;
while (i < len && isalpha(src[i]));
size_t kword_len = i - kword_off;
bool is_kword = true;
Section section;
if (kword_len == 6 && !strncmp("params", src + kword_off, 6)) {
section = SECTION_PARAMS;
} else if (kword_len == 5 && !strncmp("input", src + kword_off, 5)) {
section = SECTION_INPUT;
} else if (kword_len == 6 && !strncmp("output", src + kword_off, 6)) {
section = SECTION_OUTPUT;
} else
is_kword = false;
if (is_kword) {
// Get to the end of the line
while (i < len && (src[i] == ' ' || src[i] == '\t' || src[i] == '\r'))
i++;
if (i < len && src[i] != '\n') {
}
while (i < len && src[i] != '\n')
i++;
if (i < len) {
assert(src[i] == '\n');
i++;
}
switch (section) {
case SECTION_INPUT: input_offset = i; break;
case SECTION_OUTPUT: output_offset = i; break;
case SECTION_PARAMS: params_offset = i; break;
}
}
}
}
}
int main(void)
{
return 0;
}