core_test_entry add
This commit is contained in:
115
src/core/core_test_entry.c
Normal file
115
src/core/core_test_entry.c
Normal file
@@ -0,0 +1,115 @@
|
||||
#include "core/core_inc.h"
|
||||
#include "core/core_inc.c"
|
||||
|
||||
void test_s8(void) {
|
||||
ma_arena_t *arena = ma_create(ma_default_reserve_size);
|
||||
|
||||
{
|
||||
ma_temp_t temp = ma_begin_temp(arena);
|
||||
sb8_t *sb = &(sb8_t){arena};
|
||||
|
||||
s8_t memes = s8_lit("memes");
|
||||
sb8_printf(sb, "%S", memes);
|
||||
assert(sb->first == sb->last);
|
||||
assert(sb->first->len == 5);
|
||||
assert(s8_equal(sb->first->string, memes));
|
||||
|
||||
sb8_printf(sb, "%S", s8_lit("things are going fine"));
|
||||
s8_t string = sb8_merge(sb);
|
||||
assert(s8_equal(string, s8_lit("memesthings are going fine")));
|
||||
|
||||
ma_end_temp(temp);
|
||||
}
|
||||
|
||||
{
|
||||
s8_t str = s8_lit("thing|another|");
|
||||
sb8_t sb = s8_split(arena, str, s8_lit("|"), s8_split_none);
|
||||
|
||||
assert(s8_equal(sb.first->string, s8_lit("thing")));
|
||||
assert(s8_equal(sb.first->next->string, s8_lit("another")));
|
||||
assert(sb.first->next->next == NULL);
|
||||
}
|
||||
|
||||
{
|
||||
s8_t str = s8_lit("thing|another|");
|
||||
sb8_t sb = s8_split(arena, str, s8_lit("|"), s8_split_inclusive);
|
||||
|
||||
assert(s8_equal(sb.first->string, s8_lit("thing")));
|
||||
assert(s8_equal(sb.first->next->string, s8_lit("|")));
|
||||
assert(s8_equal(sb.first->next->next->string, s8_lit("another")));
|
||||
assert(s8_equal(sb.first->next->next->next->string, s8_lit("|")));
|
||||
assert(sb.first->next->next->next->next == NULL);
|
||||
}
|
||||
|
||||
{
|
||||
s8_t str = s8_lit("aabaaBaa");
|
||||
sb8_t sb = s8_split(arena, str, s8_lit("b"), s8_split_inclusive | s8_split_ignore_case);
|
||||
|
||||
assert(s8_equal(sb.first->string, s8_lit("aa")));
|
||||
assert(s8_equal(sb.first->next->string, s8_lit("b")));
|
||||
assert(s8_equal(sb.first->next->next->string, s8_lit("aa")));
|
||||
assert(s8_equal(sb.first->next->next->next->string, s8_lit("B")));
|
||||
assert(s8_equal(sb.first->next->next->next->next->string, s8_lit("aa")));
|
||||
assert(sb.first->next->next->next->next->next == NULL);
|
||||
}
|
||||
|
||||
{
|
||||
s8_t str = s8_lit("aabaaBaa");
|
||||
sb8_t sb = s8_split(arena, str, s8_lit("b"), s8_split_inclusive);
|
||||
|
||||
assert(s8_equal(sb.first->string, s8_lit("aa")));
|
||||
assert(s8_equal(sb.first->next->string, s8_lit("b")));
|
||||
assert(s8_equal(sb.first->next->next->string, s8_lit("aaBaa")));
|
||||
}
|
||||
|
||||
{
|
||||
s8_t s = s8_lit("0123456789");
|
||||
assert(s8_equal(s8_slice(s, 0, 4), s8_lit("0123")));
|
||||
assert(s8_equal(s8_slice(s, -2, -1), s8_lit("89")));
|
||||
assert(s8_equal(s8_slice(s, -2, 10), s8_lit("89")));
|
||||
assert(s8_equal(s8_slice(s, 8, 10), s8_lit("89")));
|
||||
}
|
||||
|
||||
{
|
||||
s8_t s = s8_lit(" a \n");
|
||||
s = s8_trim(s);
|
||||
assert(s8_equal(s, s8_lit("a")));
|
||||
}
|
||||
|
||||
{
|
||||
s8_t s = s8_lit("C:/memes/the_thing.c");
|
||||
s8_t ss = s8_get_name_no_ext(s);
|
||||
assert(s8_equal(ss, s8_lit("the_thing")));
|
||||
}
|
||||
|
||||
{
|
||||
s8_t s = s8_printf(arena, "%d%Sv%s", 32, s8_lit("|"), ">");
|
||||
assert(s8_equal(s, s8_lit("32|v>")));
|
||||
}
|
||||
|
||||
{
|
||||
s8_t s0 = s8_lit("0123456789");
|
||||
s8_t s1 = s8_cut_start(&s0, 2);
|
||||
assert(s8_equal(s0, s8_lit("23456789")));
|
||||
assert(s8_equal(s1, s8_lit("01")));
|
||||
}
|
||||
ma_destroy(arena);
|
||||
}
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
printf("PLATFORM_WASM = %d\n", PLATFORM_WASM);
|
||||
printf("PLATFORM_WINDOWS = %d\n", PLATFORM_WINDOWS);
|
||||
printf("PLATFORM_LINUX = %d\n", PLATFORM_LINUX);
|
||||
printf("PLATFORM_POSIX = %d\n", PLATFORM_POSIX);
|
||||
printf("PLATFORM_MAC_OS = %d\n", PLATFORM_MAC_OS);
|
||||
printf("PLATFORM_CLANG = %d\n", PLATFORM_CLANG);
|
||||
printf("PLATFORM_GCC = %d\n", PLATFORM_GCC);
|
||||
printf("PLATFORM_CL = %d\n", PLATFORM_CL);
|
||||
printf("PLATFORM_TCC = %d\n", PLATFORM_TCC);
|
||||
|
||||
test_s8();
|
||||
|
||||
printf("all done!\n");
|
||||
}
|
||||
Reference in New Issue
Block a user