xo-indentlog: add general-purposee pretty-printing [WIP]
This commit is contained in:
parent
78d0230e5a
commit
56d00a5913
24 changed files with 1326 additions and 121 deletions
97
xo-indentlog/utest/pretty_vector.test.cpp
Normal file
97
xo-indentlog/utest/pretty_vector.test.cpp
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
/* @file pretty_vector.test.cpp */
|
||||
|
||||
#include "xo/indentlog/print/pretty.hpp"
|
||||
#include "xo/indentlog/print/pretty_vector.hpp"
|
||||
#include <catch2/catch.hpp>
|
||||
#include <sstream>
|
||||
|
||||
namespace ut {
|
||||
using xo::print::ppconfig;
|
||||
using xo::print::ppstate_standalone;
|
||||
|
||||
TEST_CASE("print-upto", "[pretty]") {
|
||||
std::stringstream ss;
|
||||
ppconfig cfg;
|
||||
ppstate_standalone pps(&ss, 0, &cfg);
|
||||
|
||||
REQUIRE(pps.pos() == 0);
|
||||
REQUIRE(pps.lpos() == 0);
|
||||
REQUIRE(pps.avail_margin() == cfg.right_margin_);
|
||||
REQUIRE(pps.has_margin());
|
||||
REQUIRE(pps.has_budget(cfg.right_margin_));
|
||||
REQUIRE(pps.scan_no_newline(0));
|
||||
}
|
||||
|
||||
TEST_CASE("pretty", "[pretty]") {
|
||||
ppconfig ppc;
|
||||
ppc.right_margin_ = 40;
|
||||
ppc.indent_width_ = 2;
|
||||
|
||||
std::stringstream ss;
|
||||
ppstate_standalone pps(&ss, 0, &ppc);
|
||||
|
||||
pps.pretty("hello");
|
||||
|
||||
REQUIRE(ss.str() == "hello");
|
||||
}
|
||||
|
||||
TEST_CASE("prettyvec", "[pretty]") {
|
||||
ppconfig ppc;
|
||||
ppc.right_margin_ = 20;
|
||||
ppc.indent_width_ = 2;
|
||||
|
||||
std::stringstream ss;
|
||||
ppstate_standalone pps(&ss, 0, &ppc);
|
||||
|
||||
std::vector<int64_t> test = {1, 2, 3, 4, 5, 6};
|
||||
|
||||
pps.pretty(test);
|
||||
|
||||
REQUIRE(ss.str() == "[1, 2, 3, 4, 5, 6]");
|
||||
}
|
||||
|
||||
TEST_CASE("prettyvec2", "[pretty]") {
|
||||
ppconfig ppc;
|
||||
ppc.right_margin_ = 10;
|
||||
ppc.indent_width_ = 2;
|
||||
|
||||
std::stringstream ss;
|
||||
ppstate_standalone pps(&ss, 0, &ppc);
|
||||
|
||||
std::vector<int64_t> test = {1, 2, 3, 4, 5, 6};
|
||||
|
||||
pps.pretty(test);
|
||||
|
||||
REQUIRE(ss.str() == "[\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n]");
|
||||
}
|
||||
|
||||
TEST_CASE("prettyvec3", "[pretty]") {
|
||||
ppconfig ppc;
|
||||
ppc.right_margin_ = 20;
|
||||
ppc.indent_width_ = 2;
|
||||
|
||||
std::stringstream ss;
|
||||
ppstate_standalone pps(&ss, 0, &ppc);
|
||||
|
||||
std::vector<std::vector<int64_t>> test = {{1, 2, 3, 4}, {4, 5, 6, 7}};
|
||||
|
||||
pps.pretty(test);
|
||||
|
||||
REQUIRE(ss.str() == "[\n [1, 2, 3, 4],\n [4, 5, 6, 7]\n]");
|
||||
}
|
||||
|
||||
TEST_CASE("prettyvec4", "[pretty]") {
|
||||
ppconfig ppc;
|
||||
ppc.right_margin_ = 10;
|
||||
ppc.indent_width_ = 2;
|
||||
|
||||
std::stringstream ss;
|
||||
ppstate_standalone pps(&ss, 0, &ppc);
|
||||
|
||||
std::vector<std::vector<int64_t>> test = {{1, 2, 3, 4}, {4, 5, 6, 7}};
|
||||
|
||||
pps.pretty(test);
|
||||
|
||||
REQUIRE(ss.str() == "[\n [\n 1,\n 2,\n 3,\n 4\n ],\n [\n 4,\n 5,\n 6,\n 7\n ]\n]");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue