Mercurial > lbo > hg > leveldb-rs
changeset 345:f2def29eac08
db_iter: Test reset() and seek-past-last invalidation.
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Wed, 04 Oct 2017 20:06:58 +0200 |
parents | 4f4aff8085b8 |
children | a76ff74f0c0f |
files | src/db_iter.rs |
diffstat | 1 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/db_iter.rs Wed Oct 04 20:03:04 2017 +0200 +++ b/src/db_iter.rs Wed Oct 04 20:06:58 2017 +0200 @@ -294,6 +294,19 @@ } #[test] + fn db_iter_reset() { + let mut db = build_db(); + let mut iter = db.new_iter().unwrap(); + + assert!(iter.advance()); + assert!(iter.valid()); + iter.reset(); + assert!(!iter.valid()); + assert!(iter.advance()); + assert!(iter.valid()); + } + + #[test] fn db_iter_test_fwd_backwd() { let mut db = build_db(); let mut iter = db.new_iter().unwrap(); @@ -311,6 +324,7 @@ Direction::Forward, Direction::Reverse, Direction::Reverse, + Direction::Reverse, Direction::Forward, Direction::Forward, Direction::Reverse, @@ -349,5 +363,11 @@ iter.seek(k); assert_eq!((k.to_vec(), v.to_vec()), current_key_val(&iter).unwrap()); } + + // seek past last. + iter.seek(b"xxx"); + assert!(!iter.valid()); + iter.seek(b"aab"); + assert!(iter.valid()); } }