20 lines
492 B
Rust
20 lines
492 B
Rust
|
|
|
|
|
|
#[test]
|
|
pub fn test_pattern() {
|
|
|
|
let pattern = x::pattern!("E8 ( AA | CC | DD ) E8 ");
|
|
use x::xpat::Atom::*;
|
|
let pattern = &[Save(0), Byte(0xE8),
|
|
Case(2), Byte(0xCC), Break(8),
|
|
Case(2), Byte(0xAA), Break(5),
|
|
Case(2), Byte(0xCC), Break(2), Nop, Byte(0xDD), Byte(0xE8)];
|
|
let buffer: &[u8] = &[ 0xE8, 0xDD, 0xE8 ];
|
|
|
|
let mut scanner = x::Scanner::new(buffer, pattern, ..);
|
|
let mut saves = [0usize;8];
|
|
|
|
assert!(scanner.next(&mut saves));
|
|
}
|