18 lines
576 B
Rust
18 lines
576 B
Rust
use testparser::*;
|
|
use std::sync::atomic::Ordering;
|
|
|
|
fn main() {
|
|
let mut context = p_context_new(b"ab");
|
|
assert_eq!(P_SUCCESS, p_parse(&mut context));
|
|
let start = p_result(&context);
|
|
assert!(start.a().valid());
|
|
assert_eq!(1, unsafe { *start.a().pvalue() });
|
|
assert!(start.b().valid());
|
|
assert_eq!(2, unsafe { *start.b().pvalue() });
|
|
|
|
/* The free_token_node code block runs from p_context_delete(), not before. */
|
|
assert_eq!(0, FREED.load(Ordering::SeqCst));
|
|
p_context_delete(context);
|
|
assert_eq!(2, FREED.load(Ordering::SeqCst));
|
|
}
|