LibWeb+Tests: Demonstrate slowness of CSS::value_id_from_string
This commit is contained in:
parent
0687a75eaa
commit
b3d2fdceb1
Notes:
sideshowbarker
2024-07-17 01:42:31 +09:00
Author: https://github.com/BenWiederhake Commit: https://github.com/SerenityOS/serenity/commit/b3d2fdceb1 Pull-request: https://github.com/SerenityOS/serenity/pull/16934 Reviewed-by: https://github.com/ADKaster ✅ Reviewed-by: https://github.com/davidot
2 changed files with 28 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
||||||
set(TEST_SOURCES
|
set(TEST_SOURCES
|
||||||
|
TestCSSIDSpeed.cpp
|
||||||
TestHTMLTokenizer.cpp
|
TestHTMLTokenizer.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
27
Tests/LibWeb/TestCSSIDSpeed.cpp
Normal file
27
Tests/LibWeb/TestCSSIDSpeed.cpp
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue