You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			875 B
		
	
	
	
		
			C++
		
	
			
		
		
	
	
			36 lines
		
	
	
		
			875 B
		
	
	
	
		
			C++
		
	
// SPDX-License-Identifier: BSD-2-Clause
 | 
						|
// author: Max Kellermann <max.kellermann@gmail.com>
 | 
						|
 | 
						|
#include "util/TemplateString.hxx"
 | 
						|
 | 
						|
#include <gtest/gtest.h>
 | 
						|
 | 
						|
TEST(TemplateString, FromChar)
 | 
						|
{
 | 
						|
	using namespace TemplateString;
 | 
						|
	static constexpr auto result = FromChar('?');
 | 
						|
	static_assert(result.size == 1);
 | 
						|
	ASSERT_STREQ(result, "?");
 | 
						|
}
 | 
						|
 | 
						|
TEST(TemplateString, FromLiteral)
 | 
						|
{
 | 
						|
	using namespace TemplateString;
 | 
						|
	static constexpr auto result = FromLiteral("foobar");
 | 
						|
	static_assert(result.size == 6);
 | 
						|
	ASSERT_STREQ(result, "foobar");
 | 
						|
}
 | 
						|
 | 
						|
TEST(TemplateString, Concat)
 | 
						|
{
 | 
						|
	using namespace TemplateString;
 | 
						|
	static constexpr auto foo = Concat('f', 'o', 'o');
 | 
						|
	static_assert(foo.size == 3);
 | 
						|
	ASSERT_STREQ(foo, "foo");
 | 
						|
 | 
						|
	static constexpr auto bar = Concat('b', 'a', 'r');
 | 
						|
	static constexpr auto foobar = Concat(foo, bar);
 | 
						|
	static_assert(foobar.size == 6);
 | 
						|
	ASSERT_STREQ(foobar, "foobar");
 | 
						|
}
 |