Add unit tests for mark_syntax

ida_star
Wilfred Hughes 2021-09-04 23:18:07 +07:00
parent b8be456309
commit 86f7f557b5
1 changed files with 24 additions and 0 deletions

@ -1035,4 +1035,28 @@ mod tests {
]
);
}
#[test]
fn mark_syntax_equal_atoms() {
let arena = Arena::new();
let lhs = Syntax::new_atom(&arena, pos_helper(1), "foo");
let rhs = Syntax::new_atom(&arena, pos_helper(1), "foo");
init_info(&[lhs], &[rhs]);
mark_syntax(Some(lhs), Some(rhs));
assert_eq!(lhs.info().change.get(), Some(ChangeKind::Unchanged(rhs)));
assert_eq!(rhs.info().change.get(), Some(ChangeKind::Unchanged(lhs)));
}
#[test]
fn mark_syntax_different_atoms() {
let arena = Arena::new();
let lhs = Syntax::new_atom(&arena, pos_helper(1), "foo");
let rhs = Syntax::new_atom(&arena, pos_helper(1), "bar");
init_info(&[lhs], &[rhs]);
mark_syntax(Some(lhs), Some(rhs));
assert_eq!(lhs.info().change.get(), Some(ChangeKind::Novel));
assert_eq!(rhs.info().change.get(), Some(ChangeKind::Novel));
}
}