From 42fb6728faf3b0e2d3aa6478ff3e338aa32151ea Mon Sep 17 00:00:00 2001 From: skylar taylor-barrick Date: Wed, 14 Oct 2026 00:11:33 -0600 Subject: [PATCH] PDFW2: use fixed-size chunks in PDF text regression --- crates/pdf/src/tests.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/pdf/src/tests.rs b/crates/pdf/src/tests.rs index 39dc33cb..a59b6d29 100644 --- a/crates/pdf/src/tests.rs +++ b/crates/pdf/src/tests.rs @@ -228,15 +228,20 @@ fn supported_unicode_is_shaped_and_recovered_from_the_page_text_layer() { let parts: Vec<_> = line.split_whitespace().collect(); let cid = u16::from_str_radix(parts[0].trim_matches(['<', '>']), 16).unwrap(); let value = parts[1].trim_matches(['<', '>']); - let units: Vec<_> = - value.as_bytes().chunks_exact(4).map(|chunk| u16::from_str_radix(std::str::from_utf8(chunk).unwrap(), 16).unwrap()).collect(); + let units: Vec<_> = value + .as_bytes() + .as_chunks::<4>() + .0 + .iter() + .map(|chunk| u16::from_str_radix(std::str::from_utf8(chunk).unwrap(), 16).unwrap()) + .collect(); mapping.insert(cid, String::from_utf16(&units).unwrap()); } } let mut extracted = String::new(); let mut append = |bytes: &[u8]| { assert!(bytes.len().is_multiple_of(2)); - for pair in bytes.chunks_exact(2) { + for pair in bytes.as_chunks::<2>().0 { extracted.push_str(mapping.get(&u16::from_be_bytes([pair[0], pair[1]])).unwrap()); } };