FTXUI/src/ftxui/dom/vbox_test.cpp
2020-05-20 21:23:59 +02:00

79 lines
1.9 KiB
C++

// 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.
#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);
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);
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);
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);
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);
EXPECT_EQ("text_2", screen.ToString());
}
TEST(VBoxTest, ScreenFitFlex) {
auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(7, 5);
Render(screen, root);
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);
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);
EXPECT_EQ("text_1\n \n \ntext_2", screen.ToString());
}