summaryrefslogtreecommitdiffstats
path: root/src/selectors/grep.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/selectors/grep.rs')
-rw-r--r--src/selectors/grep.rs98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/selectors/grep.rs b/src/selectors/grep.rs
deleted file mode 100644
index 29dd956..0000000
--- a/src/selectors/grep.rs
+++ /dev/null
@@ -1,98 +0,0 @@
-use super::*;
-
-//use crate::icalwrap::IcalVEvent;
-use crate::khevent::KhEvent;
-
-pub struct GrepFilter {
- terms: Vec<String>,
-}
-
-impl SelectFilter for GrepFilter {
- fn add_term(&mut self, it: &mut dyn Iterator<Item = &&str>) {
- let term = it.next().unwrap();
- self.terms.push(term.to_lowercase());
- }
-
- fn is_not_empty(&self) -> bool {
- !self.terms.is_empty()
- }
-
- fn includes(&self, event: &KhEvent) -> bool {
- for term in &self.terms {
- if let Some(summary) = event.get_summary() {
- if summary.to_lowercase().contains(term) {
- return true;
- }
- }
- if let Some(description) = event.get_description() {
- if description.to_lowercase().contains(term) {
- return true;
- }
- }
- if let Some(location) = event.get_location() {
- if location.to_lowercase().contains(term) {
- return true;
- }
- }
- }
- false
- }
-}
-
-impl Default for GrepFilter {
- fn default() -> GrepFilter {
- GrepFilter { terms: Vec::new() }
- }
-}
-
-#[cfg(test)]
-mod tests {
- use super::test::test_filter_event;
- use crate::testdata;
-
- #[test]
- fn test_grep() {
- let filtered = test_filter_event(
- &testdata::TEST_EVENT_MULTIDAY,
- None,
- &["grep", "International"],
- );
- assert_eq!(true, filtered);
- }
-
- #[test]
- fn test_grep_location() {
- let filtered = test_filter_event(&testdata::TEST_EVENT_MULTIDAY, None, &["grep", "Lobby"]);
- assert_eq!(true, filtered);
- }
-
- #[test]
- fn test_grep_description() {
- let filtered = test_filter_event(
- &testdata::TEST_EVENT_ONE_MEETING,
- None,
- &["grep", "interoperability"],
- );
- assert_eq!(true, filtered);
- }
-
- #[test]
- fn test_grep_case() {
- let filtered = test_filter_event(
- &testdata::TEST_EVENT_MULTIDAY,
- None,
- &["grep", "InTeRnAtIOnAl"],
- );
- assert_eq!(true, filtered);
- }
-
- #[test]
- fn test_grep_negative() {
- let filtered = test_filter_event(
- &testdata::TEST_EVENT_MULTIDAY,
- None,
- &["grep", "nonexistent term"],
- );
- assert_eq!(false, filtered);
- }
-}