mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
don't crash when card:0 passed in
This commit is contained in:
parent
124357bd82
commit
c3314d3689
1 changed files with 7 additions and 2 deletions
|
@ -373,7 +373,7 @@ fn parse_prop(val: &str) -> ParseResult<SearchNode<'static>> {
|
||||||
|
|
||||||
fn parse_template(val: &str) -> SearchNode<'static> {
|
fn parse_template(val: &str) -> SearchNode<'static> {
|
||||||
SearchNode::CardTemplate(match val.parse::<u16>() {
|
SearchNode::CardTemplate(match val.parse::<u16>() {
|
||||||
Ok(n) => TemplateKind::Ordinal(n),
|
Ok(n) => TemplateKind::Ordinal(n.max(1) - 1),
|
||||||
Err(_) => TemplateKind::Name(val.into()),
|
Err(_) => TemplateKind::Name(val.into()),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -425,7 +425,12 @@ mod test {
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
parse("card:3")?,
|
parse("card:3")?,
|
||||||
vec![Search(CardTemplate(TemplateKind::Ordinal(3)))]
|
vec![Search(CardTemplate(TemplateKind::Ordinal(2)))]
|
||||||
|
);
|
||||||
|
// 0 must not cause a crash due to underflow
|
||||||
|
assert_eq!(
|
||||||
|
parse("card:0")?,
|
||||||
|
vec![Search(CardTemplate(TemplateKind::Ordinal(0)))]
|
||||||
);
|
);
|
||||||
assert_eq!(parse("deck:default")?, vec![Search(Deck("default".into()))]);
|
assert_eq!(parse("deck:default")?, vec![Search(Deck("default".into()))]);
|
||||||
assert_eq!(parse("note:basic")?, vec![Search(NoteType("basic".into()))]);
|
assert_eq!(parse("note:basic")?, vec![Search(NoteType("basic".into()))]);
|
||||||
|
|
Loading…
Reference in a new issue