Merge pull request #26362 from ksooo/estuary-rework-pvr-info-dialog
[xbmc.git] / xbmc / utils / test / TestHttpParser.cpp
blob1eb29329d0ce825c7edded1fcc4bcbfdc3a19a10
1 /*
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.
7 */
9 #include "utils/HttpParser.h"
11 #include <gtest/gtest.h>
13 TEST(TestHttpParser, General)
15 HttpParser a;
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"
19 " 4.0)\r\n"
20 "Content-Type: application/x-www-form-urlencoded\r\n"
21 "Content-Length: 35\r\n"
22 "\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()));
28 refstr = "POST";
29 varstr = a.getMethod();
30 EXPECT_STREQ(refstr.c_str(), varstr.c_str());
32 refstr = "/path/script.cgi";
33 varstr = a.getUri();
34 EXPECT_STREQ(refstr.c_str(), varstr.c_str());
36 refstr = "";
37 varstr = a.getQueryString();
38 EXPECT_STREQ(refstr.c_str(), varstr.c_str());
40 refstr = "home=amejia&favorite+flavor=orange\r\n";
41 varstr = a.getBody();
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());