Format code and fix tests.
This commit is contained in:
+122
-11
@@ -92,18 +92,129 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_script_test() {
|
fn parse_script_test() {
|
||||||
assert_eq!(command_parser::script(r###"add t1
|
assert_eq!(
|
||||||
add t2
|
command_parser::script(
|
||||||
add t3"###), Ok(vec![Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t1".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t2".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t3".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None })))]));
|
r###"add t1 C 99 2022-12-14
|
||||||
assert_eq!(command_parser::script(r###"add t1
|
add t2 C 99 2022-12-14
|
||||||
add t2
|
add t3 C 99 2022-12-14"###
|
||||||
add t3
|
),
|
||||||
"###), Ok(vec![Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t1".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t2".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t3".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Noop]));
|
Ok(vec![
|
||||||
assert_eq!(command_parser::script(r###"add t1
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
add t2
|
parent: None,
|
||||||
add t3
|
prefix: None,
|
||||||
|
name: Rc::new("t1".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t2".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t3".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
})))
|
||||||
|
])
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
command_parser::script(
|
||||||
|
r###"add t1 C 99 2022-12-14
|
||||||
|
add t2 C 99 2022-12-14
|
||||||
|
add t3 C 99 2022-12-14
|
||||||
|
"###
|
||||||
|
),
|
||||||
|
Ok(vec![
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t1".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t2".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t3".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Noop
|
||||||
|
])
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
command_parser::script(
|
||||||
|
r###"add t1 C 99 2022-12-14
|
||||||
|
add t2 C 99 2022-12-14
|
||||||
|
add t3 C 99 2022-12-14
|
||||||
# some comment
|
# some comment
|
||||||
"###), Ok(vec![Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t1".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t2".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Add(Rc::new(RefCell::new(Password { parent: None, prefix: None, name: Rc::new("t3".to_string()), length: None, mode: Mode::NoSpaceCamel, seq: 99, date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(), comment: None }))), Command::Noop, Command::Noop]));
|
"###
|
||||||
|
),
|
||||||
|
Ok(vec![
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t1".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t2".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Add(Rc::new(RefCell::new(Password {
|
||||||
|
parent: None,
|
||||||
|
prefix: None,
|
||||||
|
name: Rc::new("t3".to_string()),
|
||||||
|
length: None,
|
||||||
|
mode: Mode::NoSpaceCamel,
|
||||||
|
seq: 99,
|
||||||
|
date: NaiveDate::from_ymd_opt(2022, 12, 14).unwrap(),
|
||||||
|
comment: None
|
||||||
|
}))),
|
||||||
|
Command::Noop,
|
||||||
|
Command::Noop
|
||||||
|
])
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
+5
-2
@@ -1,8 +1,8 @@
|
|||||||
use home::home_dir;
|
use home::home_dir;
|
||||||
|
use regex::Regex;
|
||||||
use rpassword::prompt_password;
|
use rpassword::prompt_password;
|
||||||
use rustyline::error::ReadlineError;
|
use rustyline::error::ReadlineError;
|
||||||
use rustyline::Editor;
|
use rustyline::Editor;
|
||||||
use regex::Regex;
|
|
||||||
use std::{cell::RefCell, rc::Rc};
|
use std::{cell::RefCell, rc::Rc};
|
||||||
|
|
||||||
use crate::lk::LK;
|
use crate::lk::LK;
|
||||||
@@ -179,7 +179,10 @@ impl<'a> LKEval<'a> {
|
|||||||
fn cmd_ls(&self, out: &mut Vec<String>, filter: String) {
|
fn cmd_ls(&self, out: &mut Vec<String>, filter: String) {
|
||||||
let re = match Regex::new(&filter) {
|
let re = match Regex::new(&filter) {
|
||||||
Ok(re) => re,
|
Ok(re) => re,
|
||||||
Err(e) => { out.push(format!("error: failed to parse re: {:?}", e)); return; }
|
Err(e) => {
|
||||||
|
out.push(format!("error: failed to parse re: {:?}", e));
|
||||||
|
return;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
let mut tmp: Vec<PasswordRef> = vec![];
|
let mut tmp: Vec<PasswordRef> = vec![];
|
||||||
for (_, name) in &self.state.borrow().db {
|
for (_, name) in &self.state.borrow().db {
|
||||||
|
|||||||
Reference in New Issue
Block a user