@@ -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