Skip to content

Commit 8775060

Browse files
authored
making sure we parse repeated question marks (#990)
1 parent 9bad044 commit 8775060

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

tests/basic_tests.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,3 +523,41 @@ TYPED_TEST(basic_tests, test_issue_970) {
523523
ASSERT_EQ(url->get_pathname(), "/bar%5Ebaz");
524524
SUCCEED();
525525
}
526+
527+
TYPED_TEST(basic_tests, test_workerd_issue_5144_1) {
528+
auto url = ada::parse<TypeParam>("https://example.sub.com/??");
529+
ASSERT_TRUE(url);
530+
ASSERT_EQ(url->get_search(), "??");
531+
ASSERT_EQ(url->get_href(), "https://example.sub.com/??");
532+
533+
SUCCEED();
534+
}
535+
536+
TYPED_TEST(basic_tests, test_workerd_issue_5144_2) {
537+
auto url = ada::parse<TypeParam>("https://example.sub.com/???");
538+
ASSERT_TRUE(url);
539+
ASSERT_EQ(url->get_search(), "???");
540+
ASSERT_EQ(url->get_href(), "https://example.sub.com/???");
541+
SUCCEED();
542+
}
543+
544+
TYPED_TEST(basic_tests, test_workerd_issue_5144_3) {
545+
auto url = ada::parse<TypeParam>("https://example.sub.com/????");
546+
ASSERT_TRUE(url);
547+
ASSERT_EQ(url->get_search(), "????");
548+
ASSERT_EQ(url->get_href(), "https://example.sub.com/????");
549+
SUCCEED();
550+
}
551+
552+
TYPED_TEST(basic_tests, test_workerd_issue_5144_4) {
553+
using regex_provider = ada::url_pattern_regex::std_regex_provider;
554+
auto init = ada::url_pattern_init{};
555+
init.hostname = ":subdomain.:domain.:tld";
556+
auto pattern = ada::parse_url_pattern<regex_provider>(init);
557+
ASSERT_TRUE(pattern);
558+
ASSERT_TRUE(pattern->match("https://example.com"));
559+
ASSERT_TRUE(pattern->match("https://example.com/?"));
560+
ASSERT_TRUE(pattern->match("https://example.com/??"));
561+
562+
SUCCEED();
563+
}

0 commit comments

Comments
 (0)