Improved tests

Fixed tests not being linked properly with frnetlib.

Added tests for the URL parser.
This commit is contained in:
Fred Nicolson
2017-05-30 15:32:45 +01:00
parent a6a652e72b
commit dd4d45d183
2 changed files with 51 additions and 2 deletions
+44
View File
@@ -0,0 +1,44 @@
//
// Created by fred.nicolson on 30/05/17.
//
#include <gtest/gtest.h>
#include <string>
#include <frnetlib/URL.h>
TEST(URLTest, full_parse)
{
fr::URL url("http://example.com:80/path/path?query=10&bob=20#frag");
ASSERT_EQ(url.get_host(), "example.com");
ASSERT_EQ(url.get_scheme(), fr::URL::HTTP);
ASSERT_EQ(url.get_path(), "path/path");
ASSERT_EQ(url.get_query(), "query=10&bob=20");
ASSERT_EQ(url.get_fragment(), "frag");
}
TEST(URLTest, port_guess)
{
fr::URL url("https://example.com");
ASSERT_EQ(url.get_port(), "443");
}
TEST(URLTest, partial_parse)
{
fr::URL url("example.com/?query=10#frag");
ASSERT_EQ(url.get_host(), "example.com");
ASSERT_EQ(url.get_query(), "query=10");
ASSERT_EQ(url.get_fragment(), "frag");
}
TEST(URLTest, fragment_test)
{
fr::URL url("example.com/#frag");
ASSERT_EQ(url.get_fragment(), "frag");
}
TEST(URLTest, path_test)
{
fr::URL url("example.com/path/hey#frag");
ASSERT_EQ(url.get_path(), "path/hey");
ASSERT_EQ(url.get_fragment(), "frag");
}