diff --git a/test/IXHttpTest.cpp b/test/IXHttpTest.cpp new file mode 100644 index 00000000..65da1762 --- /dev/null +++ b/test/IXHttpTest.cpp @@ -0,0 +1,55 @@ +/* + * IXHttpTest.cpp + * Author: Benjamin Sergeant + * Copyright (c) 2019 Machine Zone. All rights reserved. + */ + +#include +#include + +#include "catch.hpp" +#include + +namespace ix +{ + +TEST_CASE("http", "[http]") +{ + SECTION("Normal case") + { + std::string line = "HTTP/1.1 200"; + auto result = Http::parseStatusLine(line); + + REQUIRE(result.first == "HTTP/1.1"); + REQUIRE(result.second == 200); + } + + SECTION("http/1.0 case") + { + std::string line = "HTTP/1.0 200"; + auto result = Http::parseStatusLine(line); + + REQUIRE(result.first == "HTTP/1.0"); + REQUIRE(result.second == 200); + } + + SECTION("empty case") + { + std::string line = ""; + auto result = Http::parseStatusLine(line); + + REQUIRE(result.first == ""); + REQUIRE(result.second == -1); + } + + SECTION("empty case") + { + std::string line = "HTTP/1.1"; + auto result = Http::parseStatusLine(line); + + REQUIRE(result.first == "HTTP/1.1"); + REQUIRE(result.second == -1); + } +} + +}