mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-09-18 09:08:08 +08:00
Move tests next to their implementations.
This commit is contained in:

committed by
Arthur Sonzogni

parent
20d4ee458a
commit
f48bfcff10
31
src/ftxui/dom/gauge_test.cpp
Normal file
31
src/ftxui/dom/gauge_test.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/screen/screen.hpp"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace ftxui;
|
||||
using namespace ftxui;
|
||||
|
||||
TEST(GaugeTest, zero) {
|
||||
auto root = gauge(0);
|
||||
Screen screen(11, 1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ(" ", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(GaugeTest, half) {
|
||||
auto root = gauge(0.5);
|
||||
Screen screen(11, 1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("█████▍ ", screen.ToString());
|
||||
//" ▏▎▍▌▊▉█";
|
||||
}
|
||||
|
||||
TEST(GaugeTest, one) {
|
||||
auto root = gauge(1.0);
|
||||
Screen screen(11, 1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("███████████", screen.ToString());
|
||||
}
|
120
src/ftxui/dom/hbox_test.cpp
Normal file
120
src/ftxui/dom/hbox_test.cpp
Normal file
@@ -0,0 +1,120 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/screen/screen.hpp"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace ftxui;
|
||||
using namespace ftxui;
|
||||
|
||||
TEST(HBoxTest, ScreenSmaller1) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(11,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenSmaller2) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(10,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenFit) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(12,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_2", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenBigger1) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(13,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_2 ", screen.ToString());
|
||||
}
|
||||
TEST(HBoxTest, ScreenBigger2) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(14,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_2 ", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenSmaller1Flex) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
filler(),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(11,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenSmaller2Flex) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
filler(),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(10,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenFitFlex) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
filler(),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(12,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1text_2", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenBigger1Flex) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
filler(),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(13,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1 text_2", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(HBoxTest, ScreenBigger2Flex) {
|
||||
auto root = hbox(
|
||||
text(L"text_1"),
|
||||
filler(),
|
||||
text(L"text_2")
|
||||
);
|
||||
Screen screen(14,1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1 text_2", screen.ToString());
|
||||
}
|
82
src/ftxui/dom/text_test.cpp
Normal file
82
src/ftxui/dom/text_test.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/screen/screen.hpp"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace ftxui;
|
||||
using namespace ftxui;
|
||||
|
||||
TEST(TextTest, ScreenHeightSmaller) {
|
||||
auto element = text(L"test");
|
||||
Screen screen(2, 0);
|
||||
Render(screen, element.get());
|
||||
|
||||
EXPECT_EQ("", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(TextTest, ScreenSmaller) {
|
||||
auto element = text(L"test");
|
||||
Screen screen(2, 1);
|
||||
Render(screen, element.get());
|
||||
|
||||
EXPECT_EQ("te", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(TextTest, ScreenFit) {
|
||||
auto element = text(L"test");
|
||||
Screen screen(4, 1);
|
||||
Render(screen, element.get());
|
||||
|
||||
EXPECT_EQ("test", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(TextTest, ScreenBigger) {
|
||||
auto element = text(L"test");
|
||||
Screen screen(6, 1);
|
||||
Render(screen, element.get());
|
||||
|
||||
EXPECT_EQ("test ", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(TextTest, ScreenBigger2) {
|
||||
auto element = text(L"test");
|
||||
Screen screen(6, 2);
|
||||
Render(screen, element.get());
|
||||
|
||||
EXPECT_EQ("test \n ", screen.ToString());
|
||||
}
|
||||
|
||||
// See https://github.com/ArthurSonzogni/FTXUI/issues/2#issuecomment-504871456
|
||||
TEST(TextTest, CJK) {
|
||||
auto element = text(L"测试") | border;
|
||||
Screen screen(6, 3);
|
||||
Render(screen, element.get());
|
||||
EXPECT_EQ(
|
||||
"┌────┐\n"
|
||||
"│测试│\n"
|
||||
"└────┘",
|
||||
screen.ToString());
|
||||
}
|
||||
|
||||
// See https://github.com/ArthurSonzogni/FTXUI/issues/2#issuecomment-504871456
|
||||
TEST(TextTest, CJK_2) {
|
||||
auto element = text(L"测试") | border;
|
||||
Screen screen(5, 3);
|
||||
Render(screen, element.get());
|
||||
EXPECT_EQ(
|
||||
"┌───┐\n"
|
||||
"│测试\n"
|
||||
"└───┘",
|
||||
screen.ToString());
|
||||
}
|
||||
|
||||
// See https://github.com/ArthurSonzogni/FTXUI/issues/2#issuecomment-504871456
|
||||
TEST(TextTest, CJK_3) {
|
||||
auto element = text(L"测试") | border;
|
||||
Screen screen(4, 3);
|
||||
Render(screen, element.get());
|
||||
EXPECT_EQ(
|
||||
"┌──┐\n"
|
||||
"│测│\n"
|
||||
"└──┘",
|
||||
screen.ToString());
|
||||
}
|
74
src/ftxui/dom/vbox_test.cpp
Normal file
74
src/ftxui/dom/vbox_test.cpp
Normal file
@@ -0,0 +1,74 @@
|
||||
#include "ftxui/dom/elements.hpp"
|
||||
#include "ftxui/screen/screen.hpp"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace ftxui;
|
||||
using namespace ftxui;
|
||||
|
||||
TEST(VBoxTest, ScreenSmaller1) {
|
||||
auto root = vbox(text(L"text_1"), text(L"text_2"));
|
||||
Screen screen(6, 1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(VBoxTest, ScreenFit) {
|
||||
auto root = vbox(text(L"text_1"), text(L"text_2"));
|
||||
Screen screen(6, 2);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1\ntext_2", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(VBoxTest, ScreenBigger1) {
|
||||
auto root = vbox(text(L"text_1"), text(L"text_2"));
|
||||
Screen screen(6, 3);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1\ntext_2\n ", screen.ToString());
|
||||
}
|
||||
TEST(VBoxTest, ScreenBigger2) {
|
||||
auto root = vbox(text(L"text_1"), text(L"text_2"));
|
||||
Screen screen(6, 4);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1\ntext_2\n \n ", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(VBoxTest, ScreenSmaller1Flex) {
|
||||
auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
|
||||
Screen screen(6, 1);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1", screen.ToString());
|
||||
}
|
||||
|
||||
TEST(VBoxTest, ScreenFitFlex) {
|
||||
auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
|
||||
Screen screen(7, 5);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ(
|
||||
"text_1 \n"
|
||||
" \n"
|
||||
" \n"
|
||||
" \n"
|
||||
"text_2 "
|
||||
,screen.ToString());
|
||||
}
|
||||
|
||||
TEST(VBoxTest, ScreenBigger1Flex) {
|
||||
auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
|
||||
Screen screen(6, 3);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1\n \ntext_2", screen.ToString());
|
||||
}
|
||||
TEST(VBoxTest, ScreenBigger2Flex) {
|
||||
auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
|
||||
Screen screen(6, 4);
|
||||
Render(screen, root.get());
|
||||
|
||||
EXPECT_EQ("text_1\n \n \ntext_2", screen.ToString());
|
||||
}
|
Reference in New Issue
Block a user