diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/array.c | 7 | ||||
| -rw-r--r-- | tests/array_typed.c | 5 | ||||
| -rw-r--r-- | tests/str.c | 52 |
3 files changed, 46 insertions, 18 deletions
diff --git a/tests/array.c b/tests/array.c index 1e70074..08d29eb 100644 --- a/tests/array.c +++ b/tests/array.c @@ -34,11 +34,16 @@ static bool array_test_reserve(void) al_array_reserve(arr, 64); AL_TEST_NEQ((void *)arr.data, NULL, ptr); - AL_TEST_EQ(arr.alloc, 128, u32); + AL_TEST_EQ(arr.alloc, 64, u32); al_array_reserve(arr, 128); AL_TEST_NEQ((void *)arr.data, NULL, ptr); + AL_TEST_EQ(arr.alloc, 128, u32); + + al_array_reserve(arr, 129); + + AL_TEST_NEQ((void *)arr.data, NULL, ptr); AL_TEST_EQ(arr.alloc, 256, u32); al_array_free(arr); diff --git a/tests/array_typed.c b/tests/array_typed.c index 1c401d4..edaa52b 100644 --- a/tests/array_typed.c +++ b/tests/array_typed.c @@ -43,6 +43,11 @@ static bool array_test_reserve(void) al_array_reserve(u32, 64)(&arr, 128); AL_TEST_NEQ((void *)arr.data, NULL, ptr); + AL_TEST_EQ(arr.alloc, 128, u32); + + al_array_reserve(u32, 64)(&arr, 129); + + AL_TEST_NEQ((void *)arr.data, NULL, ptr); AL_TEST_EQ(arr.alloc, 256, u32); al_array_free(u32, 64)(&arr); diff --git a/tests/str.c b/tests/str.c index 00d0c98..72ed81f 100644 --- a/tests/str.c +++ b/tests/str.c @@ -122,29 +122,47 @@ static bool str_test_get_line(void) { AL_TEST_START("str_get_line"); - str *lines = al_str_c("test\nasdf\ntest2\na\n"); - str *lines_array[] = { al_str_c("test"), al_str_c("asdf"), al_str_c("test2"), al_str_c("a") }; + str *lines0 = al_str_c("test\nasdf\ntest2\na\n "); + str *lines_array0[] = { al_str_c("test"), al_str_c("asdf"), al_str_c("test2"), al_str_c("a"), al_str_c(" ") }; - str line; - al_memset(&line, 0, sizeof(str)); - u32 c = 0; + str *lines1 = al_str_c("test\nasdf\ntest2\na\n"); + str *lines_array1[] = { al_str_c("test"), al_str_c("asdf"), al_str_c("test2"), al_str_c("a") }; - for (; al_str_get_line(lines, '\n', &line); ) { - AL_TEST_LT(c, (u32)ARRAY_SIZE(lines_array), u32); - AL_TEST_TRUE(al_str_eq(&line, lines_array[c++])); - } + str *lines; + str **lines_array; + u32 lines_array_size; + + for (u32 i = 0; i < 2; i++) { + if (i == 0) { + lines = lines0; + lines_array = lines_array0; + lines_array_size = (u32)ARRAY_SIZE(lines_array0); + } else if (i == 1) { + lines = lines1; + lines_array = lines_array1; + lines_array_size = (u32)ARRAY_SIZE(lines_array1); + } + + str line = al_str_zero(); + u32 c = 0; + + for (; al_str_get_line(lines, '\n', &line); ) { + AL_TEST_LT(c, lines_array_size, u32); + AL_TEST_TRUE(al_str_eq(&line, lines_array[c++])); + } - AL_TEST_EQ(c, (u32)ARRAY_SIZE(lines_array), u32); + AL_TEST_EQ(c, lines_array_size, u32); - lines = al_str_c(""); + lines = al_str_c(""); - al_memset(&line, 0, sizeof(str)); - c = 0; + al_memset(&line, 0, sizeof(str)); + c = 0; - for (; al_str_get_line(lines, '\n', &line); ) { - AL_TEST_LT(c, 1, u32); - AL_TEST_EQ(line.len, 0, u32); - c++; + for (; al_str_get_line(lines, '\n', &line); ) { + AL_TEST_LT(c, 1, u32); + AL_TEST_EQ(line.len, 0, u32); + c++; + } } AL_TEST_END(); |