From 1bd6d2883e6a86b1b7b0364ed3296be9db7fdd5f Mon Sep 17 00:00:00 2001 From: Brayan Oliveira <69634269+BrayanDSO@users.noreply.github.com> Date: Tue, 12 Mar 2024 05:51:13 -0300 Subject: [PATCH] fix: cloze_numbers_in_string treating `{{c0::}}` as valid (#3059) * fix: cloze_numbers_in_string treating `{{c0::}}` as valid * Update rslib/src/cloze.rs Co-authored-by: Abdo --------- Co-authored-by: Abdo --- rslib/src/cloze.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rslib/src/cloze.rs b/rslib/src/cloze.rs index 7a0b22d03..607e5685c 100644 --- a/rslib/src/cloze.rs +++ b/rslib/src/cloze.rs @@ -417,7 +417,7 @@ pub fn cloze_numbers_in_string(html: &str) -> HashSet { fn add_cloze_numbers_in_text_with_clozes(nodes: &[TextOrCloze], set: &mut HashSet) { for node in nodes { if let TextOrCloze::Cloze(cloze) = node { - if !(cloze.image_occlusion().is_some() && cloze.ordinal == 0) { + if cloze.ordinal != 0 { set.insert(cloze.ordinal); add_cloze_numbers_in_text_with_clozes(&cloze.nodes, set); } @@ -471,6 +471,10 @@ mod test { cloze_numbers_in_string("{{c2::te}}{{c1::s}}t{{"), vec![1, 2].into_iter().collect::>() ); + assert_eq!( + cloze_numbers_in_string("{{c0::te}}s{{c2::t}}s"), + vec![2].into_iter().collect::>() + ); assert_eq!( expand_clozes_to_reveal_latex("{{c1::foo}} {{c2::bar::baz}}"),