test: use GTest instead of cppunit
This commit is contained in:
48
test/TestUriUtil.cxx
Normal file
48
test/TestUriUtil.cxx
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Unit tests for src/util/
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "util/UriUtil.hxx"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(UriUtil, Suffix)
|
||||
{
|
||||
EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo/bar"));
|
||||
EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo.jpg/bar"));
|
||||
EXPECT_STREQ(uri_get_suffix("/foo/bar.jpg"), "jpg");
|
||||
EXPECT_STREQ(uri_get_suffix("/foo.png/bar.jpg"), "jpg");
|
||||
EXPECT_EQ((const char *)nullptr, uri_get_suffix(".jpg"));
|
||||
EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo/.jpg"));
|
||||
|
||||
/* the first overload does not eliminate the query
|
||||
string */
|
||||
EXPECT_STREQ(uri_get_suffix("/foo/bar.jpg?query_string"),
|
||||
"jpg?query_string");
|
||||
|
||||
/* ... but the second one does */
|
||||
UriSuffixBuffer buffer;
|
||||
EXPECT_STREQ(uri_get_suffix("/foo/bar.jpg?query_string", buffer),
|
||||
"jpg");
|
||||
|
||||
/* repeat some of the above tests with the second overload */
|
||||
EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo/bar", buffer));
|
||||
EXPECT_EQ((const char *)nullptr,
|
||||
uri_get_suffix("/foo.jpg/bar", buffer));
|
||||
EXPECT_STREQ(uri_get_suffix("/foo/bar.jpg", buffer), "jpg");
|
||||
}
|
||||
|
||||
TEST(UriUtil, RemoveAuth)
|
||||
{
|
||||
EXPECT_EQ(std::string(),
|
||||
uri_remove_auth("http://www.example.com/"));
|
||||
EXPECT_EQ(std::string("http://www.example.com/"),
|
||||
uri_remove_auth("http://foo:bar@www.example.com/"));
|
||||
EXPECT_EQ(std::string("http://www.example.com/"),
|
||||
uri_remove_auth("http://foo@www.example.com/"));
|
||||
EXPECT_EQ(std::string(),
|
||||
uri_remove_auth("http://www.example.com/f:oo@bar"));
|
||||
EXPECT_EQ(std::string("ftp://ftp.example.com/"),
|
||||
uri_remove_auth("ftp://foo:bar@ftp.example.com/"));
|
||||
}
|
Reference in New Issue
Block a user