mirror of
https://github.com/sayanarijit/xplr.git
synced 2024-09-11 11:05:39 +03:00
Organize tests
This commit is contained in:
parent
f38398e900
commit
2470827aac
@ -694,3 +694,35 @@ impl Config {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
|
||||
use super::*;
|
||||
use std::collections::HashMap;
|
||||
|
||||
#[test]
|
||||
fn test_compatibility() {
|
||||
let config = Config::default();
|
||||
assert!(config.is_compatible().unwrap());
|
||||
assert_eq!(config.upgrade_notification().unwrap(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_extend_hashmap() {
|
||||
let mut a = HashMap::new();
|
||||
let mut b = HashMap::new();
|
||||
|
||||
a.insert("a", "a");
|
||||
a.insert("b", "a");
|
||||
|
||||
b.insert("b", "b");
|
||||
b.insert("c", "b");
|
||||
|
||||
a.extend(b);
|
||||
|
||||
assert_eq!(a.get("a"), Some(&"a"));
|
||||
assert_eq!(a.get("b"), Some(&"b"));
|
||||
assert_eq!(a.get("c"), Some(&"b"));
|
||||
}
|
||||
}
|
||||
|
150
src/ui.rs
150
src/ui.rs
@ -557,3 +557,153 @@ pub fn draw<B: Backend>(f: &mut Frame<B>, app: &app::App, hb: &Handlebars) {
|
||||
draw_selection(f, right_chunks[0], app, hb);
|
||||
draw_help_menu(f, right_chunks[1], app, hb);
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use crate::config;
|
||||
use tui::style::Color;
|
||||
use tui::style::Modifier;
|
||||
|
||||
#[test]
|
||||
fn test_extend_style() {
|
||||
let a = Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: None,
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: None,
|
||||
};
|
||||
|
||||
let b = Style {
|
||||
fg: None,
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: None,
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
};
|
||||
|
||||
let c = Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
};
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(b.clone()),
|
||||
Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
b.clone().extend(a.clone()),
|
||||
Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(c.clone()),
|
||||
Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
c.clone().extend(a.clone()),
|
||||
Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_extend_ui_config() {
|
||||
let a = config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: None,
|
||||
style: Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: None,
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: None,
|
||||
},
|
||||
};
|
||||
|
||||
let b = config::UiConfig {
|
||||
prefix: None,
|
||||
suffix: Some("b".to_string()),
|
||||
style: Style {
|
||||
fg: None,
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: None,
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
};
|
||||
|
||||
let c = config::UiConfig {
|
||||
prefix: Some("cp".to_string()),
|
||||
suffix: Some("cs".to_string()),
|
||||
style: Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
},
|
||||
};
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(b.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: Some("b".to_string()),
|
||||
style: Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
b.clone().extend(a.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: Some("b".to_string()),
|
||||
style: Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(c.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("cp".to_string()),
|
||||
suffix: Some("cs".to_string()),
|
||||
style: Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1 @@
|
||||
mod bdd;
|
||||
mod unit;
|
||||
|
@ -1,107 +0,0 @@
|
||||
use std::collections::HashMap;
|
||||
use tui::style::Color;
|
||||
use tui::style::Modifier;
|
||||
use xplr::*;
|
||||
|
||||
#[test]
|
||||
fn test_compatibility() {
|
||||
let config = config::Config::default();
|
||||
assert!(config.is_compatible().unwrap());
|
||||
assert_eq!(config.upgrade_notification().unwrap(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_extend_hashmap() {
|
||||
let mut a = HashMap::new();
|
||||
let mut b = HashMap::new();
|
||||
|
||||
a.insert("a", "a");
|
||||
a.insert("b", "a");
|
||||
|
||||
b.insert("b", "b");
|
||||
b.insert("c", "b");
|
||||
|
||||
a.extend(b);
|
||||
|
||||
assert_eq!(a.get("a"), Some(&"a"));
|
||||
assert_eq!(a.get("b"), Some(&"b"));
|
||||
assert_eq!(a.get("c"), Some(&"b"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_extend_ui_config() {
|
||||
let a = config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: None,
|
||||
style: ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: None,
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: None,
|
||||
},
|
||||
};
|
||||
|
||||
let b = config::UiConfig {
|
||||
prefix: None,
|
||||
suffix: Some("b".to_string()),
|
||||
style: ui::Style {
|
||||
fg: None,
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: None,
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
};
|
||||
|
||||
let c = config::UiConfig {
|
||||
prefix: Some("cp".to_string()),
|
||||
suffix: Some("cs".to_string()),
|
||||
style: ui::Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
},
|
||||
};
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(b.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: Some("b".to_string()),
|
||||
style: ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
b.clone().extend(a.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("a".to_string()),
|
||||
suffix: Some("b".to_string()),
|
||||
style: ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(c.clone()),
|
||||
config::UiConfig {
|
||||
prefix: Some("cp".to_string()),
|
||||
suffix: Some("cs".to_string()),
|
||||
style: ui::Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
mod config;
|
||||
mod ui;
|
@ -1,67 +0,0 @@
|
||||
use tui::style::Color;
|
||||
use tui::style::Modifier;
|
||||
use xplr::*;
|
||||
|
||||
#[test]
|
||||
fn test_extend_style() {
|
||||
let a = ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: None,
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: None,
|
||||
};
|
||||
|
||||
let b = ui::Style {
|
||||
fg: None,
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: None,
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
};
|
||||
|
||||
let c = ui::Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
};
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(b.clone()),
|
||||
ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
b.clone().extend(a.clone()),
|
||||
ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Blue),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::DIM),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
a.clone().extend(c.clone()),
|
||||
ui::Style {
|
||||
fg: Some(Color::Cyan),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::CROSSED_OUT),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
}
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
c.clone().extend(a.clone()),
|
||||
ui::Style {
|
||||
fg: Some(Color::Red),
|
||||
bg: Some(Color::Magenta),
|
||||
add_modifier: Some(Modifier::BOLD),
|
||||
sub_modifier: Some(Modifier::ITALIC),
|
||||
}
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue
Block a user