Simplify the Render(screen, document) function.

This commit is contained in:
ArthurSonzogni 2020-05-20 21:23:59 +02:00
parent 957387adaa
commit e34f051f7a
27 changed files with 55 additions and 50 deletions

View File

@ -39,6 +39,6 @@ int main(int argc, const char* argv[]) {
filler(), filler(),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString() << std::endl; std::cout << screen.ToString() << std::endl;
} }

View File

@ -20,7 +20,7 @@ int main(int argc, const char* argv[]) {
text(L"overlay") | border | center, text(L"overlay") | border | center,
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -23,7 +23,7 @@ int main(int argc, const char* argv[]) {
text(L" " + data_downloaded), text(L" " + data_downloaded),
}); });
auto screen = Screen(100, 1); auto screen = Screen(100, 1);
Render(screen, document.get()); Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush; std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition(); reset_position = screen.ResetPosition();

View File

@ -64,7 +64,7 @@ int main(int argc, const char* argv[]) {
border | size(HEIGHT, GREATER_THAN, 40); border | size(HEIGHT, GREATER_THAN, 40);
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush; std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition(); reset_position = screen.ResetPosition();

View File

@ -43,7 +43,7 @@ int main(int argc, const char* argv[]) {
style; style;
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString() << std::endl; std::cout << screen.ToString() << std::endl;
return 0; return 0;

View File

@ -45,7 +45,7 @@ int main(int argc, const char* argv[]) {
border; border;
auto screen = Screen::Create(Dimension::Full()); auto screen = Screen::Create(Dimension::Full());
Render(screen, document.get()); Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush; std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition(); reset_position = screen.ResetPosition();

View File

@ -125,7 +125,7 @@ int main(int argc, const char* argv[]) {
// Draw. // Draw.
auto document = render(); auto document = render();
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush; std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition(); reset_position = screen.ResetPosition();

View File

@ -29,7 +29,7 @@ int main(int argc, const char* argv[]) {
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Full()); auto screen = Screen::Create(Dimension::Full(), Dimension::Full());
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();
getchar(); getchar();

View File

@ -22,7 +22,7 @@ int main(int argc, const char* argv[]) {
}) | }) |
border; border;
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString() << std::endl; std::cout << screen.ToString() << std::endl;

View File

@ -22,7 +22,7 @@ int main(int argc, const char* argv[]) {
auto document = hbox(std::move(content)); auto document = hbox(std::move(content));
auto screen = Screen::Create(Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString() << std::endl; std::cout << screen.ToString() << std::endl;
return 0; return 0;

View File

@ -32,7 +32,7 @@ int main(int argc, const char* argv[]) {
filler(), filler(),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << reset_position << screen.ToString() << std::flush; std::cout << reset_position << screen.ToString() << std::flush;
reset_position = screen.ResetPosition(); reset_position = screen.ResetPosition();

View File

@ -16,7 +16,7 @@ int main(int argc, const char* argv[]) {
text(L". Do you like it?"), text(L". Do you like it?"),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -16,7 +16,7 @@ int main(int argc, const char* argv[]) {
text(L". Do you like it?"), text(L". Do you like it?"),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -55,7 +55,7 @@ int main(int argc, const char* argv[]) {
// clang-format on // clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -16,7 +16,7 @@ int main(int argc, const char* argv[]) {
text(L". Do you like it?"), text(L". Do you like it?"),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -23,7 +23,7 @@ int main(int argc, const char* argv[]) {
}); });
// clang-format on // clang-format on
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -15,7 +15,7 @@ int main(int argc, const char* argv[]) {
text(L". Do you like it?"), text(L". Do you like it?"),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -16,7 +16,7 @@ int main(int argc, const char* argv[]) {
text(L". Do you like it?"), text(L". Do you like it?"),
}); });
auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Full(), Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();

View File

@ -30,7 +30,7 @@ int main(int argc, const char* argv[]) {
}), }),
}); });
auto screen = Screen::Create(Dimension::Full()); auto screen = Screen::Create(Dimension::Full());
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString(); std::cout << screen.ToString();
getchar(); getchar();

View File

@ -65,7 +65,7 @@
filler() filler()
); );
auto screen = Screen::Create(Dimension::Fit(document)); auto screen = Screen::Create(Dimension::Fit(document));
Render(screen, document.get()); Render(screen, document);
std::cout << screen.ToString() << std::endl; std::cout << screen.ToString() << std::endl;
return 0; return 0;
} }

View File

@ -43,6 +43,7 @@ class Node {
Box box_; Box box_;
}; };
void Render(Screen& screen, const Element& node);
void Render(Screen& screen, Node* node); void Render(Screen& screen, Node* node);
} // namespace ftxui } // namespace ftxui

View File

@ -321,7 +321,7 @@ void ScreenInteractive::Draw(Component* component) {
cursor_.y = dimy_ - 1; cursor_.y = dimy_ - 1;
} }
Render(*this, document.get()); Render(*this, document);
// Set cursor position for user using tools to insert CJK characters. // Set cursor position for user using tools to insert CJK characters.
set_cursor_position = ""; set_cursor_position = "";

View File

@ -12,7 +12,7 @@ using namespace ftxui;
TEST(GaugeTest, zero) { TEST(GaugeTest, zero) {
auto root = gauge(0); auto root = gauge(0);
Screen screen(11, 1); Screen screen(11, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ(" ", screen.ToString()); EXPECT_EQ(" ", screen.ToString());
} }
@ -20,7 +20,7 @@ TEST(GaugeTest, zero) {
TEST(GaugeTest, half) { TEST(GaugeTest, half) {
auto root = gauge(0.5); auto root = gauge(0.5);
Screen screen(11, 1); Screen screen(11, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("█████▍ ", screen.ToString()); EXPECT_EQ("█████▍ ", screen.ToString());
//" ▏▎▍▌▊▉█"; //" ▏▎▍▌▊▉█";
@ -29,7 +29,7 @@ TEST(GaugeTest, half) {
TEST(GaugeTest, one) { TEST(GaugeTest, one) {
auto root = gauge(1.0); auto root = gauge(1.0);
Screen screen(11, 1); Screen screen(11, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("███████████", screen.ToString()); EXPECT_EQ("███████████", screen.ToString());
} }

View File

@ -12,7 +12,7 @@ using namespace ftxui;
TEST(HBoxTest, ScreenSmaller1) { TEST(HBoxTest, ScreenSmaller1) {
auto root = hbox(text(L"text_1"), text(L"text_2")); auto root = hbox(text(L"text_1"), text(L"text_2"));
Screen screen(11, 1); Screen screen(11, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text_", screen.ToString()); EXPECT_EQ("text_1text_", screen.ToString());
} }
@ -20,7 +20,7 @@ TEST(HBoxTest, ScreenSmaller1) {
TEST(HBoxTest, ScreenSmaller2) { TEST(HBoxTest, ScreenSmaller2) {
auto root = hbox(text(L"text_1"), text(L"text_2")); auto root = hbox(text(L"text_1"), text(L"text_2"));
Screen screen(10, 1); Screen screen(10, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text", screen.ToString()); EXPECT_EQ("text_1text", screen.ToString());
} }
@ -28,7 +28,7 @@ TEST(HBoxTest, ScreenSmaller2) {
TEST(HBoxTest, ScreenFit) { TEST(HBoxTest, ScreenFit) {
auto root = hbox(text(L"text_1"), text(L"text_2")); auto root = hbox(text(L"text_1"), text(L"text_2"));
Screen screen(12, 1); Screen screen(12, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text_2", screen.ToString()); EXPECT_EQ("text_1text_2", screen.ToString());
} }
@ -36,14 +36,14 @@ TEST(HBoxTest, ScreenFit) {
TEST(HBoxTest, ScreenBigger1) { TEST(HBoxTest, ScreenBigger1) {
auto root = hbox(text(L"text_1"), text(L"text_2")); auto root = hbox(text(L"text_1"), text(L"text_2"));
Screen screen(13, 1); Screen screen(13, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text_2 ", screen.ToString()); EXPECT_EQ("text_1text_2 ", screen.ToString());
} }
TEST(HBoxTest, ScreenBigger2) { TEST(HBoxTest, ScreenBigger2) {
auto root = hbox(text(L"text_1"), text(L"text_2")); auto root = hbox(text(L"text_1"), text(L"text_2"));
Screen screen(14, 1); Screen screen(14, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text_2 ", screen.ToString()); EXPECT_EQ("text_1text_2 ", screen.ToString());
} }
@ -51,7 +51,7 @@ TEST(HBoxTest, ScreenBigger2) {
TEST(HBoxTest, ScreenSmaller1Flex) { TEST(HBoxTest, ScreenSmaller1Flex) {
auto root = hbox(text(L"text_1"), filler(), text(L"text_2")); auto root = hbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(11, 1); Screen screen(11, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_text_2", screen.ToString()); EXPECT_EQ("text_text_2", screen.ToString());
} }
@ -59,7 +59,7 @@ TEST(HBoxTest, ScreenSmaller1Flex) {
TEST(HBoxTest, ScreenSmaller2Flex) { TEST(HBoxTest, ScreenSmaller2Flex) {
auto root = hbox(text(L"text_1"), filler(), text(L"text_2")); auto root = hbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(10, 1); Screen screen(10, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("texttext_2", screen.ToString()); EXPECT_EQ("texttext_2", screen.ToString());
} }
@ -67,7 +67,7 @@ TEST(HBoxTest, ScreenSmaller2Flex) {
TEST(HBoxTest, ScreenFitFlex) { TEST(HBoxTest, ScreenFitFlex) {
auto root = hbox(text(L"text_1"), filler(), text(L"text_2")); auto root = hbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(12, 1); Screen screen(12, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1text_2", screen.ToString()); EXPECT_EQ("text_1text_2", screen.ToString());
} }
@ -75,7 +75,7 @@ TEST(HBoxTest, ScreenFitFlex) {
TEST(HBoxTest, ScreenBigger1Flex) { TEST(HBoxTest, ScreenBigger1Flex) {
auto root = hbox(text(L"text_1"), filler(), text(L"text_2")); auto root = hbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(13, 1); Screen screen(13, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1 text_2", screen.ToString()); EXPECT_EQ("text_1 text_2", screen.ToString());
} }
@ -83,7 +83,7 @@ TEST(HBoxTest, ScreenBigger1Flex) {
TEST(HBoxTest, ScreenBigger2Flex) { TEST(HBoxTest, ScreenBigger2Flex) {
auto root = hbox(text(L"text_1"), filler(), text(L"text_2")); auto root = hbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(14, 1); Screen screen(14, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1 text_2", screen.ToString()); EXPECT_EQ("text_1 text_2", screen.ToString());
} }

View File

@ -26,6 +26,10 @@ void Node::Render(Screen& screen) {
child->Render(screen); child->Render(screen);
} }
void Render(Screen& screen, const Element& element) {
Render(screen, element);
}
void Render(Screen& screen, Node* node) { void Render(Screen& screen, Node* node) {
// Step 1: Find what dimension this elements wants to be. // Step 1: Find what dimension this elements wants to be.
node->ComputeRequirement(); node->ComputeRequirement();

View File

@ -12,7 +12,7 @@ using namespace ftxui;
TEST(TextTest, ScreenHeightSmaller) { TEST(TextTest, ScreenHeightSmaller) {
auto element = text(L"test"); auto element = text(L"test");
Screen screen(2, 0); Screen screen(2, 0);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ("", screen.ToString()); EXPECT_EQ("", screen.ToString());
} }
@ -20,7 +20,7 @@ TEST(TextTest, ScreenHeightSmaller) {
TEST(TextTest, ScreenSmaller) { TEST(TextTest, ScreenSmaller) {
auto element = text(L"test"); auto element = text(L"test");
Screen screen(2, 1); Screen screen(2, 1);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ("te", screen.ToString()); EXPECT_EQ("te", screen.ToString());
} }
@ -28,7 +28,7 @@ TEST(TextTest, ScreenSmaller) {
TEST(TextTest, ScreenFit) { TEST(TextTest, ScreenFit) {
auto element = text(L"test"); auto element = text(L"test");
Screen screen(4, 1); Screen screen(4, 1);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ("test", screen.ToString()); EXPECT_EQ("test", screen.ToString());
} }
@ -36,7 +36,7 @@ TEST(TextTest, ScreenFit) {
TEST(TextTest, ScreenBigger) { TEST(TextTest, ScreenBigger) {
auto element = text(L"test"); auto element = text(L"test");
Screen screen(6, 1); Screen screen(6, 1);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ("test ", screen.ToString()); EXPECT_EQ("test ", screen.ToString());
} }
@ -44,7 +44,7 @@ TEST(TextTest, ScreenBigger) {
TEST(TextTest, ScreenBigger2) { TEST(TextTest, ScreenBigger2) {
auto element = text(L"test"); auto element = text(L"test");
Screen screen(6, 2); Screen screen(6, 2);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ("test \n ", screen.ToString()); EXPECT_EQ("test \n ", screen.ToString());
} }
@ -53,7 +53,7 @@ TEST(TextTest, ScreenBigger2) {
TEST(TextTest, CJK) { TEST(TextTest, CJK) {
auto element = text(L"测试") | border; auto element = text(L"测试") | border;
Screen screen(6, 3); Screen screen(6, 3);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ( EXPECT_EQ(
"┌────┐\n" "┌────┐\n"
"│测试│\n" "│测试│\n"
@ -65,7 +65,7 @@ TEST(TextTest, CJK) {
TEST(TextTest, CJK_2) { TEST(TextTest, CJK_2) {
auto element = text(L"测试") | border; auto element = text(L"测试") | border;
Screen screen(5, 3); Screen screen(5, 3);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ( EXPECT_EQ(
"┌───┐\n" "┌───┐\n"
"│测试\n" "│测试\n"
@ -77,7 +77,7 @@ TEST(TextTest, CJK_2) {
TEST(TextTest, CJK_3) { TEST(TextTest, CJK_3) {
auto element = text(L"测试") | border; auto element = text(L"测试") | border;
Screen screen(4, 3); Screen screen(4, 3);
Render(screen, element.get()); Render(screen, element);
EXPECT_EQ( EXPECT_EQ(
"┌──┐\n" "┌──┐\n"
"│测│\n" "│测│\n"

View File

@ -12,7 +12,7 @@ using namespace ftxui;
TEST(VBoxTest, ScreenSmaller1) { TEST(VBoxTest, ScreenSmaller1) {
auto root = vbox(text(L"text_1"), text(L"text_2")); auto root = vbox(text(L"text_1"), text(L"text_2"));
Screen screen(6, 1); Screen screen(6, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1", screen.ToString()); EXPECT_EQ("text_1", screen.ToString());
} }
@ -20,7 +20,7 @@ TEST(VBoxTest, ScreenSmaller1) {
TEST(VBoxTest, ScreenFit) { TEST(VBoxTest, ScreenFit) {
auto root = vbox(text(L"text_1"), text(L"text_2")); auto root = vbox(text(L"text_1"), text(L"text_2"));
Screen screen(6, 2); Screen screen(6, 2);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1\ntext_2", screen.ToString()); EXPECT_EQ("text_1\ntext_2", screen.ToString());
} }
@ -28,14 +28,14 @@ TEST(VBoxTest, ScreenFit) {
TEST(VBoxTest, ScreenBigger1) { TEST(VBoxTest, ScreenBigger1) {
auto root = vbox(text(L"text_1"), text(L"text_2")); auto root = vbox(text(L"text_1"), text(L"text_2"));
Screen screen(6, 3); Screen screen(6, 3);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1\ntext_2\n ", screen.ToString()); EXPECT_EQ("text_1\ntext_2\n ", screen.ToString());
} }
TEST(VBoxTest, ScreenBigger2) { TEST(VBoxTest, ScreenBigger2) {
auto root = vbox(text(L"text_1"), text(L"text_2")); auto root = vbox(text(L"text_1"), text(L"text_2"));
Screen screen(6, 4); Screen screen(6, 4);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1\ntext_2\n \n ", screen.ToString()); EXPECT_EQ("text_1\ntext_2\n \n ", screen.ToString());
} }
@ -43,7 +43,7 @@ TEST(VBoxTest, ScreenBigger2) {
TEST(VBoxTest, ScreenSmaller1Flex) { TEST(VBoxTest, ScreenSmaller1Flex) {
auto root = vbox(text(L"text_1"), filler(), text(L"text_2")); auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(6, 1); Screen screen(6, 1);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_2", screen.ToString()); EXPECT_EQ("text_2", screen.ToString());
} }
@ -51,7 +51,7 @@ TEST(VBoxTest, ScreenSmaller1Flex) {
TEST(VBoxTest, ScreenFitFlex) { TEST(VBoxTest, ScreenFitFlex) {
auto root = vbox(text(L"text_1"), filler(), text(L"text_2")); auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(7, 5); Screen screen(7, 5);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ( EXPECT_EQ(
"text_1 \n" "text_1 \n"
@ -65,14 +65,14 @@ TEST(VBoxTest, ScreenFitFlex) {
TEST(VBoxTest, ScreenBigger1Flex) { TEST(VBoxTest, ScreenBigger1Flex) {
auto root = vbox(text(L"text_1"), filler(), text(L"text_2")); auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(6, 3); Screen screen(6, 3);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1\n \ntext_2", screen.ToString()); EXPECT_EQ("text_1\n \ntext_2", screen.ToString());
} }
TEST(VBoxTest, ScreenBigger2Flex) { TEST(VBoxTest, ScreenBigger2Flex) {
auto root = vbox(text(L"text_1"), filler(), text(L"text_2")); auto root = vbox(text(L"text_1"), filler(), text(L"text_2"));
Screen screen(6, 4); Screen screen(6, 4);
Render(screen, root.get()); Render(screen, root);
EXPECT_EQ("text_1\n \n \ntext_2", screen.ToString()); EXPECT_EQ("text_1\n \n \ntext_2", screen.ToString());
} }