LibWeb+Tests: Demonstrate slowness of CSS::value_id_from_string

This commit is contained in:
Ben Wiederhake 2023-01-09 22:31:20 +01:00 committed by Andrew Kaster
parent 0687a75eaa
commit b3d2fdceb1
Notes: sideshowbarker 2024-07-17 01:42:31 +09:00
2 changed files with 28 additions and 0 deletions

View file

@ -1,4 +1,5 @@
set(TEST_SOURCES set(TEST_SOURCES
TestCSSIDSpeed.cpp
TestHTMLTokenizer.cpp TestHTMLTokenizer.cpp
) )

View file

@ -0,0 +1,27 @@
/*
* Copyright (c) 2023, Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibTest/TestCase.h>
#include <LibWeb/CSS/ValueID.h>
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);
}
}