| #![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 " |
| " | | | " |
| " | | | " |
| ); |