fparkan/vendor/utf8parse/tests/utf-8-demo.rs
Valentin Popov 1b6a04ca55
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
2024-01-08 01:21:28 +04:00

32 lines
663 B
Rust

use utf8parse::{Parser, Receiver};
static UTF8_DEMO: &[u8] = include_bytes!("UTF-8-demo.txt");
#[derive(Debug, PartialEq)]
struct StringWrapper(String);
impl Receiver for StringWrapper {
fn codepoint(&mut self, c: char) {
self.0.push(c);
}
fn invalid_sequence(&mut self) {}
}
#[test]
fn utf8parse_test() {
let mut parser = Parser::new();
// utf8parse implementation
let mut actual = StringWrapper(String::new());
for byte in UTF8_DEMO {
parser.advance(&mut actual, *byte)
}
// standard library implementation
let expected = String::from_utf8_lossy(UTF8_DEMO);
assert_eq!(actual.0, expected);
}