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:
parent
85414d9338
commit
09d40bfbb2
92 changed files with 334 additions and 310 deletions
|
@ -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());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue