123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #include "terminal.h"
- #include "gtest/gtest.h"
- #include <string>
- console_details console;
- const std::string reset("\x1b[0m\x1b[2J\x1b[1;1H");
- #define GTEST_COUT std::cerr << "[ ] [ INFO ]"
- namespace {
- TEST(ConsoleInit, init) {
- console_init(&console);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 0);
- ASSERT_EQ(console.in_ansi, 0);
- ASSERT_EQ(console.ansi[0], 0);
- ASSERT_EQ(console.status, 0);
- ASSERT_EQ(console.bgcolor, 0);
- ASSERT_EQ(console.fgcolor, 7);
- std::string reset("\x1b[0m\x1b[2J\x1b[1;1H");
- console_receive(&console, reset);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 0);
- ASSERT_EQ(console.in_ansi, 0);
- ASSERT_EQ(console.ansi[0], 0);
- ASSERT_EQ(console.status, 0);
- ASSERT_EQ(console.bgcolor, 0);
- ASSERT_EQ(console.fgcolor, 7);
- }
- TEST(ConsoleBasic, simpleString) {
- console_init(&console);
- std::string send("Hello");
- console_receive(&console, send);
- ASSERT_NE(console.posx, 0);
- ASSERT_EQ(console.posx, (int)send.size());
- ASSERT_EQ(console.posy, 0);
- console_receive(&console, reset);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 0);
- send = "Hello\r\n";
- console_receive(&console, send);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 1);
- }
- TEST(ConsolePosition, simplePositions) {
- console_init(&console);
- std::string send("\x1b[10;5H");
- console_receive(&console, send);
- ASSERT_EQ(console.posx, 4);
- ASSERT_EQ(console.posy, 9);
- std::string save_pos("\x1b[s");
- std::string restore_pos("\x1b[u");
- console_receive(&console, save_pos);
- ASSERT_EQ(console.posx, 4);
- ASSERT_EQ(console.posy, 9);
- send = "\x1b[5;10H";
- console_receive(&console, send);
- ASSERT_EQ(console.posx, 9);
- ASSERT_EQ(console.posy, 4);
- console_receive(&console, restore_pos);
- ASSERT_EQ(console.posx, 4);
- ASSERT_EQ(console.posy, 9);
- }
- TEST(ConsoleCRNL, NLCRTests) {
- console_init(&console);
- std::string send("Hello\r");
- console_receive(&console, send);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 0);
- send = "Hello\n";
- console_receive(&console, send);
- ASSERT_EQ(console.posy, 1);
- ASSERT_EQ(console.posx, 5);
- console_receive(&console, reset);
- send = "Hello\r\n";
- console_receive(&console, send);
- ASSERT_EQ(console.posx, 0);
- ASSERT_EQ(console.posy, 1);
- }
- }
|