diff --git a/tests/basic_tests.cpp b/tests/basic_tests.cpp index 4435ff9ab..fa7e251a5 100644 --- a/tests/basic_tests.cpp +++ b/tests/basic_tests.cpp @@ -417,3 +417,14 @@ TYPED_TEST(basic_tests, nodejs_51619) { ASSERT_FALSE(out); SUCCEED(); } + +// https://github.com/nodejs/undici/pull/2971 +TYPED_TEST(basic_tests, nodejs_undici_2971) { + std::string_view base = "https://non-ascii-location-header.sys.workers.dev/redirect"; + auto base_url = ada::parse(base); + ASSERT_TRUE(base_url); + auto out = ada::parse("/\xec\x95\x88\xeb\x85\x95", &*base_url); + ASSERT_TRUE(out); + ASSERT_EQ(out->get_href(), R"(https://non-ascii-location-header.sys.workers.dev/%EC%95%88%EB%85%95)"); + SUCCEED(); +} \ No newline at end of file