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
|
#include "../test.h"
#include "../helpers.h"
static int test_token(void)
{
test_start("token");
cleri_grammar_t * grammar;
cleri_t * dot;
dot = cleri_token(0, ".");
grammar = cleri_grammar(dot, NULL);
// assert statements
_assert_is_valid(grammar, ".");
_assert_is_not_valid(grammar, "..");
_assert_is_not_valid(grammar, "");
_assert_parse_str (
grammar,
"",
"error at line 1, position 0, expecting: .",
NULL);
_assert_parse_str2 (
grammar,
"",
"error at line 1, position 0",
NULL);
cleri_grammar_free(grammar);
return test_end();
}
static int test_token_multi_char(void)
{
test_start("token (multi_char)");
cleri_grammar_t * grammar;
cleri_t * not;
not = cleri_token(0, "!=");
grammar = cleri_grammar(not, NULL);
// assert statements
_assert_is_valid(grammar, " != ");
_assert_is_not_valid(grammar, "!");
_assert_is_not_valid(grammar, "");
_assert_parse_str (
grammar,
"",
"error at line 1, position 0, expecting: !=",
NULL);
_assert_parse_str2 (
grammar,
"",
"error at line 1, position 0",
NULL);
cleri_grammar_free(grammar);
return test_end();
}
int main()
{
return (
test_token() ||
test_token_multi_char() ||
0
);
}
|