add a test that shows a bug in h_seq_index_path
This commit is contained in:
parent
c9b2957832
commit
cbc7358b66
1 changed files with 23 additions and 0 deletions
23
src/t_misc.c
23
src/t_misc.c
|
|
@ -2,6 +2,8 @@
|
|||
#include <string.h>
|
||||
#include "test_suite.h"
|
||||
#include "hammer.h"
|
||||
#include "internal.h"
|
||||
#include "glue.h"
|
||||
|
||||
static void test_tt_user(void) {
|
||||
g_check_cmp_int32(TT_USER, >, TT_NONE);
|
||||
|
|
@ -29,7 +31,28 @@ static void test_tt_registry(void) {
|
|||
g_check_cmp_int32(h_get_token_type_number("com.upstandinghackers.test.unkown_token_type"), ==, 0);
|
||||
}
|
||||
|
||||
static void test_seq_index_path(void) {
|
||||
HArena *arena = h_new_arena(&system_allocator, 0);
|
||||
|
||||
HParsedToken *seq = h_make_seqn(arena, 1);
|
||||
HParsedToken *seq2 = h_make_seqn(arena, 2);
|
||||
HParsedToken *tok1 = h_make_uint(arena, 41);
|
||||
HParsedToken *tok2 = h_make_uint(arena, 42);
|
||||
|
||||
seq->seq->elements[0] = seq2;
|
||||
seq->seq->used = 1;
|
||||
seq2->seq->elements[0] = tok1;
|
||||
seq2->seq->elements[1] = tok2;
|
||||
seq2->seq->used = 2;
|
||||
|
||||
g_check_cmp_int(h_seq_index_path(seq, 0, -1)->token_type, ==, TT_SEQUENCE);
|
||||
g_check_cmp_int(h_seq_index_path(seq, 0, 0, -1)->token_type, ==, TT_UINT);
|
||||
g_check_cmp_int64(h_seq_index_path(seq, 0, 0, -1)->uint, ==, 41);
|
||||
g_check_cmp_int64(h_seq_index_path(seq, 0, 1, -1)->uint, ==, 42);
|
||||
}
|
||||
|
||||
void register_misc_tests(void) {
|
||||
g_test_add_func("/core/misc/tt_user", test_tt_user);
|
||||
g_test_add_func("/core/misc/tt_registry", test_tt_registry);
|
||||
g_test_add_func("/core/misc/seq_index_path", test_seq_index_path);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue