diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 57 |
1 files changed, 57 insertions, 0 deletions
@@ -967,6 +967,63 @@ mod tests { assert_eq!(out, table.to_string().replace("\r\n", "\n")); } + #[test] + fn test_readme_format() { + + // The below is lifted from the README + + let mut table = Table::new(); + let format = format::FormatBuilder::new() + .column_separator('|') + .borders('|') + .separators(&[format::LinePosition::Top, + format::LinePosition::Bottom], + format::LineSeparator::new('-', '+', '+', '+')) + .padding(1, 1) + .build(); + table.set_format(format); + + table.set_titles(Row::new(vec![Cell::new("Title 1"), Cell::new("Title 2")])); + table.add_row(Row::new(vec![Cell::new("Value 1"), Cell::new("Value 2")])); + table.add_row(Row::new(vec![Cell::new("Value three"), Cell::new("Value four")])); + + let out = "\ ++-------------+------------+ +| Title 1 | Title 2 | +| Value 1 | Value 2 | +| Value three | Value four | ++-------------+------------+ +"; + + println!("{}", out); + println!("____"); + println!("{}", table.to_string().replace("\r\n","\n")); + assert_eq!(out, table.to_string().replace("\r\n","\n")); + } + + #[test] + fn test_readme_format_with_title() { + let mut table = Table::new(); + table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE); + + table.set_titles(Row::new(vec![Cell::new("Title 1"), Cell::new("Title 2")])); + table.add_row(Row::new(vec![Cell::new("Value 1"), Cell::new("Value 2")])); + table.add_row(Row::new(vec![Cell::new("Value three"), Cell::new("Value four")])); + + let out = "\ ++-------------+------------+ +| Title 1 | Title 2 | ++-------------+------------+ +| Value 1 | Value 2 | +| Value three | Value four | ++-------------+------------+ +"; + println!("{}", out); + println!("____"); + println!("{}", table.to_string().replace("\r\n","\n")); + assert_eq!(out, table.to_string().replace("\r\n","\n")); + } + #[cfg(feature = "csv")] mod csv { use Table; |