1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 07:57:49 +00:00

Everywhere: Use _{short_,}string to create Strings from literals

This commit is contained in:
Linus Groh 2023-02-25 16:40:37 +01:00
parent 85414d9338
commit 09d40bfbb2
92 changed files with 334 additions and 310 deletions

View file

@ -21,17 +21,21 @@ TEST_CASE(construct_empty)
String empty;
EXPECT(empty.is_empty());
EXPECT_EQ(empty.bytes().size(), 0u);
EXPECT_EQ(empty, ""sv);
auto empty2 = MUST(String::from_utf8(""sv));
auto empty2 = MUST(""_string);
EXPECT(empty2.is_empty());
EXPECT_EQ(empty, empty2);
EXPECT_EQ(empty, ""sv);
auto empty3 = MUST(String::from_utf8(""sv));
EXPECT(empty3.is_empty());
EXPECT_EQ(empty, empty3);
}
TEST_CASE(move_assignment)
{
String string1 = MUST(String::from_utf8("hello"sv));
string1 = MUST(String::from_utf8("friends!"sv));
String string1 = MUST("hello"_string);
string1 = MUST("friends!"_string);
EXPECT_EQ(string1, "friends!"sv);
}
@ -47,6 +51,16 @@ TEST_CASE(short_strings)
EXPECT_EQ(string2.is_short_string(), true);
EXPECT_EQ(string2.bytes().size(), 7u);
EXPECT_EQ(string2, string1);
auto string3 = MUST("abcdefg"_string);
EXPECT_EQ(string3.is_short_string(), true);
EXPECT_EQ(string3.bytes().size(), 7u);
EXPECT_EQ(string3, string1);
constexpr auto string4 = "abcdefg"_short_string;
EXPECT_EQ(string4.is_short_string(), true);
EXPECT_EQ(string4.bytes().size(), 7u);
EXPECT_EQ(string4, string1);
#else
auto string1 = MUST(String::from_utf8("abc"sv));
EXPECT_EQ(string1.is_short_string(), true);
@ -57,6 +71,16 @@ TEST_CASE(short_strings)
EXPECT_EQ(string2.is_short_string(), true);
EXPECT_EQ(string2.bytes().size(), 3u);
EXPECT_EQ(string2, string1);
auto string3 = MUST("abc"_string);
EXPECT_EQ(string3.is_short_string(), true);
EXPECT_EQ(string3.bytes().size(), 3u);
EXPECT_EQ(string3, string1);
constexpr auto string4 = "abc"_short_string;
EXPECT_EQ(string4.is_short_string(), true);
EXPECT_EQ(string4.bytes().size(), 3u);
EXPECT_EQ(string4, string1);
#endif
}
@ -138,7 +162,7 @@ TEST_CASE(from_code_points)
TEST_CASE(substring)
{
auto superstring = MUST(String::from_utf8("Hello I am a long string"sv));
auto superstring = MUST("Hello I am a long string"_string);
auto short_substring = MUST(superstring.substring_from_byte_offset(0, 5));
EXPECT_EQ(short_substring, "Hello"sv);
@ -148,7 +172,7 @@ TEST_CASE(substring)
TEST_CASE(substring_with_shared_superstring)
{
auto superstring = MUST(String::from_utf8("Hello I am a long string"sv));
auto superstring = MUST("Hello I am a long string"_string);
auto substring1 = MUST(superstring.substring_from_byte_offset_with_shared_superstring(0, 5));
EXPECT_EQ(substring1, "Hello"sv);
@ -159,7 +183,7 @@ TEST_CASE(substring_with_shared_superstring)
TEST_CASE(code_points)
{
auto string = MUST(String::from_utf8("🦬🪒"sv));
auto string = MUST("🦬🪒"_string);
Vector<u32> code_points;
for (auto code_point : string.code_points())
@ -182,20 +206,20 @@ TEST_CASE(string_builder)
TEST_CASE(ak_format)
{
auto foo = MUST(String::formatted("Hello {}", MUST(String::from_utf8("friends"sv))));
auto foo = MUST(String::formatted("Hello {}", MUST("friends"_string)));
EXPECT_EQ(foo, "Hello friends"sv);
}
TEST_CASE(replace)
{
{
auto haystack = MUST(String::from_utf8("Hello enemies"sv));
auto haystack = MUST("Hello enemies"_string);
auto result = MUST(haystack.replace("enemies"sv, "friends"sv, ReplaceMode::All));
EXPECT_EQ(result, "Hello friends"sv);
}
{
auto base_title = MUST(String::from_utf8("anon@courage:~"sv));
auto base_title = MUST("anon@courage:~"_string);
auto result = MUST(base_title.replace("[*]"sv, "(*)"sv, ReplaceMode::FirstOnly));
EXPECT_EQ(result, "anon@courage:~"sv);
}
@ -221,17 +245,17 @@ TEST_CASE(reverse)
TEST_CASE(to_lowercase)
{
{
auto string = MUST(String::from_utf8("Aa"sv));
auto string = MUST("Aa"_string);
auto result = MUST(string.to_lowercase());
EXPECT_EQ(result, "aa"sv);
}
{
auto string = MUST(String::from_utf8("Ωω"sv));
auto string = MUST("Ωω"_string);
auto result = MUST(string.to_lowercase());
EXPECT_EQ(result, "ωω"sv);
}
{
auto string = MUST(String::from_utf8("İi̇"sv));
auto string = MUST("İi̇"_string);
auto result = MUST(string.to_lowercase());
EXPECT_EQ(result, "i̇i̇"sv);
}
@ -240,17 +264,17 @@ TEST_CASE(to_lowercase)
TEST_CASE(to_uppercase)
{
{
auto string = MUST(String::from_utf8("Aa"sv));
auto string = MUST("Aa"_string);
auto result = MUST(string.to_uppercase());
EXPECT_EQ(result, "AA"sv);
}
{
auto string = MUST(String::from_utf8("Ωω"sv));
auto string = MUST("Ωω"_string);
auto result = MUST(string.to_uppercase());
EXPECT_EQ(result, "ΩΩ"sv);
}
{
auto string = MUST(String::from_utf8("ʼn"sv));
auto string = MUST("ʼn"_string);
auto result = MUST(string.to_uppercase());
EXPECT_EQ(result, "ʼN"sv);
}
@ -259,22 +283,22 @@ TEST_CASE(to_uppercase)
TEST_CASE(to_titlecase)
{
{
auto string = MUST(String::from_utf8("foo bar baz"sv));
auto string = MUST("foo bar baz"_string);
auto result = MUST(string.to_titlecase());
EXPECT_EQ(result, "Foo Bar Baz"sv);
}
{
auto string = MUST(String::from_utf8("foo \n \r bar \t baz"sv));
auto string = MUST("foo \n \r bar \t baz"_string);
auto result = MUST(string.to_titlecase());
EXPECT_EQ(result, "Foo \n \r Bar \t Baz"sv);
}
{
auto string = MUST(String::from_utf8("f\"oo\" b'ar'"sv));
auto string = MUST("f\"oo\" b'ar'"_string);
auto result = MUST(string.to_titlecase());
EXPECT_EQ(result, "F\"Oo\" B'ar'"sv);
}
{
auto string = MUST(String::from_utf8("123dollars"sv));
auto string = MUST("123dollars"_string);
auto result = MUST(string.to_titlecase());
EXPECT_EQ(result, "123Dollars"sv);
}
@ -289,10 +313,10 @@ TEST_CASE(equals_ignoring_case)
EXPECT(MUST(string1.equals_ignoring_case(string2)));
}
{
auto string1 = MUST(String::from_utf8("abcd"sv));
auto string2 = MUST(String::from_utf8("ABCD"sv));
auto string3 = MUST(String::from_utf8("AbCd"sv));
auto string4 = MUST(String::from_utf8("dcba"sv));
auto string1 = MUST("abcd"_string);
auto string2 = MUST("ABCD"_string);
auto string3 = MUST("AbCd"_string);
auto string4 = MUST("dcba"_string);
EXPECT(MUST(string1.equals_ignoring_case(string2)));
EXPECT(MUST(string1.equals_ignoring_case(string3)));
@ -307,12 +331,12 @@ TEST_CASE(equals_ignoring_case)
EXPECT(!MUST(string3.equals_ignoring_case(string4)));
}
{
auto string1 = MUST(String::from_utf8("\u00DF"sv)); // LATIN SMALL LETTER SHARP S
auto string2 = MUST(String::from_utf8("SS"sv));
auto string3 = MUST(String::from_utf8("Ss"sv));
auto string4 = MUST(String::from_utf8("ss"sv));
auto string5 = MUST(String::from_utf8("S"sv));
auto string6 = MUST(String::from_utf8("s"sv));
auto string1 = MUST("\u00DF"_string); // LATIN SMALL LETTER SHARP S
auto string2 = MUST("SS"_string);
auto string3 = MUST("Ss"_string);
auto string4 = MUST("ss"_string);
auto string5 = MUST("S"_string);
auto string6 = MUST("s"_string);
EXPECT(MUST(string1.equals_ignoring_case(string2)));
EXPECT(MUST(string1.equals_ignoring_case(string3)));
@ -342,8 +366,8 @@ TEST_CASE(equals_ignoring_case)
TEST_CASE(is_one_of)
{
auto foo = MUST(String::from_utf8("foo"sv));
auto bar = MUST(String::from_utf8("bar"sv));
auto foo = MUST("foo"_string);
auto bar = MUST("bar"_string);
EXPECT(foo.is_one_of(foo));
EXPECT(foo.is_one_of(foo, bar));
@ -359,7 +383,7 @@ TEST_CASE(is_one_of)
TEST_CASE(split)
{
{
auto test = MUST(String::from_utf8("foo bar baz"sv));
auto test = MUST("foo bar baz"_string);
auto parts = MUST(test.split(' '));
EXPECT_EQ(parts.size(), 3u);
EXPECT_EQ(parts[0], "foo");
@ -367,7 +391,7 @@ TEST_CASE(split)
EXPECT_EQ(parts[2], "baz");
}
{
auto test = MUST(String::from_utf8("ωΣ2ωΣω"sv));
auto test = MUST("ωΣ2ωΣω"_string);
auto parts = MUST(test.split(0x03A3u));
EXPECT_EQ(parts.size(), 3u);
EXPECT_EQ(parts[0], "ω"sv);
@ -387,7 +411,7 @@ TEST_CASE(find_byte_offset)
EXPECT(!index2.has_value());
}
{
auto string = MUST(String::from_utf8("foo"sv));
auto string = MUST("foo"_string);
auto index1 = string.find_byte_offset('f');
EXPECT_EQ(index1, 0u);
@ -402,7 +426,7 @@ TEST_CASE(find_byte_offset)
EXPECT(!index4.has_value());
}
{
auto string = MUST(String::from_utf8("foo"sv));
auto string = MUST("foo"_string);
auto index1 = string.find_byte_offset("fo"sv);
EXPECT_EQ(index1, 0u);
@ -417,7 +441,7 @@ TEST_CASE(find_byte_offset)
EXPECT(!index4.has_value());
}
{
auto string = MUST(String::from_utf8("ωΣωΣω"sv));
auto string = MUST("ωΣωΣω"_string);
auto index1 = string.find_byte_offset(0x03C9U);
EXPECT_EQ(index1, 0u);
@ -435,7 +459,7 @@ TEST_CASE(find_byte_offset)
EXPECT_EQ(index5, 8u);
}
{
auto string = MUST(String::from_utf8("ωΣωΣω"sv));
auto string = MUST("ωΣωΣω"_string);
auto index1 = string.find_byte_offset("ω"sv);
EXPECT_EQ(index1, 0u);
@ -549,7 +573,7 @@ TEST_CASE(join)
auto string5 = MUST(String::join(',', Array { 1, 2, 3 }, "[{}]"sv));
EXPECT_EQ(string5, "[1],[2],[3]"sv);
auto string6 = MUST(String::join(String::from_utf8_short_string("!!!"sv), Array { "foo"sv, "bar"sv, "baz"sv }));
auto string6 = MUST(String::join("!!!"_short_string, Array { "foo"sv, "bar"sv, "baz"sv }));
EXPECT_EQ(string6, "foo!!!bar!!!baz"sv);
auto string7 = MUST(String::join(" - "sv, Array { 1, 16, 256, 4096 }, "[{:#04x}]"sv));
@ -571,7 +595,7 @@ TEST_CASE(trim)
EXPECT(result.is_empty());
}
{
auto string = MUST(String::from_utf8("word"sv));
auto string = MUST("word"_string);
auto result = MUST(string.trim(" "sv, TrimMode::Both));
EXPECT_EQ(result, "word"sv);
@ -583,7 +607,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, "word"sv);
}
{
auto string = MUST(String::from_utf8(" word"sv));
auto string = MUST(" word"_string);
auto result = MUST(string.trim(" "sv, TrimMode::Both));
EXPECT_EQ(result, "word"sv);
@ -595,7 +619,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, " word"sv);
}
{
auto string = MUST(String::from_utf8("word "sv));
auto string = MUST("word "_string);
auto result = MUST(string.trim(" "sv, TrimMode::Both));
EXPECT_EQ(result, "word"sv);
@ -607,7 +631,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, "word"sv);
}
{
auto string = MUST(String::from_utf8(" word "sv));
auto string = MUST(" word "_string);
auto result = MUST(string.trim(" "sv, TrimMode::Both));
EXPECT_EQ(result, "word"sv);
@ -619,7 +643,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, " word"sv);
}
{
auto string = MUST(String::from_utf8(" word "sv));
auto string = MUST(" word "_string);
auto result = MUST(string.trim("\t"sv, TrimMode::Both));
EXPECT_EQ(result, " word "sv);
@ -631,7 +655,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, " word "sv);
}
{
auto string = MUST(String::from_utf8("ωΣωΣω"sv));
auto string = MUST("ωΣωΣω"_string);
auto result = MUST(string.trim("ω"sv, TrimMode::Both));
EXPECT_EQ(result, "ΣωΣ"sv);
@ -643,7 +667,7 @@ TEST_CASE(trim)
EXPECT_EQ(result, "ωΣωΣ"sv);
}
{
auto string = MUST(String::from_utf8("ωΣωΣω"sv));
auto string = MUST("ωΣωΣω"_string);
auto result = MUST(string.trim("ωΣ"sv, TrimMode::Both));
EXPECT(result.is_empty());
@ -655,7 +679,7 @@ TEST_CASE(trim)
EXPECT(result.is_empty());
}
{
auto string = MUST(String::from_utf8("ωΣωΣω"sv));
auto string = MUST("ωΣωΣω"_string);
auto result = MUST(string.trim("Σω"sv, TrimMode::Both));
EXPECT(result.is_empty());