diff --git a/Tests/LibWeb/CMakeLists.txt b/Tests/LibWeb/CMakeLists.txt index 61a6aeb353..7bfd1699fc 100644 --- a/Tests/LibWeb/CMakeLists.txt +++ b/Tests/LibWeb/CMakeLists.txt @@ -1,4 +1,5 @@ set(TEST_SOURCES + TestCSSIDSpeed.cpp TestHTMLTokenizer.cpp ) diff --git a/Tests/LibWeb/TestCSSIDSpeed.cpp b/Tests/LibWeb/TestCSSIDSpeed.cpp new file mode 100644 index 0000000000..e42e7da8f7 --- /dev/null +++ b/Tests/LibWeb/TestCSSIDSpeed.cpp @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2023, Ben Wiederhake + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include + +TEST_CASE(basic) +{ + EXPECT_EQ(Web::CSS::value_id_from_string("italic"sv), Web::CSS::ValueID::Italic); + EXPECT_EQ(Web::CSS::value_id_from_string("inline"sv), Web::CSS::ValueID::Inline); + EXPECT_EQ(Web::CSS::value_id_from_string("small"sv), Web::CSS::ValueID::Small); + EXPECT_EQ(Web::CSS::value_id_from_string("smalL"sv), Web::CSS::ValueID::Small); + EXPECT_EQ(Web::CSS::value_id_from_string("SMALL"sv), Web::CSS::ValueID::Small); + EXPECT_EQ(Web::CSS::value_id_from_string("Small"sv), Web::CSS::ValueID::Small); + EXPECT_EQ(Web::CSS::value_id_from_string("smALl"sv), Web::CSS::ValueID::Small); +} + +BENCHMARK_CASE(value_id_from_string) +{ + for (size_t i = 0; i < 10'000'000; ++i) { + EXPECT_EQ(Web::CSS::value_id_from_string("inline"sv), Web::CSS::ValueID::Inline); + } +}