mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 10:40:00 +08:00
execute IWYU and add some coverage tests.
This commit is contained in:
parent
84d6e6b3dd
commit
d0890f94d1
@ -11,36 +11,21 @@ namespace ftxui {
|
||||
|
||||
TEST(AnimationTest, StartAndEnd) {
|
||||
std::vector<animation::easing::Function> functions = {
|
||||
animation::easing::Linear,
|
||||
animation::easing::QuadraticIn,
|
||||
animation::easing::QuadraticOut,
|
||||
animation::easing::QuadraticInOut,
|
||||
animation::easing::CubicIn,
|
||||
animation::easing::CubicOut,
|
||||
animation::easing::CubicInOut,
|
||||
animation::easing::QuarticIn,
|
||||
animation::easing::QuarticOut,
|
||||
animation::easing::QuarticInOut,
|
||||
animation::easing::QuinticIn,
|
||||
animation::easing::QuinticOut,
|
||||
animation::easing::QuinticInOut,
|
||||
animation::easing::SineIn,
|
||||
animation::easing::SineOut,
|
||||
animation::easing::SineInOut,
|
||||
animation::easing::CircularIn,
|
||||
animation::easing::CircularOut,
|
||||
animation::easing::CircularInOut,
|
||||
animation::easing::ExponentialIn,
|
||||
animation::easing::ExponentialOut,
|
||||
animation::easing::ExponentialInOut,
|
||||
animation::easing::ElasticIn,
|
||||
animation::easing::ElasticOut,
|
||||
animation::easing::ElasticInOut,
|
||||
animation::easing::BackIn,
|
||||
animation::easing::BackOut,
|
||||
animation::easing::BackInOut,
|
||||
animation::easing::BounceIn,
|
||||
animation::easing::BounceOut,
|
||||
animation::easing::Linear, animation::easing::QuadraticIn,
|
||||
animation::easing::QuadraticOut, animation::easing::QuadraticInOut,
|
||||
animation::easing::CubicIn, animation::easing::CubicOut,
|
||||
animation::easing::CubicInOut, animation::easing::QuarticIn,
|
||||
animation::easing::QuarticOut, animation::easing::QuarticInOut,
|
||||
animation::easing::QuinticIn, animation::easing::QuinticOut,
|
||||
animation::easing::QuinticInOut, animation::easing::SineIn,
|
||||
animation::easing::SineOut, animation::easing::SineInOut,
|
||||
animation::easing::CircularIn, animation::easing::CircularOut,
|
||||
animation::easing::CircularInOut, animation::easing::ExponentialIn,
|
||||
animation::easing::ExponentialOut, animation::easing::ExponentialInOut,
|
||||
animation::easing::ElasticIn, animation::easing::ElasticOut,
|
||||
animation::easing::ElasticInOut, animation::easing::BackIn,
|
||||
animation::easing::BackOut, animation::easing::BackInOut,
|
||||
animation::easing::BounceIn, animation::easing::BounceOut,
|
||||
animation::easing::BounceInOut,
|
||||
};
|
||||
for (auto& it : functions) {
|
||||
|
@ -115,9 +115,8 @@ class MenuBase : public ComponentBase {
|
||||
bool is_focused = (focused_entry() == i) && is_menu_focused;
|
||||
bool is_selected = (*selected_ == i);
|
||||
|
||||
auto focus_management = !is_selected ? nothing
|
||||
: is_menu_focused ? focus
|
||||
: nothing;
|
||||
auto focus_management =
|
||||
!is_selected ? nothing : is_menu_focused ? focus : nothing;
|
||||
EntryState state = {
|
||||
entries_[i],
|
||||
false,
|
||||
|
@ -43,6 +43,53 @@ TEST(MenuTest, RemoveEntries) {
|
||||
EXPECT_EQ(focused_entry, 1);
|
||||
}
|
||||
|
||||
TEST(MenuTest, Directions) {
|
||||
int selected = 0;
|
||||
std::vector<std::string> entries = {"1", "2", "3"};
|
||||
MenuOption option;
|
||||
auto menu = Menu(&entries, &selected, &option);
|
||||
|
||||
{
|
||||
option.direction = MenuOption::Down;
|
||||
Screen screen(4, 3);
|
||||
Render(screen, menu->Render());
|
||||
EXPECT_EQ(screen.ToString(),
|
||||
"\x1B[1m\x1B[7m> 1 \x1B[22m\x1B[27m\r\n"
|
||||
" 2 \r\n"
|
||||
" 3 ");
|
||||
}
|
||||
|
||||
{
|
||||
option.direction = MenuOption::Up;
|
||||
Screen screen(4, 3);
|
||||
Render(screen, menu->Render());
|
||||
EXPECT_EQ(screen.ToString(),
|
||||
" 3 \r\n"
|
||||
" 2 \r\n"
|
||||
"\x1B[1m\x1B[7m> 1 \x1B[22m\x1B[27m");
|
||||
}
|
||||
|
||||
{
|
||||
option.direction = MenuOption::Right;
|
||||
Screen screen(10, 1);
|
||||
Render(screen, menu->Render());
|
||||
EXPECT_EQ(screen.ToString(),
|
||||
"\x1B[1m\x1B[7m> 1\x1B[22m\x1B[27m"
|
||||
" 2"
|
||||
" 3 ");
|
||||
}
|
||||
|
||||
{
|
||||
option.direction = MenuOption::Left;
|
||||
Screen screen(10, 1);
|
||||
Render(screen, menu->Render());
|
||||
EXPECT_EQ(screen.ToString(),
|
||||
" 3"
|
||||
" 2"
|
||||
"\x1B[1m\x1B[7m> 1\x1B[22m\x1B[27m ");
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace ftxui
|
||||
|
||||
// Copyright 2022 Arthur Sonzogni. All rights reserved.
|
||||
|
@ -39,9 +39,8 @@ class RadioboxBase : public ComponentBase {
|
||||
for (int i = 0; i < size(); ++i) {
|
||||
bool is_focused = (focused_entry() == i) && is_menu_focused;
|
||||
bool is_selected = (hovered_ == i);
|
||||
auto focus_management = !is_selected ? nothing
|
||||
: is_menu_focused ? focus
|
||||
: select;
|
||||
auto focus_management =
|
||||
!is_selected ? nothing : is_menu_focused ? focus : select;
|
||||
auto state = EntryState{
|
||||
entries_[i],
|
||||
*selected_ == i,
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
@ -16,7 +16,7 @@ uint32_t Hash(const std::string s) {
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
TEST(CanvasTest, GoldPoint) {
|
||||
Terminal::SetColorSupport(Terminal::Color::TrueColor);
|
||||
@ -84,7 +84,6 @@ TEST(CanvasTest, GoldBlockColor) {
|
||||
EXPECT_EQ(Hash(screen.ToString()), 2869205941);
|
||||
}
|
||||
|
||||
|
||||
TEST(CanvasTest, GoldText) {
|
||||
Terminal::SetColorSupport(Terminal::Color::TrueColor);
|
||||
Canvas c(10, 10);
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -358,7 +358,6 @@ void Compute(Global& global) {
|
||||
Compute1(global);
|
||||
}
|
||||
|
||||
|
||||
} // namespace ftxui::flexbox_helper
|
||||
|
||||
// Copyright 2021 Arthur Sonzogni. All rights reserved.
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <gtest/gtest-message.h> // for Message
|
||||
#include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestFactoryImpl, TestPartResult
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
#include <string> // for allocator
|
||||
#include "ftxui/dom/elements.hpp" // for text, flexbox
|
||||
#include "ftxui/screen/screen.hpp" // for Screen
|
||||
#include "gtest/gtest_pred_impl.h" // for Test, EXPECT_EQ, TEST
|
||||
|
||||
namespace ftxui {
|
||||
|
||||
|
@ -120,7 +120,7 @@ TEST(StringTest, CellToGlyphIndex) {
|
||||
EXPECT_EQ(combining[2], 2);
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace ftxui
|
||||
// Copyright 2020 Arthur Sonzogni. All rights reserved.
|
||||
// Use of this source code is governed by the MIT license that can be found in
|
||||
// the LICENSE file.
|
||||
|
Loading…
Reference in New Issue
Block a user