From ce187cb8fb28ddb482e5f2b6003c3ac161f251c0 Mon Sep 17 00:00:00 2001 From: Christian Parpart Date: Mon, 18 Mar 2024 09:56:14 +0100 Subject: [PATCH] termbench: Add crafted test case --- libtermbench/termbench.cpp | 19 +++++++++++++++++++ libtermbench/termbench.h | 1 + 2 files changed, 20 insertions(+) diff --git a/libtermbench/termbench.cpp b/libtermbench/termbench.cpp index d1b9630..2acde9f 100644 --- a/libtermbench/termbench.cpp +++ b/libtermbench/termbench.cpp @@ -199,6 +199,20 @@ namespace writeChar(_sink, 'm'); } + class CraftedTest: public Test + { + public: + explicit CraftedTest(std::string name, std::string description, std::string text) noexcept: + Test(std::move(name), std::move(description)), _text { std::move(text) } + { + } + + void fill(Buffer& _sink) noexcept override { _sink.write(_text); } + + private: + std::string _text; + }; + class ManyLines: public Test { public: @@ -386,4 +400,9 @@ std::unique_ptr sgrbg_line(size_t N) return std::make_unique(name, text); } +std::unique_ptr crafted(std::string name, std::string description, std::string text) +{ + return std::make_unique(std::move(name), std::move(description), std::move(text)); +} + } // namespace termbench::tests diff --git a/libtermbench/termbench.h b/libtermbench/termbench.h index 9a172e9..7fc51a4 100644 --- a/libtermbench/termbench.h +++ b/libtermbench/termbench.h @@ -125,4 +125,5 @@ std::unique_ptr binary(); std::unique_ptr ascii_line(size_t); std::unique_ptr sgr_line(size_t); std::unique_ptr sgrbg_line(size_t); +std::unique_ptr crafted(std::string name, std::string description, std::string text); } // namespace termbench::tests