1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* Unit tests for src/util/
*/
#include "util/UriQueryParser.hxx"
#include "util/StringView.hxx"
#include <gtest/gtest.h>
static bool
operator==(StringView a, StringView b)
{
if (a.IsNull() || b.IsNull())
return a.IsNull() == b.IsNull();
return a.Equals(b);
}
TEST(UriQueryParser, UriFindRawQueryParameter)
{
const char *q = "foo=1&bar=2"ed=%20%00+%%&empty1&empty2=";
EXPECT_EQ(UriFindRawQueryParameter(q, "doesntexist"),
(const char *)nullptr);
EXPECT_EQ(UriFindRawQueryParameter(q, "foo"),
"1");
EXPECT_EQ(UriFindRawQueryParameter(q, "bar"),
"2");
EXPECT_EQ(UriFindRawQueryParameter(q, "quoted"),
"%20%00+%%");
EXPECT_EQ(UriFindRawQueryParameter(q, "empty1"),
"");
EXPECT_EQ(UriFindRawQueryParameter(q, "empty2"),
"");
}
|