cesium-native/CesiumUtility/test/TestGetQueryValue.cpp

24 lines
768 B
C++

#include "CesiumUtility/Uri.h"
#include <catch2/catch.hpp>
using namespace CesiumUtility;
TEST_CASE("Uri::getQueryValue") {
std::string url = "https://example.com/?name=John&age=25";
CHECK(Uri::getQueryValue(url, "name") == "John");
CHECK(Uri::getQueryValue(url, "age") == std::to_string(25));
CHECK(Uri::getQueryValue(url, "gender") == "");
CHECK(Uri::getQueryValue(url, "") == "");
CHECK(Uri::getQueryValue("", "name") == "");
CHECK(
Uri::getQueryValue(
"https://example.com/?name=John&name=Jane&age=25",
"name") == "John");
CHECK(
Uri::getQueryValue(
"https://example.com/?name=John%20Doe&age=25",
"name") == "John Doe");
CHECK(Uri::getQueryValue("//example.com?value=1", "value") == "1");
}