Skip to content

Commit

Permalink
Fix convert_arg_to_comparable_value function parsing unexpected chara…
Browse files Browse the repository at this point in the history
…cters.
  • Loading branch information
hanbings committed Apr 23, 2024
1 parent baa09ba commit 5370f7f
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/find/matchers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ fn convert_arg_to_comparable_value(
option_name: &str,
value_as_string: &str,
) -> Result<ComparableValue, Box<dyn Error>> {
let re = Regex::new(r"([+-]?)(\d+)$")?;
let re = Regex::new(r"^([+-]?)(\d+)$")?;
if let Some(groups) = re.captures(value_as_string) {
if let Ok(val) = groups[2].parse::<u64>() {
return Ok(match &groups[1] {
Expand Down Expand Up @@ -1260,6 +1260,20 @@ mod tests {
}
}

#[test]
fn convert_exception_arg_to_comparable_value_test() {
let exception_args = ["1%2", "1%2%3", "1a2", "1%2a", "abc", "-", "+", "%"];

for arg in exception_args {
let comparable = convert_arg_to_comparable_value("test", arg);
assert!(
comparable.is_err(),
"{} should be parse to Comparable correctly",
arg
);
}
}

#[test]
fn parse_date_str_to_timestamps_test() {
let full_date_timestamps = parse_date_str_to_timestamps("jan 01, 2025 00:00:01").unwrap();
Expand Down

0 comments on commit 5370f7f

Please sign in to comment.