// SPDX-License-Identifier: BSD-2-Clause // author: Max Kellermann #include "util/TemplateString.hxx" #include 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"); }