1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 13:35:07 +00:00

LibUnicode: Add lexer to test if a string matches the "type" production

This commit is contained in:
Timothy Flynn 2021-09-01 07:48:02 -04:00 committed by Linus Groh
parent 113bf4a9dd
commit a05419db55
3 changed files with 35 additions and 0 deletions

View file

@ -69,6 +69,24 @@ TEST_CASE(is_unicode_variant_subtag)
EXPECT(!Unicode::is_unicode_variant_subtag("a234"sv));
}
TEST_CASE(is_type_identifier)
{
EXPECT(Unicode::is_type_identifier("aaaa"sv));
EXPECT(Unicode::is_type_identifier("aaaa-bbbb"sv));
EXPECT(Unicode::is_type_identifier("aaaa-bbbb-cccc"sv));
EXPECT(Unicode::is_type_identifier("1aaa"sv));
EXPECT(Unicode::is_type_identifier("12aa"sv));
EXPECT(Unicode::is_type_identifier("123a"sv));
EXPECT(Unicode::is_type_identifier("1234"sv));
EXPECT(!Unicode::is_type_identifier(""sv));
EXPECT(!Unicode::is_type_identifier("a"sv));
EXPECT(!Unicode::is_type_identifier("aa"sv));
EXPECT(!Unicode::is_type_identifier("aaaaaaaaa"sv));
EXPECT(!Unicode::is_type_identifier("aaaa-"sv));
}
TEST_CASE(parse_unicode_locale_id)
{
auto fail = [](StringView locale) {