summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorTimothy Flynn <trflynn89@pm.me>2021-09-01 07:48:02 -0400
committerLinus Groh <mail@linusgroh.de>2021-09-02 17:56:42 +0100
commita05419db55c920fecd0a071ebc17f9722306dce5 (patch)
treefe8740b2c94d3b6dc27e3b305d81511b4243c897 /Tests
parent113bf4a9dd4bb98515378d4c38a8f081313bbfb4 (diff)
downloadserenity-a05419db55c920fecd0a071ebc17f9722306dce5.zip
LibUnicode: Add lexer to test if a string matches the "type" production
Diffstat (limited to 'Tests')
-rw-r--r--Tests/LibUnicode/TestUnicodeLocale.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Tests/LibUnicode/TestUnicodeLocale.cpp b/Tests/LibUnicode/TestUnicodeLocale.cpp
index fb79b32139..53ffddbf2c 100644
--- a/Tests/LibUnicode/TestUnicodeLocale.cpp
+++ b/Tests/LibUnicode/TestUnicodeLocale.cpp
@@ -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) {