summaryrefslogtreecommitdiff
path: root/db/db_test.cc
diff options
context:
space:
mode:
authorgabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529>2011-08-16 01:21:01 +0000
committergabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529>2011-08-16 01:21:01 +0000
commitab323f7e1ec53749653967e7d6a2fa1c922334f2 (patch)
treebc6b5343550f7fad533dabd36452544d8bfb5a14 /db/db_test.cc
parenta05525d13beea3ae56d979fa5fffa9de3652db61 (diff)
downloadleveldb-ab323f7e1ec53749653967e7d6a2fa1c922334f2.tar.gz
Bugfixes for iterator and documentation.
- Fix bug in Iterator::Prev where it would return the wrong key. Fixes issues 29 and 30. - Added a tweak to testharness to allow running just some tests. - Fixing two minor documentation errors based on issues 28 and 25. - Cleanup; fix namespaces of export-to-C code. Also fix one "const char*" vs "char*" mismatch. git-svn-id: https://leveldb.googlecode.com/svn/trunk@48 62dab493-f737-651d-591e-8d6aee1b9529
Diffstat (limited to 'db/db_test.cc')
-rw-r--r--db/db_test.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/db/db_test.cc b/db/db_test.cc
index 22fa70c..14eb44d 100644
--- a/db/db_test.cc
+++ b/db/db_test.cc
@@ -519,6 +519,21 @@ TEST(DBTest, IterSmallAndLargeMix) {
delete iter;
}
+TEST(DBTest, IterMultiWithDelete) {
+ ASSERT_OK(Put("a", "va"));
+ ASSERT_OK(Put("b", "vb"));
+ ASSERT_OK(Put("c", "vc"));
+ ASSERT_OK(Delete("b"));
+ ASSERT_EQ("NOT_FOUND", Get("b"));
+
+ Iterator* iter = db_->NewIterator(ReadOptions());
+ iter->Seek("c");
+ ASSERT_EQ(IterStatus(iter), "c->vc");
+ iter->Prev();
+ ASSERT_EQ(IterStatus(iter), "a->va");
+ delete iter;
+}
+
TEST(DBTest, Recover) {
ASSERT_OK(Put("foo", "v1"));
ASSERT_OK(Put("baz", "v5"));