TestUriExtract.cxx 663 Bytes
Newer Older
Max Kellermann's avatar
Max Kellermann committed
1 2 3 4 5 6 7 8
/*
 * Unit tests for src/util/
 */

#include "util/UriExtract.hxx"

#include <gtest/gtest.h>

9 10
using std::string_view_literals::operator""sv;

Max Kellermann's avatar
Max Kellermann committed
11 12
TEST(UriExtract, Suffix)
{
13 14 15 16 17 18
	EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo/bar").data());
	EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo.jpg/bar").data());
	EXPECT_EQ(uri_get_suffix("/foo/bar.jpg"), "jpg"sv);
	EXPECT_EQ(uri_get_suffix("/foo.png/bar.jpg"), "jpg"sv);
	EXPECT_EQ((const char *)nullptr, uri_get_suffix(".jpg").data());
	EXPECT_EQ((const char *)nullptr, uri_get_suffix("/foo/.jpg").data());
Max Kellermann's avatar
Max Kellermann committed
19

20 21
	/* eliminate the query string */
	EXPECT_EQ(uri_get_suffix("/foo/bar.jpg?query_string"), "jpg"sv);
Max Kellermann's avatar
Max Kellermann committed
22
}