summaryrefslogtreecommitdiffstats
path: root/src/modules/jobs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/jobs.rs')
-rw-r--r--src/modules/jobs.rs41
1 files changed, 39 insertions, 2 deletions
diff --git a/src/modules/jobs.rs b/src/modules/jobs.rs
index ecb75aff4..e045ec0fd 100644
--- a/src/modules/jobs.rs
+++ b/src/modules/jobs.rs
@@ -15,11 +15,20 @@ pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
.trim()
.parse::<i64>()
.ok()?;
- if num_of_jobs == 0 {
+
+ if config.threshold < 0 {
+ log::warn!(
+ "threshold in [jobs] ({}) was less than zero",
+ config.threshold
+ );
+ return None;
+ }
+
+ if num_of_jobs == 0 && config.threshold > 0 {
return None;
}
- let module_number = if num_of_jobs > config.threshold {
+ let module_number = if num_of_jobs > config.threshold || config.threshold == 0 {
num_of_jobs.to_string()
} else {
"".to_string()
@@ -109,4 +118,32 @@ mod test {
let expected = Some(format!("{} ", Color::Blue.bold().paint("✦3")));
assert_eq!(expected, actual);
}
+
+ #[test]
+ fn config_0_job_0() {
+ let actual = ModuleRenderer::new("jobs")
+ .config(toml::toml! {
+ [jobs]
+ threshold = 0
+ })
+ .jobs(0)
+ .collect();
+
+ let expected = Some(format!("{} ", Color::Blue.bold().paint("✦0")));
+ assert_eq!(expected, actual);
+ }
+
+ #[test]
+ fn config_0_job_1() {
+ let actual = ModuleRenderer::new("jobs")
+ .config(toml::toml! {
+ [jobs]
+ threshold = 0
+ })
+ .jobs(1)
+ .collect();
+
+ let expected = Some(format!("{} ", Color::Blue.bold().paint("✦1")));
+ assert_eq!(expected, actual);
+ }
}