summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2024-01-16 23:47:05 -0500
committerGitHub <noreply@github.com>2024-01-16 23:47:05 -0500
commitbe4fa27b84ada5400fece60e84ebff18f3ef7641 (patch)
tree16dbe7e90dc059f27131be06855ae97d77301c14
parentf07994ef6837376a264467da114bfc9918810eb3 (diff)
refactor: convert layout creation tests back to being unit tests (#1392)
-rw-r--r--src/options/config/layout.rs474
-rw-r--r--tests/integration/layout_management_tests.rs472
-rw-r--r--tests/integration/main.rs1
3 files changed, 474 insertions, 473 deletions
diff --git a/src/options/config/layout.rs b/src/options/config/layout.rs
index 45c2a0ab..cfb1d705 100644
--- a/src/options/config/layout.rs
+++ b/src/options/config/layout.rs
@@ -230,3 +230,477 @@ pub struct FinalWidget {
pub widget_type: String,
pub default: Option<bool>,
}
+
+#[cfg(test)]
+mod test {
+ use toml_edit::de::from_str;
+
+ use crate::{
+ constants::{DEFAULT_LAYOUT, DEFAULT_WIDGET_ID},
+ options::Config,
+ utils::error,
+ };
+
+ use super::*;
+
+ const PROC_LAYOUT: &str = r#"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ [[row.child]]
+ type="proc"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ [[row.child]]
+ type="proc"
+ "#;
+
+ fn test_create_layout(
+ rows: &[Row], default_widget_id: u64, default_widget_type: Option<BottomWidgetType>,
+ default_widget_count: u64, left_legend: bool,
+ ) -> BottomLayout {
+ let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
+ let mut total_height_ratio = 0;
+ let mut default_widget_count = default_widget_count;
+ let mut default_widget_id = default_widget_id;
+
+ let mut ret_bottom_layout = BottomLayout {
+ rows: rows
+ .iter()
+ .map(|row| {
+ row.convert_row_to_bottom_row(
+ &mut iter_id,
+ &mut total_height_ratio,
+ &mut default_widget_id,
+ &default_widget_type,
+ &mut default_widget_count,
+ left_legend,
+ )
+ })
+ .collect::<error::Result<Vec<_>>>()
+ .unwrap(),
+ total_row_height_ratio: total_height_ratio,
+ };
+ ret_bottom_layout.get_movement_mappings();
+
+ ret_bottom_layout
+ }
+
+ #[test]
+ /// Tests the default setup.
+ fn test_default_movement() {
+ let rows = from_str::<Config>(DEFAULT_LAYOUT).unwrap().row.unwrap();
+ let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
+
+ // Simple tests for the top CPU widget
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
+ Some(3)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
+ Some(2)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
+ None
+ );
+
+ // Test CPU legend
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
+ Some(4)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
+ Some(1)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
+ None
+ );
+
+ // Test memory->temp, temp->disk, disk->memory mappings
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[0].right_neighbour,
+ Some(4)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[1].children[0].children[0].down_neighbour,
+ Some(5)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[1].children[1].children[0].left_neighbour,
+ Some(3)
+ );
+
+ // Test disk -> processes, processes -> process sort, process sort -> network
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[1].children[1].children[0].down_neighbour,
+ Some(7)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[1].left_neighbour,
+ Some(9)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[0].left_neighbour,
+ Some(6)
+ );
+ }
+
+ #[cfg(feature = "battery")]
+ #[test]
+ /// Tests battery movement in the default setup.
+ fn test_default_battery_movement() {
+ use crate::constants::DEFAULT_BATTERY_LAYOUT;
+
+ let rows = from_str::<Config>(DEFAULT_BATTERY_LAYOUT)
+ .unwrap()
+ .row
+ .unwrap();
+ let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
+
+ // Simple tests for the top CPU widget
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
+ Some(4)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
+ Some(2)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
+ None
+ );
+
+ // Test CPU legend
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
+ Some(5)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
+ Some(3)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
+ Some(1)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
+ None
+ );
+ }
+
+ #[test]
+ /// Tests using left_legend.
+ fn test_left_legend() {
+ let rows = from_str::<Config>(DEFAULT_LAYOUT).unwrap().row.unwrap();
+ let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, true);
+
+ // Legend
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
+ Some(3)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
+ Some(1)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
+ None
+ );
+
+ // Widget
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
+ Some(3)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
+ Some(2)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
+ None
+ );
+ }
+
+ #[test]
+ /// Tests explicit default widget.
+ fn test_default_widget_in_layout() {
+ let proc_layout = r#"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ [[row.child]]
+ type="proc"
+ [[row]]
+ [[row.child]]
+ type="proc"
+ default=true
+ [[row.child]]
+ type="proc"
+ "#;
+
+ let rows = from_str::<Config>(proc_layout).unwrap().row.unwrap();
+ let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
+ let mut total_height_ratio = 0;
+ let mut default_widget_count = 1;
+ let mut default_widget_id = DEFAULT_WIDGET_ID;
+ let default_widget_type = None;
+ let left_legend = false;
+
+ let mut ret_bottom_layout = BottomLayout {
+ rows: rows
+ .iter()
+ .map(|row| {
+ row.convert_row_to_bottom_row(
+ &mut iter_id,
+ &mut total_height_ratio,
+ &mut default_widget_id,
+ &default_widget_type,
+ &mut default_widget_count,
+ left_legend,
+ )
+ })
+ .collect::<error::Result<Vec<_>>>()
+ .unwrap(),
+ total_row_height_ratio: total_height_ratio,
+ };
+ ret_bottom_layout.get_movement_mappings();
+
+ assert_eq!(default_widget_id, 10);
+ }
+
+ #[test]
+ /// Tests default widget by setting type and count.
+ fn test_default_widget_by_option() {
+ let rows = from_str::<Config>(PROC_LAYOUT).unwrap().row.unwrap();
+ let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
+ let mut total_height_ratio = 0;
+ let mut default_widget_count = 3;
+ let mut default_widget_id = DEFAULT_WIDGET_ID;
+ let default_widget_type = Some(BottomWidgetType::Proc);
+ let left_legend = false;
+
+ let mut ret_bottom_layout = BottomLayout {
+ rows: rows
+ .iter()
+ .map(|row| {
+ row.convert_row_to_bottom_row(
+ &mut iter_id,
+ &mut total_height_ratio,
+ &mut default_widget_id,
+ &default_widget_type,
+ &mut default_widget_count,
+ left_legend,
+ )
+ })
+ .collect::<error::Result<Vec<_>>>()
+ .unwrap(),
+ total_row_height_ratio: total_height_ratio,
+ };
+ ret_bottom_layout.get_movement_mappings();
+
+ assert_eq!(default_widget_id, 7);
+ }
+
+ #[test]
+ fn test_proc_custom_layout() {
+ let rows = from_str::<Config>(PROC_LAYOUT).unwrap().row.unwrap();
+ let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
+
+ // First proc widget
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
+ Some(2)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
+ Some(3)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
+ None
+ );
+
+ // Its search
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[1].children[0].down_neighbour,
+ Some(4)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[1].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[1].children[0].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[1].children[0].up_neighbour,
+ Some(1)
+ );
+
+ // Its sort
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
+ Some(2)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
+ Some(1)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
+ None
+ );
+
+ // Let us now test the second row's first widget...
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[1].down_neighbour,
+ Some(5)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[1].left_neighbour,
+ Some(6)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[1].right_neighbour,
+ Some(9)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[1].up_neighbour,
+ Some(2)
+ );
+
+ // Sort
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[0].down_neighbour,
+ Some(5)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[0].right_neighbour,
+ Some(4)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[0].children[0].up_neighbour,
+ Some(2)
+ );
+
+ // Search
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[1].children[0].down_neighbour,
+ Some(10)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[1].children[0].left_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[1].children[0].right_neighbour,
+ Some(8)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[1].children[0].children[1].children[0].up_neighbour,
+ Some(4)
+ );
+
+ // Third row, second
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[1].down_neighbour,
+ Some(14)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[1].left_neighbour,
+ Some(15)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[1].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[1].up_neighbour,
+ Some(8)
+ );
+
+ // Sort
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[0].down_neighbour,
+ Some(14)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[0].left_neighbour,
+ Some(10)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[0].right_neighbour,
+ Some(13)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[0].children[0].up_neighbour,
+ Some(8)
+ );
+
+ // Search
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[1].children[0].down_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[1].children[0].left_neighbour,
+ Some(11)
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[1].children[0].right_neighbour,
+ None
+ );
+ assert_eq!(
+ ret_bottom_layout.rows[2].children[1].children[1].children[0].up_neighbour,
+ Some(13)
+ );
+ }
+}
diff --git a/tests/integration/layout_management_tests.rs b/tests/integration/layout_management_tests.rs
deleted file mode 100644
index 711e7f02..00000000
--- a/tests/integration/layout_management_tests.rs
+++ /dev/null
@@ -1,472 +0,0 @@
-//! Mocks layout management, so we can check if we broke anything.
-
-#[cfg(feature = "battery")]
-use bottom::constants::DEFAULT_BATTERY_LAYOUT;
-use bottom::{
- app::layout_manager::{BottomLayout, BottomWidgetType},
- constants::{DEFAULT_LAYOUT, DEFAULT_WIDGET_ID},
- options::{config::layout::Row, Config},
- utils::error,
-};
-use toml_edit::de::from_str;
-
-// TODO: Could move these into the library files rather than external tbh.
-
-const PROC_LAYOUT: &str = r#"
-[[row]]
- [[row.child]]
- type="proc"
-[[row]]
- [[row.child]]
- type="proc"
- [[row.child]]
- type="proc"
-[[row]]
- [[row.child]]
- type="proc"
- [[row.child]]
- type="proc"
-"#;
-
-fn test_create_layout(
- rows: &[Row], default_widget_id: u64, default_widget_type: Option<BottomWidgetType>,
- default_widget_count: u64, left_legend: bool,
-) -> BottomLayout {
- let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
- let mut total_height_ratio = 0;
- let mut default_widget_count = default_widget_count;
- let mut default_widget_id = default_widget_id;
-
- let mut ret_bottom_layout = BottomLayout {
- rows: rows
- .iter()
- .map(|row| {
- row.convert_row_to_bottom_row(
- &mut iter_id,
- &mut total_height_ratio,
- &mut default_widget_id,
- &default_widget_type,
- &mut default_widget_count,
- left_legend,
- )
- })
- .collect::<error::Result<Vec<_>>>()
- .unwrap(),
- total_row_height_ratio: total_height_ratio,
- };
- ret_bottom_layout.get_movement_mappings();
-
- ret_bottom_layout
-}
-
-#[test]
-/// Tests the default setup.
-fn test_default_movement() {
- let rows = from_str::<Config>(DEFAULT_LAYOUT).unwrap().row.unwrap();
- let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
-
- // Simple tests for the top CPU widget
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
- Some(3)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
- Some(2)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
- None
- );
-
- // Test CPU legend
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
- Some(4)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
- Some(1)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
- None
- );
-
- // Test memory->temp, temp->disk, disk->memory mappings
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[0].right_neighbour,
- Some(4)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[1].children[0].children[0].down_neighbour,
- Some(5)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[1].children[1].children[0].left_neighbour,
- Some(3)
- );
-
- // Test disk -> processes, processes -> process sort, process sort -> network
- assert_eq!(
- ret_bottom_layout.rows[1].children[1].children[1].children[0].down_neighbour,
- Some(7)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[1].left_neighbour,
- Some(9)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[0].left_neighbour,
- Some(6)
- );
-}
-
-#[cfg(feature = "battery")]
-#[test]
-/// Tests battery movement in the default setup.
-fn test_default_battery_movement() {
- let rows = from_str::<Config>(DEFAULT_BATTERY_LAYOUT)
- .unwrap()
- .row
- .unwrap();
- let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
-
- // Simple tests for the top CPU widget
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
- Some(4)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
- Some(2)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
- None
- );
-
- // Test CPU legend
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
- Some(5)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
- Some(3)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
- Some(1)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
- None
- );
-}
-
-#[test]
-/// Tests using left_legend.
-fn test_left_legend() {
- let rows = from_str::<Config>(DEFAULT_LAYOUT).unwrap().row.unwrap();
- let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, true);
-
- // Legend
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
- Some(3)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
- Some(1)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
- None
- );
-
- // Widget
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
- Some(3)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
- Some(2)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
- None
- );
-}
-
-#[test]
-/// Tests explicit default widget.
-fn test_default_widget_in_layout() {
- let proc_layout = r#"
- [[row]]
- [[row.child]]
- type="proc"
- [[row]]
- [[row.child]]
- type="proc"
- [[row.child]]
- type="proc"
- [[row]]
- [[row.child]]
- type="proc"
- default=true
- [[row.child]]
- type="proc"
- "#;
-
- let rows = from_str::<Config>(proc_layout).unwrap().row.unwrap();
- let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
- let mut total_height_ratio = 0;
- let mut default_widget_count = 1;
- let mut default_widget_id = DEFAULT_WIDGET_ID;
- let default_widget_type = None;
- let left_legend = false;
-
- let mut ret_bottom_layout = BottomLayout {
- rows: rows
- .iter()
- .map(|row| {
- row.convert_row_to_bottom_row(
- &mut iter_id,
- &mut total_height_ratio,
- &mut default_widget_id,
- &default_widget_type,
- &mut default_widget_count,
- left_legend,
- )
- })
- .collect::<error::Result<Vec<_>>>()
- .unwrap(),
- total_row_height_ratio: total_height_ratio,
- };
- ret_bottom_layout.get_movement_mappings();
-
- assert_eq!(default_widget_id, 10);
-}
-
-#[test]
-/// Tests default widget by setting type and count.
-fn test_default_widget_by_option() {
- let rows = from_str::<Config>(PROC_LAYOUT).unwrap().row.unwrap();
- let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*
- let mut total_height_ratio = 0;
- let mut default_widget_count = 3;
- let mut default_widget_id = DEFAULT_WIDGET_ID;
- let default_widget_type = Some(BottomWidgetType::Proc);
- let left_legend = false;
-
- let mut ret_bottom_layout = BottomLayout {
- rows: rows
- .iter()
- .map(|row| {
- row.convert_row_to_bottom_row(
- &mut iter_id,
- &mut total_height_ratio,
- &mut default_widget_id,
- &default_widget_type,
- &mut default_widget_count,
- left_legend,
- )
- })
- .collect::<error::Result<Vec<_>>>()
- .unwrap(),
- total_row_height_ratio: total_height_ratio,
- };
- ret_bottom_layout.get_movement_mappings();
-
- assert_eq!(default_widget_id, 7);
-}
-
-#[test]
-fn test_proc_custom_layout() {
- let rows = from_str::<Config>(PROC_LAYOUT).unwrap().row.unwrap();
- let ret_bottom_layout = test_create_layout(&rows, DEFAULT_WIDGET_ID, None, 1, false);
-
- // First proc widget
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].down_neighbour,
- Some(2)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].left_neighbour,
- Some(3)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[1].up_neighbour,
- None
- );
-
- // Its search
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[1].children[0].down_neighbour,
- Some(4)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[1].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[1].children[0].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[1].children[0].up_neighbour,
- Some(1)
- );
-
- // Its sort
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].down_neighbour,
- Some(2)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].right_neighbour,
- Some(1)
- );
- assert_eq!(
- ret_bottom_layout.rows[0].children[0].children[0].children[0].up_neighbour,
- None
- );
-
- // Let us now test the second row's first widget...
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[1].down_neighbour,
- Some(5)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[1].left_neighbour,
- Some(6)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[1].right_neighbour,
- Some(9)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[1].up_neighbour,
- Some(2)
- );
-
- // Sort
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[0].down_neighbour,
- Some(5)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[0].right_neighbour,
- Some(4)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[0].children[0].up_neighbour,
- Some(2)
- );
-
- // Search
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[1].children[0].down_neighbour,
- Some(10)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[1].children[0].left_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[1].children[0].right_neighbour,
- Some(8)
- );
- assert_eq!(
- ret_bottom_layout.rows[1].children[0].children[1].children[0].up_neighbour,
- Some(4)
- );
-
- // Third row, second
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[1].down_neighbour,
- Some(14)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[1].left_neighbour,
- Some(15)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[1].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[1].up_neighbour,
- Some(8)
- );
-
- // Sort
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[0].down_neighbour,
- Some(14)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[0].left_neighbour,
- Some(10)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[0].right_neighbour,
- Some(13)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[0].children[0].up_neighbour,
- Some(8)
- );
-
- // Search
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[1].children[0].down_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[1].children[0].left_neighbour,
- Some(11)
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[1].children[0].right_neighbour,
- None
- );
- assert_eq!(
- ret_bottom_layout.rows[2].children[1].children[1].children[0].up_neighbour,
- Some(13)
- );
-}
diff --git a/tests/integration/main.rs b/tests/integration/main.rs
index 01c3f9f5..09fffc86 100644
--- a/tests/integration/main.rs
+++ b/tests/integration/main.rs
@@ -4,7 +4,6 @@ mod util;
mod arg_tests;
mod invalid_config_tests;
-mod layout_management_tests;
mod layout_movement_tests;
#[cfg(all(target_arch = "x86_64", target_os = "linux"))]