2024-03-26 23:39:54 +01:00
|
|
|
#include "fmt.hh"
|
|
|
|
#include "ansicolor.hh"
|
|
|
|
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
|
|
|
|
namespace nix {
|
|
|
|
|
|
|
|
TEST(HintFmt, arg_count)
|
|
|
|
{
|
|
|
|
// Single arg is treated as a literal string.
|
|
|
|
ASSERT_EQ(HintFmt("%s").str(), "%s");
|
|
|
|
|
|
|
|
// Other strings format as expected:
|
|
|
|
ASSERT_EQ(HintFmt("%s", 1).str(), ANSI_MAGENTA "1" ANSI_NORMAL);
|
|
|
|
ASSERT_EQ(HintFmt("%1%", "hello").str(), ANSI_MAGENTA "hello" ANSI_NORMAL);
|
|
|
|
|
|
|
|
// Argument counts are detected at construction.
|
2024-04-11 03:25:30 +02:00
|
|
|
ASSERT_DEATH(HintFmt("%s %s", 1), "HintFmt received incorrect");
|
2024-03-26 23:39:54 +01:00
|
|
|
|
2024-04-11 03:25:30 +02:00
|
|
|
ASSERT_DEATH(HintFmt("%s", 1, 2), "HintFmt received incorrect");
|
2024-03-26 23:39:54 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|