LibCore+LibJS+LibUnicode: Port retrieving available time zones to ICU

This required updating some LibJS spec steps to their latest versions,
as the data expected by the old steps does not quite match the APIs that
are available with the ICU. The new spec steps are much more aligned.
This commit is contained in:
Timothy Flynn 2024-06-25 11:06:08 -04:00 committed by Andreas Kling
commit 4fc0fba646
Notes: sideshowbarker 2024-07-17 18:06:52 +09:00
15 changed files with 259 additions and 103 deletions

View file

@ -41,3 +41,17 @@ TEST_CASE(current_time_zone)
EXPECT_EQ(Unicode::current_time_zone(), "UTC"sv);
}
}
TEST_CASE(available_time_zones)
{
auto const& time_zones = Unicode::available_time_zones();
EXPECT(time_zones.contains_slow("UTC"sv));
EXPECT(!time_zones.contains_slow("EAT"sv));
}
TEST_CASE(resolve_primary_time_zone)
{
EXPECT_EQ(Unicode::resolve_primary_time_zone("UTC"sv), "Etc/UTC"sv);
EXPECT_EQ(Unicode::resolve_primary_time_zone("Asia/Katmandu"sv), "Asia/Kathmandu"sv);
EXPECT_EQ(Unicode::resolve_primary_time_zone("Australia/Canberra"sv), "Australia/Sydney"sv);
}