mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-26 09:30:24 +00:00
LibUnicode: Include Unassigned code points in the Other General Category
Now that the generator parses unassigned General Category properties, it can include Unassigned (Cn) in the Other (C) category.
This commit is contained in:
parent
7dce2bfe23
commit
b06c104076
Notes:
sideshowbarker
2024-07-18 07:07:01 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/b06c104076c Pull-request: https://github.com/SerenityOS/serenity/pull/9333
2 changed files with 20 additions and 3 deletions
|
@ -234,6 +234,10 @@ TEST_CASE(general_category)
|
|||
auto general_category_private_use = general_category("Private_Use"sv);
|
||||
EXPECT_EQ(general_category_co, general_category_private_use);
|
||||
|
||||
auto general_category_cn = general_category("Cn"sv);
|
||||
auto general_category_unassigned = general_category("Unassigned"sv);
|
||||
EXPECT_EQ(general_category_cn, general_category_unassigned);
|
||||
|
||||
auto general_category_lc = general_category("LC"sv);
|
||||
auto general_category_cased_letter = general_category("Cased_Letter"sv);
|
||||
EXPECT_EQ(general_category_lc, general_category_cased_letter);
|
||||
|
@ -251,6 +255,7 @@ TEST_CASE(general_category)
|
|||
EXPECT(Unicode::code_point_has_general_category(code_point, general_category_cc));
|
||||
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_co));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cn));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_ll));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lu));
|
||||
|
@ -261,6 +266,18 @@ TEST_CASE(general_category)
|
|||
EXPECT(Unicode::code_point_has_general_category(code_point, general_category_co));
|
||||
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cn));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_ll));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lu));
|
||||
}
|
||||
|
||||
for (u32 code_point = 0x101fe; code_point <= 0x1027f; ++code_point) {
|
||||
EXPECT(Unicode::code_point_has_general_category(code_point, general_category_c));
|
||||
EXPECT(Unicode::code_point_has_general_category(code_point, general_category_cn));
|
||||
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_co));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_ll));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lu));
|
||||
|
@ -273,6 +290,7 @@ TEST_CASE(general_category)
|
|||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_c));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_co));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cn));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_lu));
|
||||
}
|
||||
|
||||
|
@ -283,6 +301,7 @@ TEST_CASE(general_category)
|
|||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_c));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cc));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_co));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_cn));
|
||||
EXPECT(!Unicode::code_point_has_general_category(code_point, general_category_ll));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -890,9 +890,7 @@ static void populate_general_category_unions(PropList& general_categories)
|
|||
populate_union("P"sv, Array { "Pc"sv, "Pd"sv, "Ps"sv, "Pe"sv, "Pi"sv, "Pf"sv, "Po"sv });
|
||||
populate_union("S"sv, Array { "Sm"sv, "Sc"sv, "Sk"sv, "So"sv });
|
||||
populate_union("Z"sv, Array { "Zs"sv, "Zl"sv, "Zp"sv });
|
||||
|
||||
// FIXME: This union should also contain "Cn" (Unassigned), which we don't parse yet.
|
||||
populate_union("C"sv, Array { "Cc"sv, "Cf"sv, "Cs"sv, "Co"sv });
|
||||
populate_union("C"sv, Array { "Cc"sv, "Cf"sv, "Cs"sv, "Co"sv, "Cn"sv });
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
|
|
Loading…
Reference in a new issue