diff --git a/src/attr.rs b/src/attr.rs index ccc2d6e..1afa494 100644 --- a/src/attr.rs +++ b/src/attr.rs @@ -14,7 +14,7 @@ pub fn valid>(chars: I) -> usize { let mut n = 0; let mut state = Start; for c in chars { - n += 1; + n += c.len_utf8(); state = state.step(c); match state { Done | Invalid => break, @@ -520,6 +520,12 @@ mod test { assert_eq!(super::valid(src.chars()), src.len()); } + #[test] + fn valid_unicode() { + let src = r#"{a="б"}"#; + assert_eq!(super::valid(src.chars()), src.len()); + } + #[test] fn valid_empty() { let src = "{}";