2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "utils/HttpParser.h"
11 #include <gtest/gtest.h>
13 TEST(TestHttpParser
, General
)
16 std::string str
= "POST /path/script.cgi HTTP/1.0\r\n"
17 "From: amejia@xbmc.org\r\n"
18 "User-Agent: XBMC/snapshot (compatible; MSIE 5.5; Windows NT"
20 "Content-Type: application/x-www-form-urlencoded\r\n"
21 "Content-Length: 35\r\n"
23 "home=amejia&favorite+flavor=orange\r\n";
24 std::string refstr
, varstr
;
26 EXPECT_EQ(a
.Done
, a
.addBytes(str
.c_str(), str
.length()));
29 varstr
= a
.getMethod();
30 EXPECT_STREQ(refstr
.c_str(), varstr
.c_str());
32 refstr
= "/path/script.cgi";
34 EXPECT_STREQ(refstr
.c_str(), varstr
.c_str());
37 varstr
= a
.getQueryString();
38 EXPECT_STREQ(refstr
.c_str(), varstr
.c_str());
40 refstr
= "home=amejia&favorite+flavor=orange\r\n";
42 EXPECT_STREQ(refstr
.c_str(), varstr
.c_str());
44 refstr
= "application/x-www-form-urlencoded";
45 varstr
= a
.getValue("content-type");
46 EXPECT_STREQ(refstr
.c_str(), varstr
.c_str());
48 EXPECT_EQ((unsigned)35, a
.getContentLength());