summaryrefslogtreecommitdiffstats
path: root/vendor/tabled/tests/settings/split_test.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /vendor/tabled/tests/settings/split_test.rs
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/tabled/tests/settings/split_test.rs')
-rw-r--r--vendor/tabled/tests/settings/split_test.rs277
1 files changed, 277 insertions, 0 deletions
diff --git a/vendor/tabled/tests/settings/split_test.rs b/vendor/tabled/tests/settings/split_test.rs
new file mode 100644
index 000000000..ac13d8071
--- /dev/null
+++ b/vendor/tabled/tests/settings/split_test.rs
@@ -0,0 +1,277 @@
+#![cfg(feature = "std")]
+
+use std::iter::FromIterator;
+
+use tabled::{builder::Builder, settings::split::Split, Table};
+
+use testing_table::test_table;
+
+test_table!(
+ split_column_test,
+ Table::from_iter(['a'..='z']).with(Split::column(12)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| m | n | o | p | q | r | s | t | u | v | w | x |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| y | z | | | | | | | | | | |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_column_2_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::column(4)),
+ "+---+---+---+---+"
+ "| a | b | c | d |"
+ "+---+---+---+---+"
+ "| e | f | g | h |"
+ "+---+---+---+---+"
+ "| i | j | k | l |"
+ "+---+---+---+---+"
+ "| m | n | o | p |"
+ "+---+---+---+---+"
+ "| q | r | s | t |"
+ "+---+---+---+---+"
+ "| u | v | w | x |"
+ "+---+---+---+---+"
+ "| y | z | | |"
+ "+---+---+---+---+"
+);
+
+test_table!(
+ split_column_retain_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::column(4).retain()),
+ "+---+---+---+---+"
+ "| a | b | c | d |"
+ "+---+---+---+---+"
+ "| e | f | g | h |"
+ "+---+---+---+---+"
+ "| i | j | k | l |"
+ "+---+---+---+---+"
+ "| m | n | o | p |"
+ "+---+---+---+---+"
+ "| q | r | s | t |"
+ "+---+---+---+---+"
+ "| u | v | w | x |"
+ "+---+---+---+---+"
+ "| y | z | | |"
+ "+---+---+---+---+"
+ "| | | | |"
+ "+---+---+---+---+"
+ "| | | | |"
+ "+---+---+---+---+"
+);
+
+test_table!(
+ split_row_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::column(4))
+ .with(Split::row(1).concat()), // take it back to the original shape
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_row_2_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::column(4))
+ .with(Split::row(2).concat()),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | i | j | k | l | q | r | s | t | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| e | f | g | h | m | n | o | p | u | v | w | x | | |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_colum_index_beyond_size_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(10000)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_row_index_beyond_size_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::row(10000)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_empty_table_test,
+ Builder::default().build().with(Split::column(10000)),
+ ""
+);
+
+test_table!(
+ split_column_zero_argument_test,
+ Table::from_iter(['a'..='z']).with(Split::column(0)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_row_zero_argument_test,
+ Table::from_iter(['a'..='z']).with(Split::row(0)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_blank_table_test,
+ Table::from_iter([vec![String::new(); 26]]).with(Split::column(12)),
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+ "| | | | | | | | | | | | |" // first section is protected
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+);
+
+test_table!(
+ split_blank_table_2_test,
+ Table::from_iter([vec![String::new(); 26]]).with(Split::column(12).retain()),
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+ "| | | | | | | | | | | | |"
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+ "| | | | | | | | | | | | |"
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+ "| | | | | | | | | | | | |"
+ "+--+--+--+--+--+--+--+--+--+--+--+--+"
+);
+
+test_table!(
+ split_zip_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(6))
+ .with(Split::row(2)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | m | y | b | n | z | c | o | d | p | e | q | f | r |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| g | s | | h | t | | i | u | j | v | k | w | l | x |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_concat_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(6))
+ .with(Split::row(2).concat()),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | b | c | d | e | f | m | n | o | p | q | r | y | z |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| g | h | i | j | k | l | s | t | u | v | w | x | | |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_clean_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::row(2)),
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| a | y | b | z | c | d | e | f | g | h | i | j | k | l |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+ "| m | | n | | o | p | q | r | s | t | u | v | w | x |"
+ "+---+---+---+---+---+---+---+---+---+---+---+---+---+---+"
+);
+
+test_table!(
+ split_retain_test,
+ Table::from_iter(['a'..='z'])
+ .with(Split::column(12))
+ .with(Split::row(2).retain()),
+ "+---+---+---+---+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+"
+ "| a | y | b | z | c | | d | | e | | f | | g | | h | | i | | j | | k | | l | |"
+ "+---+---+---+---+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+"
+ "| m | | n | | o | | p | | q | | r | | s | | t | | u | | v | | w | | x | |"
+ "+---+---+---+---+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+---+--+"
+);
+
+test_table!(
+ split_mostly_blank_test,
+ Table::from_iter([vec![
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "A",
+ ]]).with(Split::column(5))
+ .with(Split::row(2)),
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | A | |"
+ "+--+--+--+---+--+"
+);
+
+test_table!(
+ split_mostly_blank_retain_test,
+ Table::from_iter([vec![
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "A",
+ ]]).with(Split::column(5).retain()),
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | | |"
+ "+--+--+--+---+--+"
+ "| | | | A | |"
+ "+--+--+--+---+--+"
+);
+
+test_table!(
+ split_scattered_values_test,
+ Table::from_iter([vec![
+ "", "", "", "", "", "g", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "A",
+ ]]).with(Split::column(5)),
+ "+---+--+--+---+--+"
+ "| | | | | |"
+ "+---+--+--+---+--+"
+ "| g | | | | |"
+ "+---+--+--+---+--+"
+ "| | | | A | |"
+ "+---+--+--+---+--+"
+);
+
+test_table!(
+ split_scattered_values_column_and_row_test,
+ Table::from_iter([vec![
+ "", "", "", "", "", "g", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "A",
+ ]]).with(Split::column(5)).with(Split::row(2)),
+ "+---+--+--+--+---+--+"
+ "| | | | | A | |"
+ "+---+--+--+--+---+--+"
+ "| g | | | | | |"
+ "+---+--+--+--+---+--+"
+);
+
+test_table!(
+ split_scattered_values_column_and_row_retain_test,
+ Table::from_iter([vec![
+ "", "", "", "", "", "g", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "", "", "", "A",
+ ]]).with(Split::column(5).retain()).with(Split::row(2).retain()),
+ "+---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+--+--+--+--+"
+ "| | | | | | | | | | | | | | | | A | | | | |"
+ "+---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+--+--+--+--+"
+ "| g | | | | | | | | | | | | | | | | | | | |"
+ "+---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+---+--+--+--+--+"
+);