16855e09eSopenharmony_ciuse super::streaming::*; 26855e09eSopenharmony_ciuse crate::error::ErrorKind; 36855e09eSopenharmony_ciuse crate::internal::{Err, IResult}; 46855e09eSopenharmony_ci 56855e09eSopenharmony_ci#[test] 66855e09eSopenharmony_cifn one_of_test() { 76855e09eSopenharmony_ci fn f(i: &[u8]) -> IResult<&[u8], char> { 86855e09eSopenharmony_ci one_of("ab")(i) 96855e09eSopenharmony_ci } 106855e09eSopenharmony_ci 116855e09eSopenharmony_ci let a = &b"abcd"[..]; 126855e09eSopenharmony_ci assert_eq!(f(a), Ok((&b"bcd"[..], 'a'))); 136855e09eSopenharmony_ci 146855e09eSopenharmony_ci let b = &b"cde"[..]; 156855e09eSopenharmony_ci assert_eq!(f(b), Err(Err::Error(error_position!(b, ErrorKind::OneOf)))); 166855e09eSopenharmony_ci 176855e09eSopenharmony_ci fn utf8(i: &str) -> IResult<&str, char> { 186855e09eSopenharmony_ci one_of("+\u{FF0B}")(i) 196855e09eSopenharmony_ci } 206855e09eSopenharmony_ci 216855e09eSopenharmony_ci assert!(utf8("+").is_ok()); 226855e09eSopenharmony_ci assert!(utf8("\u{FF0B}").is_ok()); 236855e09eSopenharmony_ci} 246855e09eSopenharmony_ci 256855e09eSopenharmony_ci#[test] 266855e09eSopenharmony_cifn none_of_test() { 276855e09eSopenharmony_ci fn f(i: &[u8]) -> IResult<&[u8], char> { 286855e09eSopenharmony_ci none_of("ab")(i) 296855e09eSopenharmony_ci } 306855e09eSopenharmony_ci 316855e09eSopenharmony_ci let a = &b"abcd"[..]; 326855e09eSopenharmony_ci assert_eq!(f(a), Err(Err::Error(error_position!(a, ErrorKind::NoneOf)))); 336855e09eSopenharmony_ci 346855e09eSopenharmony_ci let b = &b"cde"[..]; 356855e09eSopenharmony_ci assert_eq!(f(b), Ok((&b"de"[..], 'c'))); 366855e09eSopenharmony_ci} 376855e09eSopenharmony_ci 386855e09eSopenharmony_ci#[test] 396855e09eSopenharmony_cifn char_byteslice() { 406855e09eSopenharmony_ci fn f(i: &[u8]) -> IResult<&[u8], char> { 416855e09eSopenharmony_ci char('c')(i) 426855e09eSopenharmony_ci } 436855e09eSopenharmony_ci 446855e09eSopenharmony_ci let a = &b"abcd"[..]; 456855e09eSopenharmony_ci assert_eq!(f(a), Err(Err::Error(error_position!(a, ErrorKind::Char)))); 466855e09eSopenharmony_ci 476855e09eSopenharmony_ci let b = &b"cde"[..]; 486855e09eSopenharmony_ci assert_eq!(f(b), Ok((&b"de"[..], 'c'))); 496855e09eSopenharmony_ci} 506855e09eSopenharmony_ci 516855e09eSopenharmony_ci#[test] 526855e09eSopenharmony_cifn char_str() { 536855e09eSopenharmony_ci fn f(i: &str) -> IResult<&str, char> { 546855e09eSopenharmony_ci char('c')(i) 556855e09eSopenharmony_ci } 566855e09eSopenharmony_ci 576855e09eSopenharmony_ci let a = &"abcd"[..]; 586855e09eSopenharmony_ci assert_eq!(f(a), Err(Err::Error(error_position!(a, ErrorKind::Char)))); 596855e09eSopenharmony_ci 606855e09eSopenharmony_ci let b = &"cde"[..]; 616855e09eSopenharmony_ci assert_eq!(f(b), Ok((&"de"[..], 'c'))); 626855e09eSopenharmony_ci} 63