From 2017892a7d389ab319576e7372041da8c6a8e28d Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Mon, 29 Nov 2021 04:42:22 +0100 Subject: [PATCH] Add failing router tests --- tests/HttpRouter.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/HttpRouter.cpp b/tests/HttpRouter.cpp index 3ab2e7c..3c00f5f 100644 --- a/tests/HttpRouter.cpp +++ b/tests/HttpRouter.cpp @@ -264,6 +264,52 @@ void testBugReports() { r.route("get", "/static"); assert(result == "WWGSLAW"); } + + { + uWS::HttpRouter r; + std::string result; + + r.add({"get"}, "/foo", [&result](auto *) { + result += "FOO"; + return false; + }, r.MEDIUM_PRIORITY); + + r.add({"get"}, "/:id", [&result](auto *) { + result += "ID"; + return false; + }, r.MEDIUM_PRIORITY); + + r.add({"get"}, "/1ab", [&result](auto *) { + result += "ONEAB"; + return false; + }, r.MEDIUM_PRIORITY); + + r.route("get", "/1ab"); + // this one fails with IDONEAB + std::cout << result << std::endl; + assert(result == "ONEAB"); + } + + { + uWS::HttpRouter r; + std::string result; + + r.add({"get"}, "/*", [&result](auto *) { + result += "STAR"; + return false; + }, r.MEDIUM_PRIORITY); + + r.add({"get"}, "/", [&result](auto *) { + result += "STATIC"; + return false; + }, r.MEDIUM_PRIORITY); + + r.route("get", "/"); + std::cout << result << std::endl; + // this one fails with STARSTATIC + assert(result == "STATICSTAR"); + } + } void testParameters() {