From cd3ad28886978576b1be90108956c6a2e2675c61 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Thu, 9 Jul 2026 17:07:51 +0900 Subject: [PATCH] Fix testcase --- libs/braillify/src/rules/english_ueb/rule_11.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/braillify/src/rules/english_ueb/rule_11.rs b/libs/braillify/src/rules/english_ueb/rule_11.rs index 74bead5..df1df47 100644 --- a/libs/braillify/src/rules/english_ueb/rule_11.rs +++ b/libs/braillify/src/rules/english_ueb/rule_11.rs @@ -330,7 +330,7 @@ fn encode_expr_with_options( let (next, item) = if chars.get(i) == Some(&'{') { take_braced(chars, i)? } else { - (i + 1, &chars[i..i + 1]) + (i + 1, chars.get(i..i + 1)?) }; let need_grouping = item_needs_braille_grouping(item); if need_grouping { @@ -736,6 +736,13 @@ mod tests { assert_eq!(encode_technical(&"@".chars().collect::>()), None); } + #[rstest::rstest] + #[case::dangling_superscript('^')] + #[case::dangling_subscript('_')] + fn rejects_dangling_script_marker_without_panicking(#[case] marker: char) { + assert_eq!(encode_technical(&[marker]), None); + } + #[test] fn helper_primitives_reject_invalid_inputs() { let mut out = Vec::new();