aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-nucleo/src/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-nucleo/src/tests.rs')
-rw-r--r--crates/atuin-nucleo/src/tests.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/crates/atuin-nucleo/src/tests.rs b/crates/atuin-nucleo/src/tests.rs
new file mode 100644
index 00000000..676c50df
--- /dev/null
+++ b/crates/atuin-nucleo/src/tests.rs
@@ -0,0 +1,27 @@
+use std::sync::Arc;
+
+use nucleo_matcher::Config;
+
+use crate::Nucleo;
+
+#[test]
+fn active_injector_count() {
+ let mut nucleo: Nucleo<()> = Nucleo::new(Config::DEFAULT, Arc::new(|| ()), Some(1), 1);
+ assert_eq!(nucleo.active_injectors(), 0);
+ let injector = nucleo.injector();
+ assert_eq!(nucleo.active_injectors(), 1);
+ let injector2 = nucleo.injector();
+ assert_eq!(nucleo.active_injectors(), 2);
+ drop(injector2);
+ assert_eq!(nucleo.active_injectors(), 1);
+ nucleo.restart(false);
+ assert_eq!(nucleo.active_injectors(), 0);
+ let injector3 = nucleo.injector();
+ assert_eq!(nucleo.active_injectors(), 1);
+ nucleo.tick(0);
+ assert_eq!(nucleo.active_injectors(), 1);
+ drop(injector);
+ assert_eq!(nucleo.active_injectors(), 1);
+ drop(injector3);
+ assert_eq!(nucleo.active_injectors(), 0);
+}