summaryrefslogtreecommitdiff
path: root/test/uri.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/uri.cc')
-rw-r--r--test/uri.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/uri.cc b/test/uri.cc
index 44366b9..edaef5f 100644
--- a/test/uri.cc
+++ b/test/uri.cc
@@ -11,6 +11,7 @@ TEST(uri, empty) {
TEST(uri, example) {
std::string tmp;
EXPECT_EQ("?x=test", uri::decode("%3Fx%3Dtest", tmp).value_or("error"));
+ EXPECT_EQ("?x=test", uri::decode("%3fx%3dtest", tmp).value_or("error"));
EXPECT_EQ(
"шеллы",
uri::decode("%D1%88%D0%B5%D0%BB%D0%BB%D1%8B", tmp).value_or("error"));
@@ -21,3 +22,11 @@ TEST(uri, example) {
EXPECT_EQ("search+query (correct)",
uri::decode("search+query%20%28correct%29", tmp).value_or("error"));
}
+
+TEST(uri, bad) {
+ std::string tmp;
+ EXPECT_FALSE(uri::decode("%3Fx%3", tmp).has_value());
+ EXPECT_FALSE(uri::decode("%3Fx%3test", tmp).has_value());
+ EXPECT_FALSE(uri::decode("%%", tmp).has_value());
+ EXPECT_FALSE(uri::decode("%D1", tmp).has_value());
+}