in common/rusty_leveldb_sgx/src/table_reader.rs [599:632]
fn test_table_iterator_values() {
let (src, size) = build_table(build_data());
let data = build_data();
let table = Table::new_raw(options::for_test(), wrap_buffer(src), size).unwrap();
let mut iter = table.iter();
let mut i = 0;
iter.next();
iter.next();
// Go back to previous entry, check, go forward two entries, repeat
// Verifies that prev/next works well.
loop {
iter.prev();
if let Some((k, v)) = current_key_val(&iter) {
assert_eq!(
(data[i].0.as_bytes(), data[i].1.as_bytes()),
(k.as_ref(), v.as_ref())
);
} else {
break;
}
i += 1;
if iter.next().is_none() || iter.next().is_none() {
break;
}
}
// Skipping the last value because the second next() above will break the loop
assert_eq!(i, 6);
}