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

AK: Generalize Span::contains_slow to use the Traits infrastructure

This allows, for example, checking if a Span<String> contains a value
without having to allocate a String.
This commit is contained in:
Timothy Flynn 2024-03-14 12:48:09 -04:00 committed by Andreas Kling
parent faf4ba63c2
commit e4213f5767
2 changed files with 24 additions and 2 deletions

View file

@ -138,3 +138,24 @@ TEST_CASE(starts_with)
ReadonlyBytes hey_bytes_u8 { hey_array, 3 };
EXPECT(bytes.starts_with(hey_bytes_u8));
}
TEST_CASE(contains_slow)
{
Vector<String> list { "abc"_string, "def"_string, "ghi"_string };
auto span = list.span();
EXPECT(span.contains_slow("abc"_string));
EXPECT(span.contains_slow("abc"sv));
EXPECT(span.contains_slow("def"_string));
EXPECT(span.contains_slow("def"sv));
EXPECT(span.contains_slow("ghi"_string));
EXPECT(span.contains_slow("ghi"sv));
EXPECT(!span.contains_slow("whf"_string));
EXPECT(!span.contains_slow("whf"sv));
EXPECT(!span.contains_slow(String {}));
EXPECT(!span.contains_slow(StringView {}));
}