blob: 9a3edb4aa9916286cfba23b3c3dc1283cf8ae018 [file] [log] [blame]
#![cfg(feature = "std")]
use tabled::settings::{
object::{Rows, Segment},
Alignment, Modify, Padding, Style,
};
use crate::matrix::Matrix;
use testing_table::test_table;
#[cfg(feature = "color")]
use ::{owo_colors::OwoColorize, std::convert::TryFrom, tabled::settings::Color};
test_table!(
padding,
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Segment::all()).with(Alignment::left()))
.with(Modify::new(Rows::new(1..)).with(Padding::new(1, 1, 0, 2))),
" N | column 0 | column 1 | column 2 "
"---+----------+----------+----------"
" 0 | 0-0 | 0-1 | 0-2 "
" | | | "
" | | | "
" 1 | 1-0 | 1-1 | 1-2 "
" | | | "
" | | | "
" 2 | 2-0 | 2-1 | 2-2 "
" | | | "
" | | | "
);
test_table!(
padding_with_set_characters,
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Segment::all()).with(Padding::new(1, 2, 1, 1).fill('>', '<', 'V', '^'))),
"VVVV|VVVVVVVVVVV|VVVVVVVVVVV|VVVVVVVVVVV"
">N<<|>column 0<<|>column 1<<|>column 2<<"
"^^^^|^^^^^^^^^^^|^^^^^^^^^^^|^^^^^^^^^^^"
"----+-----------+-----------+-----------"
"VVVV|VVVVVVVVVVV|VVVVVVVVVVV|VVVVVVVVVVV"
">0<<|> 0-0 <<|> 0-1 <<|> 0-2 <<"
"^^^^|^^^^^^^^^^^|^^^^^^^^^^^|^^^^^^^^^^^"
"VVVV|VVVVVVVVVVV|VVVVVVVVVVV|VVVVVVVVVVV"
">1<<|> 1-0 <<|> 1-1 <<|> 1-2 <<"
"^^^^|^^^^^^^^^^^|^^^^^^^^^^^|^^^^^^^^^^^"
"VVVV|VVVVVVVVVVV|VVVVVVVVVVV|VVVVVVVVVVV"
">2<<|> 2-0 <<|> 2-1 <<|> 2-2 <<"
"^^^^|^^^^^^^^^^^|^^^^^^^^^^^|^^^^^^^^^^^"
);
test_table!(
padding_with_set_characters_and_zero_ident,
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Segment::all()).with(Padding::zero().fill('>', '<', '^', 'V'))),
"N|column 0|column 1|column 2"
"-+--------+--------+--------"
"0| 0-0 | 0-1 | 0-2 "
"1| 1-0 | 1-1 | 1-2 "
"2| 2-0 | 2-1 | 2-2 "
);
test_table!(
padding_multiline,
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Rows::new(1..)).with(Padding::new(1, 1, 1, 1))),
" N | column 0 | column 1 | column 2 "
"---+----------+----------+----------"
" | | | "
" 0 | 0-0 | 0-1 | 0-2 "
" | | | "
" | | | "
" 1 | 1-0 | 1-1 | 1-2 "
" | | | "
" | | | "
" 2 | 2-0 | 2-1 | 2-2 "
" | | | "
);
test_table!(
padding_multiline_with_vertical_alignment,
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Segment::all()).with(Alignment::center()).with(Alignment::center_vertical()))
.with(Modify::new(Rows::new(1..)).with(Padding::new(1, 1, 1, 1))),
" N | column 0 | column 1 | column 2 "
"---+----------+----------+----------"
" | | | "
" 0 | 0-0 | 0-1 | 0-2 "
" | | | "
" | | | "
" 1 | 1-0 | 1-1 | 1-2 "
" | | | "
" | | | "
" 2 | 2-0 | 2-1 | 2-2 "
" | | | "
);
#[cfg(feature = "color")]
test_table!(
padding_color,
{
let padding = Padding::new(2, 2, 2, 2).colorize(
Color::try_from(' '.on_yellow().to_string()).unwrap(),
Color::try_from(' '.on_blue().to_string()).unwrap(),
Color::try_from(' '.on_red().to_string()).unwrap(),
Color::try_from(' '.on_green().to_string()).unwrap(),
);
Matrix::new(3, 3)
.with(Style::psql())
.with(Modify::new(Rows::new(1..)).with(padding))
},
" N | column 0 | column 1 | column 2 \n-----+----------+----------+----------\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[43m \u{1b}[49m0\u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 0-0 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 0-1 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 0-2 \u{1b}[44m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[43m \u{1b}[49m1\u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 1-0 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 1-1 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 1-2 \u{1b}[44m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m|\u{1b}[41m \u{1b}[49m\n\u{1b}[43m \u{1b}[49m2\u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 2-0 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 2-1 \u{1b}[44m \u{1b}[49m|\u{1b}[43m \u{1b}[49m 2-2 \u{1b}[44m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m\n\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m|\u{1b}[42m \u{1b}[49m"
);
test_table!(
padding_table,
Matrix::new(3, 3)
.with(Style::psql())
.with(Padding::new(1, 1, 0, 2)),
" N | column 0 | column 1 | column 2 "
" | | | "
" | | | "
"---+----------+----------+----------"
" 0 | 0-0 | 0-1 | 0-2 "
" | | | "
" | | | "
" 1 | 1-0 | 1-1 | 1-2 "
" | | | "
" | | | "
" 2 | 2-0 | 2-1 | 2-2 "
" | | | "
" | | | "
);