@@ -42,6 +42,7 @@ export namespace CppUtils::UnitTest::Terminal::Canvas
4242 }
4343 });
4444
45+ /*
4546 suite.addTest("Fill with scheduler", [&] {
4647 auto canvas = CppUtils::Terminal::v2::Canvas{CppUtils::Container::Size2{10, 5}};
4748 auto scheduler = CppUtils::Thread::Scheduler{};
@@ -62,6 +63,24 @@ export namespace CppUtils::UnitTest::Terminal::Canvas
6263 scheduler.schedule(self, 50ms);
6364 };
6465 updateFrame();
66+ scheduler.waitUntilFinished();
67+ canvas.wait();
68+ });
69+ */
70+
71+ suite.addTest("Spinner", [&] {
72+ auto canvas = CppUtils::Terminal::v2::Canvas{CppUtils::Container::Size2{1, 1}};
73+ auto frames = std::vector<CppUtils::Terminal::AreaBuffer>{
74+ {CppUtils::Container::Size2{1, 1}, '-'},
75+ {CppUtils::Container::Size2{1, 1}, '\\'},
76+ {CppUtils::Container::Size2{1, 1}, '|'},
77+ {CppUtils::Container::Size2{1, 1}, '/'}};
78+ canvas.addWidget(std::make_unique<CppUtils::Terminal::Spinner<>>(CppUtils::Container::Size2{1, 1}, std::move(frames), 100ms));
79+ auto scheduler = CppUtils::Thread::Scheduler{};
80+ scheduler.schedule([&canvas]() mutable {
81+ canvas.close();
82+ }, 250ms);
83+ scheduler.waitUntilFinished();
6584 canvas.wait();
6685 });
6786
0 commit comments