moved code from header to source files
This commit is contained in:
104
test/string.c
104
test/string.c
@@ -2,69 +2,69 @@
|
||||
|
||||
#include "tim.h"
|
||||
|
||||
#define U(s) (uint8_t*)(""s), (sizeof(s) - 1)
|
||||
#define U(s) (u8*)(""s), (sizeof(s) - 1)
|
||||
#define TEST(t) printf("\33[3%s\33[0m %s\n", (t) ? "2mpass" : "1mfail", #t)
|
||||
|
||||
int main(void) {
|
||||
i32 main(void) {
|
||||
(void)tim_run;
|
||||
|
||||
TEST(ztrlen(NULL) == 0);
|
||||
TEST(ztrlen("") == 0);
|
||||
TEST(ztrlen("$") == 1);
|
||||
TEST(ztrlen("£") == 2);
|
||||
TEST(ztrlen("€") == 3);
|
||||
TEST(ztrlen("𐍈") == 4);
|
||||
TEST(tim_ztrlen(NULL) == 0);
|
||||
TEST(tim_ztrlen("") == 0);
|
||||
TEST(tim_ztrlen("$") == 1);
|
||||
TEST(tim_ztrlen("£") == 2);
|
||||
TEST(tim_ztrlen("€") == 3);
|
||||
TEST(tim_ztrlen("𐍈") == 4);
|
||||
|
||||
TEST(bsr8(128) == 0);
|
||||
TEST(bsr8(64) == 1);
|
||||
TEST(bsr8(1) == 7);
|
||||
TEST(bsr8(0) == 8);
|
||||
TEST(tim_bsr8(128) == 0);
|
||||
TEST(tim_bsr8(64) == 1);
|
||||
TEST(tim_bsr8(1) == 7);
|
||||
TEST(tim_bsr8(0) == 8);
|
||||
|
||||
TEST(utfchr(NULL) == 0);
|
||||
TEST(utfchr("") == 0);
|
||||
TEST(utfchr("$") == 0x24);
|
||||
TEST(utfchr("£") == 0xA3);
|
||||
TEST(utfchr("И") == 0x418);
|
||||
TEST(utfchr("ह") == 0x939);
|
||||
TEST(utfchr("€") == 0x20AC);
|
||||
TEST(utfchr("한") == 0xD55C);
|
||||
TEST(utfchr("𐍈") == 0x10348);
|
||||
TEST(tim_utf8_to_i32(NULL) == 0);
|
||||
TEST(tim_utf8_to_i32("") == 0);
|
||||
TEST(tim_utf8_to_i32("$") == 0x24);
|
||||
TEST(tim_utf8_to_i32("£") == 0xA3);
|
||||
TEST(tim_utf8_to_i32("И") == 0x418);
|
||||
TEST(tim_utf8_to_i32("ह") == 0x939);
|
||||
TEST(tim_utf8_to_i32("€") == 0x20AC);
|
||||
TEST(tim_utf8_to_i32("한") == 0xD55C);
|
||||
TEST(tim_utf8_to_i32("𐍈") == 0x10348);
|
||||
|
||||
TEST(utflen(NULL) == 0);
|
||||
TEST(utflen("") == 0);
|
||||
TEST(utflen("$") == 1);
|
||||
TEST(utflen("$$") == 2);
|
||||
TEST(utflen("$£") == 2);
|
||||
TEST(utflen("$€𐍈") == 3);
|
||||
TEST(tim_utf8_len(NULL) == 0);
|
||||
TEST(tim_utf8_len("") == 0);
|
||||
TEST(tim_utf8_len("$") == 1);
|
||||
TEST(tim_utf8_len("$$") == 2);
|
||||
TEST(tim_utf8_len("$£") == 2);
|
||||
TEST(tim_utf8_len("$€𐍈") == 3);
|
||||
|
||||
TEST(utfpos(NULL, 0) == 0);
|
||||
TEST(utfpos("ab", -1) == 0);
|
||||
TEST(utfpos("äbc", 0) == 0);
|
||||
TEST(utfpos("äbc", 1) == 2);
|
||||
TEST(utfpos("äbc", 2) == 3);
|
||||
TEST(utfpos("äbc", 9) == 4);
|
||||
TEST(tim_utf8_pos(NULL, 0) == 0);
|
||||
TEST(tim_utf8_pos("ab", -1) == 0);
|
||||
TEST(tim_utf8_pos("äbc", 0) == 0);
|
||||
TEST(tim_utf8_pos("äbc", 1) == 2);
|
||||
TEST(tim_utf8_pos("äbc", 2) == 3);
|
||||
TEST(tim_utf8_pos("äbc", 9) == 4);
|
||||
|
||||
TEST(scan_str(NULL).lines == 0);
|
||||
TEST(scan_str("").lines == 0);
|
||||
TEST(scan_str("abc").lines == 1);
|
||||
TEST(scan_str("a\no").lines == 2);
|
||||
TEST(scan_str("a").width == 1);
|
||||
TEST(scan_str("äß\no").width == 2);
|
||||
TEST(tim_scan_str(NULL).lines == 0);
|
||||
TEST(tim_scan_str("").lines == 0);
|
||||
TEST(tim_scan_str("abc").lines == 1);
|
||||
TEST(tim_scan_str("a\no").lines == 2);
|
||||
TEST(tim_scan_str("a").width == 1);
|
||||
TEST(tim_scan_str("äß\no").width == 2);
|
||||
|
||||
TimLine_t ln = {.s = "foo\nbar"};
|
||||
TEST(next_line(&ln) == true);
|
||||
TimLine ln = {.s = "foo\nbar"};
|
||||
TEST(tim_next_line(&ln) == true);
|
||||
TEST(!memcmp(ln.line, "foo", ln.size));
|
||||
TEST(next_line(&ln) == true);
|
||||
TEST(tim_next_line(&ln) == true);
|
||||
TEST(!memcmp(ln.line, "bar", ln.size));
|
||||
TEST(next_line(&ln) == false);
|
||||
TEST(tim_next_line(&ln) == false);
|
||||
|
||||
TEST(is_wide_perhaps(NULL, 0) == false);
|
||||
TEST(is_wide_perhaps(U("")) == false);
|
||||
TEST(is_wide_perhaps(U("$")) == false);
|
||||
TEST(is_wide_perhaps(U("£")) == false);
|
||||
TEST(is_wide_perhaps(U("ह")) == false);
|
||||
TEST(is_wide_perhaps(U("€")) == true);
|
||||
TEST(is_wide_perhaps(U("┌")) == false);
|
||||
TEST(is_wide_perhaps(U("한")) == true);
|
||||
TEST(is_wide_perhaps(U("𐍈")) == true);
|
||||
TEST(tim_utf8_is_wide_perhaps(NULL, 0) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("")) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("$")) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("£")) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("ह")) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("€")) == true);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("┌")) == false);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("한")) == true);
|
||||
TEST(tim_utf8_is_wide_perhaps(U("𐍈")) == true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user