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

AK+Everywhere: Replace URL::paths() with path_segment_at_index()

This allows accessing and looping over the path segments in a URL
without necessarily allocating a new vector if you want them percent
decoded too (which path_segment_at_index() has an option for).
This commit is contained in:
MacDue 2023-04-13 23:29:51 +01:00 committed by Andreas Kling
parent 35612c6a7f
commit 5db1eb9961
6 changed files with 28 additions and 21 deletions

View file

@ -203,8 +203,8 @@ TEST_CASE(mailto_url)
EXPECT_EQ(url.scheme(), "mailto");
EXPECT(url.host().is_null());
EXPECT_EQ(url.port_or_default(), 0);
EXPECT_EQ(url.paths().size(), 1u);
EXPECT_EQ(url.paths()[0], "mail@example.com");
EXPECT_EQ(url.path_segment_count(), 1u);
EXPECT_EQ(url.path_segment_at_index(0), "mail@example.com");
EXPECT(url.query().is_null());
EXPECT(url.fragment().is_null());
EXPECT_EQ(url.serialize(), "mailto:mail@example.com");
@ -329,20 +329,20 @@ TEST_CASE(create_with_file_scheme)
EXPECT(url.is_valid());
EXPECT_EQ(url.scheme(), "file");
EXPECT_EQ(url.port_or_default(), 0);
EXPECT_EQ(url.paths().size(), 3u);
EXPECT_EQ(url.paths()[0], "home");
EXPECT_EQ(url.paths()[1], "anon");
EXPECT_EQ(url.paths()[2], "README.md");
EXPECT_EQ(url.path_segment_count(), 3u);
EXPECT_EQ(url.path_segment_at_index(0), "home");
EXPECT_EQ(url.path_segment_at_index(1), "anon");
EXPECT_EQ(url.path_segment_at_index(2), "README.md");
EXPECT_EQ(url.serialize_path(), "/home/anon/README.md");
EXPECT(url.query().is_null());
EXPECT(url.fragment().is_null());
url = URL::create_with_file_scheme("/home/anon/");
EXPECT(url.is_valid());
EXPECT_EQ(url.paths().size(), 3u);
EXPECT_EQ(url.paths()[0], "home");
EXPECT_EQ(url.paths()[1], "anon");
EXPECT_EQ(url.paths()[2], "");
EXPECT_EQ(url.path_segment_count(), 3u);
EXPECT_EQ(url.path_segment_at_index(0), "home");
EXPECT_EQ(url.path_segment_at_index(1), "anon");
EXPECT_EQ(url.path_segment_at_index(2), "");
EXPECT_EQ(url.serialize_path(), "/home/anon/");
url = URL("file:///home/anon/"sv);
@ -399,9 +399,9 @@ TEST_CASE(complete_file_url_with_base)
URL url { "file:///home/index.html" };
EXPECT(url.is_valid());
EXPECT_EQ(url.serialize_path(), "/home/index.html");
EXPECT_EQ(url.paths().size(), 2u);
EXPECT_EQ(url.paths()[0], "home");
EXPECT_EQ(url.paths()[1], "index.html");
EXPECT_EQ(url.path_segment_count(), 2u);
EXPECT_EQ(url.path_segment_at_index(0), "home");
EXPECT_EQ(url.path_segment_at_index(1), "index.html");
auto sub_url = url.complete_url("js/app.js"sv);
EXPECT(sub_url.is_valid());