Refactor read_password function to take just the name as argument, not the prompt.
This commit is contained in:
+4
-4
@@ -46,7 +46,7 @@ impl<'a> LKEval<'a> {
|
||||
(_, Some(s)) => Some(s.to_string()),
|
||||
(None, None) => {
|
||||
if read {
|
||||
match (self.read_password)("Master: ".to_string()) {
|
||||
match (self.read_password)("/".to_string()) {
|
||||
Ok(password) => {
|
||||
let name = "/".to_string();
|
||||
self.cmd_correct(&out, &name, true, Some(password.clone()));
|
||||
@@ -61,7 +61,7 @@ impl<'a> LKEval<'a> {
|
||||
}
|
||||
(Some(pn), None) => {
|
||||
let password = if read {
|
||||
(self.read_password)(format!("Password for {}: ", pn.lock().borrow().name)).ok()
|
||||
(self.read_password)(pn.lock().borrow().name.to_string()).ok()
|
||||
} else {
|
||||
None
|
||||
};
|
||||
@@ -139,7 +139,7 @@ impl<'a> LKEval<'a> {
|
||||
Some(p) => {
|
||||
let pwd = match pass {
|
||||
Some(pp) => pp.to_string(),
|
||||
None => (self.read_password)(format!("Password for {}: ", p.lock().borrow().name)).unwrap(),
|
||||
None => (self.read_password)(p.lock().borrow().name.to_string()).unwrap(),
|
||||
};
|
||||
self.cmd_correct(&out, &p.lock().borrow().name, true, Some(pwd.clone()));
|
||||
self.state.lock().borrow_mut().secrets.insert(p.lock().borrow().name.to_string(), pwd);
|
||||
@@ -148,7 +148,7 @@ impl<'a> LKEval<'a> {
|
||||
if name == "/" {
|
||||
let pwd = match pass {
|
||||
Some(pp) => pp.to_string(),
|
||||
None => (self.read_password)("Master: ".to_string()).unwrap(),
|
||||
None => (self.read_password)("/".to_string()).unwrap(),
|
||||
};
|
||||
self.cmd_correct(&out, &"/".to_string(), true, Some(pwd.clone()));
|
||||
self.state.lock().borrow_mut().secrets.insert("/".to_string(), pwd);
|
||||
|
||||
+1
-5
@@ -320,22 +320,18 @@ mod tests {
|
||||
Date::new(2022, 12, 30),
|
||||
None,
|
||||
));
|
||||
println!("POINT 1");
|
||||
assert_eq!(
|
||||
LKEval::news(Command::Add(t1.clone()), lk.clone()).eval(),
|
||||
LKPrint::new(LKOut::from_vecs(vec![], vec![]), false, lk.clone())
|
||||
);
|
||||
println!("POINT 2");
|
||||
assert_eq!(
|
||||
LKEval::news(Command::Add(t2.clone()), lk.clone()).eval(),
|
||||
LKPrint::new(LKOut::from_vecs(vec![], vec![]), false, lk.clone())
|
||||
);
|
||||
println!("POINT 3");
|
||||
assert_eq!(
|
||||
LKEval::news(Command::Add(t3.clone()), lk.clone()).eval(),
|
||||
LKPrint::new(LKOut::from_vecs(vec![], vec![]), false, lk.clone())
|
||||
);
|
||||
println!("POINT 4");
|
||||
assert_eq!(
|
||||
LKEval::news(Command::Mv("t3".to_string(), "t2".to_string()), lk.clone()).eval(),
|
||||
LKPrint::new(LKOut::from_vecs(vec![], vec![]), false, lk.clone())
|
||||
@@ -358,7 +354,7 @@ mod tests {
|
||||
)
|
||||
);
|
||||
assert_eq!(
|
||||
LKEval::newd(Command::Enc("t3".to_string()), lk.clone(), |p| if p == "Master: " {
|
||||
LKEval::newd(Command::Enc("t3".to_string()), lk.clone(), |p| if p == "/" {
|
||||
Ok("a".to_string())
|
||||
} else {
|
||||
Err(std::io::Error::new(std::io::ErrorKind::NotFound, "test"))
|
||||
|
||||
+2
-2
@@ -493,7 +493,7 @@ mod tests {
|
||||
assert_eq!(
|
||||
pr.out,
|
||||
LKOut::from_vecs(
|
||||
vec!["fief gild sits can un very".to_string()],
|
||||
vec!["san bud most noon jaw cash".to_string()],
|
||||
vec![
|
||||
"warning: password / is not marked as correct".to_string(),
|
||||
"warning: password t1 is not marked as correct".to_string(),
|
||||
@@ -523,6 +523,6 @@ mod tests {
|
||||
]
|
||||
)
|
||||
);
|
||||
assert_eq!(std::fs::read_to_string("test_pb_out").expect("read"), "fief gild sits can un very");
|
||||
assert_eq!(std::fs::read_to_string("test_pb_out").expect("read"), "san bud most noon jaw cash");
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -139,8 +139,8 @@ pub mod editor {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn password(prompt: impl ToString) -> std::io::Result<String> {
|
||||
rpassword::prompt_password(prompt)
|
||||
pub fn password(pwname: String) -> std::io::Result<String> {
|
||||
rpassword::prompt_password(format!("Password for {}: ", pwname))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user