Commit 2abfc7b8 authored by Max Kellermann's avatar Max Kellermann

test/test_util: move class UriUtilTest to UriUtilTest.hxx

parent 050f0c3d
......@@ -2001,6 +2001,7 @@ test_run_inotify_LDADD = \
endif
test_test_util_SOURCES = \
test/UriUtilTest.hxx \
test/TestCircularBuffer.hxx \
test/test_util.cxx
test_test_util_CPPFLAGS = $(AM_CPPFLAGS) $(CPPUNIT_CFLAGS) -DCPPUNIT_HAVE_RTTI=0
......
/*
* Unit tests for src/util/
*/
#include "check.h"
#include "util/UriUtil.hxx"
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <string.h>
class UriUtilTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(UriUtilTest);
CPPUNIT_TEST(TestSuffix);
CPPUNIT_TEST(TestRemoveAuth);
CPPUNIT_TEST_SUITE_END();
public:
void TestSuffix() {
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/bar"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo.jpg/bar"));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg"),
"jpg"));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo.png/bar.jpg"),
"jpg"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix(".jpg"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/.jpg"));
/* the first overload does not eliminate the query
string */
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg?query_string"),
"jpg?query_string"));
/* ... but the second one does */
UriSuffixBuffer buffer;
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg?query_string",
buffer),
"jpg"));
/* repeat some of the above tests with the second overload */
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/bar", buffer));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo.jpg/bar", buffer));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg", buffer),
"jpg"));
}
void TestRemoveAuth() {
CPPUNIT_ASSERT_EQUAL(std::string(),
uri_remove_auth("http://www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string("http://www.example.com/"),
uri_remove_auth("http://foo:bar@www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string("http://www.example.com/"),
uri_remove_auth("http://foo@www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string(),
uri_remove_auth("http://www.example.com/f:oo@bar"));
CPPUNIT_ASSERT_EQUAL(std::string("ftp://ftp.example.com/"),
uri_remove_auth("ftp://foo:bar@ftp.example.com/"));
}
};
......@@ -3,7 +3,7 @@
*/
#include "config.h"
#include "util/UriUtil.hxx"
#include "UriUtilTest.hxx"
#include "TestCircularBuffer.hxx"
#include <cppunit/TestFixture.h>
......@@ -11,64 +11,8 @@
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/extensions/HelperMacros.h>
#include <string.h>
#include <stdlib.h>
class UriUtilTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(UriUtilTest);
CPPUNIT_TEST(TestSuffix);
CPPUNIT_TEST(TestRemoveAuth);
CPPUNIT_TEST_SUITE_END();
public:
void TestSuffix() {
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/bar"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo.jpg/bar"));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg"),
"jpg"));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo.png/bar.jpg"),
"jpg"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix(".jpg"));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/.jpg"));
/* the first overload does not eliminate the query
string */
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg?query_string"),
"jpg?query_string"));
/* ... but the second one does */
UriSuffixBuffer buffer;
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg?query_string",
buffer),
"jpg"));
/* repeat some of the above tests with the second overload */
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo/bar", buffer));
CPPUNIT_ASSERT_EQUAL((const char *)nullptr,
uri_get_suffix("/foo.jpg/bar", buffer));
CPPUNIT_ASSERT_EQUAL(0, strcmp(uri_get_suffix("/foo/bar.jpg", buffer),
"jpg"));
}
void TestRemoveAuth() {
CPPUNIT_ASSERT_EQUAL(std::string(),
uri_remove_auth("http://www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string("http://www.example.com/"),
uri_remove_auth("http://foo:bar@www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string("http://www.example.com/"),
uri_remove_auth("http://foo@www.example.com/"));
CPPUNIT_ASSERT_EQUAL(std::string(),
uri_remove_auth("http://www.example.com/f:oo@bar"));
CPPUNIT_ASSERT_EQUAL(std::string("ftp://ftp.example.com/"),
uri_remove_auth("ftp://foo:bar@ftp.example.com/"));
}
};
CPPUNIT_TEST_SUITE_REGISTRATION(UriUtilTest);
CPPUNIT_TEST_SUITE_REGISTRATION(TestCircularBuffer);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment