#include "quiche/common/platform/api/quiche_url_utils.h"
#include <optional>
#include <set>
#include <string>
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "quiche/common/platform/api/quiche_test.h"
namespace quiche {
namespace {
void ValidateExpansion(
const std::string& uri_template,
const absl::flat_hash_map<std::string, std::string>& parameters,
const std::string& expected_expansion,
const absl::flat_hash_set<std::string>& expected_vars_found) { … }
TEST(QuicheUrlUtilsTest, Basic) { … }
TEST(QuicheUrlUtilsTest, ExtraParameter) { … }
TEST(QuicheUrlUtilsTest, MissingParameter) { … }
TEST(QuicheUrlUtilsTest, RepeatedParameter) { … }
TEST(QuicheUrlUtilsTest, URLEncoding) { … }
void ValidateUrlDecode(const std::string& input,
const std::optional<std::string>& expected_output) { … }
TEST(QuicheUrlUtilsTest, DecodeNoChange) { … }
TEST(QuicheUrlUtilsTest, DecodeReplace) { … }
TEST(QuicheUrlUtilsTest, DecodeFail) { … }
}
}