mu-utils: improve tests

This commit is contained in:
Dirk-Jan C. Binnema 2023-09-19 23:43:30 +03:00
parent 6ce94ce914
commit 04e3a2f9a8
1 changed files with 14 additions and 9 deletions

View File

@ -62,9 +62,10 @@ test_date_basic()
} }
g_setenv("TZ", hki, TRUE); g_setenv("TZ", hki, TRUE);
constexpr std::array<std::tuple<const char*, bool/*is_first*/, int64_t>, 13> cases = {{ std::vector<std::tuple<const char*, bool/*is_first*/, int64_t>> cases = {{
{"2015-09-18T09:10:23", true, 1442556623}, {"2015-09-18T09:10:23", true, 1442556623},
{"1972-12-14T09:10:23", true, 93165023}, {"1972-12-14T09:10:23", true, 93165023},
{"1972-12-14T09:10", true, 93165000},
{"1854-11-18T17:10:23", true, 0}, {"1854-11-18T17:10:23", true, 0},
{"2000-02-31T09:10:23", true, 951861599}, {"2000-02-31T09:10:23", true, 951861599},
@ -153,8 +154,10 @@ test_flatten()
{ {
CaseVec cases = { CaseVec cases = {
{"Менделе́ев", true, "менделеев"}, {"Менделе́ев", true, "менделеев"},
{"", false, ""}, {"", true, ""},
{"Ångström", true, "angstrom"}, {"Ångström", true, "angstrom"},
{"đodø", true, "dodo"},
// don't touch combining characters in CJK etc. // don't touch combining characters in CJK etc.
{"スポンサーシップ募集",true, "スポンサーシップ募集"} {"スポンサーシップ募集",true, "スポンサーシップ募集"}
}; };
@ -181,8 +184,9 @@ test_clean()
{ {
CaseVec cases = { CaseVec cases = {
{"\t a\t\nb ", true, "a b"}, {"\t a\t\nb ", true, "a b"},
{"", false, ""}, {"", true, ""},
{"Ångström", true, "Ångström"}, {"Ångström", true, "Ångström"},
{"\345\245", true, ".."},
}; };
test_cases(cases, [](auto s, auto f) { return utf8_clean(s); }); test_cases(cases, [](auto s, auto f) { return utf8_clean(s); });
@ -196,6 +200,7 @@ test_word_break()
{"aap+noot&mies", true, "aap noot mies"}, {"aap+noot&mies", true, "aap noot mies"},
{"hallo", true, "hallo"}, {"hallo", true, "hallo"},
{" foo-bar###cuux,fnorb ", true, "foo bar cuux fnorb"}, {" foo-bar###cuux,fnorb ", true, "foo bar cuux fnorb"},
{"eyes\nof\tMedusa", true, "eyes of Medusa"},
}; };
test_cases(cases, [](auto s, auto f) { return utf8_wordbreak(s); }); test_cases(cases, [](auto s, auto f) { return utf8_wordbreak(s); });