refactor(calc): rename preprocess, extend underscore test assertions
This commit is contained in:
@@ -15,7 +15,7 @@ impl Default for CalcPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn preprocess(expr: &str) -> String {
|
fn strip_numeric_separators(expr: &str) -> String {
|
||||||
expr.replace('_', "")
|
expr.replace('_', "")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ impl Plugin for CalcPlugin {
|
|||||||
return vec![];
|
return vec![];
|
||||||
}
|
}
|
||||||
let raw = query.strip_prefix('=').unwrap_or(query);
|
let raw = query.strip_prefix('=').unwrap_or(query);
|
||||||
let expr_owned = preprocess(raw);
|
let expr_owned = strip_numeric_separators(raw);
|
||||||
let expr = expr_owned.as_str();
|
let expr = expr_owned.as_str();
|
||||||
match evalexpr::eval_number(expr) {
|
match evalexpr::eval_number(expr) {
|
||||||
Ok(n) if n.is_finite() => {
|
Ok(n) if n.is_finite() => {
|
||||||
@@ -92,5 +92,13 @@ mod tests {
|
|||||||
let p = CalcPlugin::new();
|
let p = CalcPlugin::new();
|
||||||
let results = p.search("1_000 * 2").await;
|
let results = p.search("1_000 * 2").await;
|
||||||
assert_eq!(results[0].title.as_str(), "= 2000");
|
assert_eq!(results[0].title.as_str(), "= 2000");
|
||||||
|
assert_eq!(
|
||||||
|
results[0].description.as_deref(),
|
||||||
|
Some("1000 * 2 · Enter to copy")
|
||||||
|
);
|
||||||
|
assert!(matches!(
|
||||||
|
&results[0].action,
|
||||||
|
LaunchAction::CopyToClipboard(v) if v == "2000"
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user