]> git.g-eek.se Git - ranknauto.git/commitdiff
Src. Ignore input with outdated priority
authorGustav Eek <gustav.eek@fripost.org>
Sun, 26 Feb 2023 20:18:54 +0000 (21:18 +0100)
committerGustav Eek <gustav.eek@fripost.org>
Mon, 6 Mar 2023 05:51:33 +0000 (06:51 +0100)
Old outdated priority numbers is ignored in input. Function *winnow*
is updated. Testing is  completed as well.

src/main.rs

index 20eaf7dc1ace326ac198d29012c36487723d7f55..5c0fe6b051b9cbf5f6b11d4a7c4b70a4102b445c 100644 (file)
@@ -18,8 +18,9 @@ const DEBUG: bool = false;
 fn winnow(mut list: Vec<String>) -> (Conf, Vec<String> ) {
     list.retain(|x| x != ""); // only keep nonempty
 
-    // Search bullets
+    // Search patterns
     let bullet = Regex::new(r"^(\s*[\*-]\s*)").unwrap();
+    let prio = Regex::new(r"^\s*[0-9]*\s*%\s*").unwrap();
 
     let conf = Conf {
         bullet: match bullet.captures(&list[0]) {
@@ -31,6 +32,7 @@ fn winnow(mut list: Vec<String>) -> (Conf, Vec<String> ) {
     // Remove patterns and trim
     for l in &mut *list {
         *l = bullet.replace_all(&l, "").to_string();
+        *l = prio.replace_all(&l, "").to_string();
         *l = l.trim().to_owned();
     }
     list.retain(|x| x != ""); // again
@@ -238,6 +240,20 @@ fn bullets() {
 
 #[test]
 
+fn prioinput() {
+    let arg: Vec<String> =
+        " - 70 %      Hej du\n -   30 %\tglade\nta en\n"
+        .split("\n").map(|x| x.to_owned())
+        .collect();
+    let exp: Vec<String> =
+        "Hej du\nglade\nta en"
+        .split("\n").map(|x| x.to_owned()).collect();
+    let (_, res) = winnow(arg);
+    assert_eq!(exp, res);
+}
+
+#[test]
+
 fn bullout() {
     let conf = Conf {bullet: " * ".to_owned()};
     let prio = vec![0.6, 0.3, 0.1];