Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/leveldb_wrapper_unittest.cc

Issue 1873683002: Convert //chrome/browser/sync_file_system from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.h" 5 #include "chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/files/scoped_temp_dir.h" 11 #include "base/files/scoped_temp_dir.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ptr_util.h"
14 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" 17 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
17 #include "third_party/leveldatabase/src/include/leveldb/db.h" 18 #include "third_party/leveldatabase/src/include/leveldb/db.h"
18 #include "third_party/leveldatabase/src/include/leveldb/env.h" 19 #include "third_party/leveldatabase/src/include/leveldb/env.h"
19 20
20 namespace sync_file_system { 21 namespace sync_file_system {
21 namespace drive_backend { 22 namespace drive_backend {
22 23
23 struct TestData { 24 struct TestData {
(...skipping 29 matching lines...) Expand all
53 } 54 }
54 } 55 }
55 56
56 LevelDBWrapper* GetDB() { 57 LevelDBWrapper* GetDB() {
57 return db_.get(); 58 return db_.get();
58 } 59 }
59 60
60 void CheckDBContents(const TestData expects[], size_t size) { 61 void CheckDBContents(const TestData expects[], size_t size) {
61 DCHECK(db_); 62 DCHECK(db_);
62 63
63 scoped_ptr<LevelDBWrapper::Iterator> itr = db_->NewIterator(); 64 std::unique_ptr<LevelDBWrapper::Iterator> itr = db_->NewIterator();
64 itr->SeekToFirst(); 65 itr->SeekToFirst();
65 for (size_t i = 0; i < size; ++i) { 66 for (size_t i = 0; i < size; ++i) {
66 ASSERT_TRUE(itr->Valid()); 67 ASSERT_TRUE(itr->Valid());
67 EXPECT_EQ(expects[i].key, itr->key().ToString()); 68 EXPECT_EQ(expects[i].key, itr->key().ToString());
68 EXPECT_EQ(expects[i].value, itr->value().ToString()); 69 EXPECT_EQ(expects[i].value, itr->value().ToString());
69 itr->Next(); 70 itr->Next();
70 } 71 }
71 EXPECT_FALSE(itr->Valid()); 72 EXPECT_FALSE(itr->Valid());
72 } 73 }
73 74
74 private: 75 private:
75 void InitializeLevelDB() { 76 void InitializeLevelDB() {
76 leveldb::DB* db = nullptr; 77 leveldb::DB* db = nullptr;
77 leveldb::Options options; 78 leveldb::Options options;
78 options.create_if_missing = true; 79 options.create_if_missing = true;
79 options.max_open_files = 0; // Use minimum. 80 options.max_open_files = 0; // Use minimum.
80 options.env = in_memory_env_.get(); 81 options.env = in_memory_env_.get();
81 leveldb::Status status = 82 leveldb::Status status =
82 leveldb::DB::Open(options, database_dir_.path().AsUTF8Unsafe(), &db); 83 leveldb::DB::Open(options, database_dir_.path().AsUTF8Unsafe(), &db);
83 ASSERT_TRUE(status.ok()); 84 ASSERT_TRUE(status.ok());
84 85
85 db_.reset(new LevelDBWrapper(make_scoped_ptr(db))); 86 db_.reset(new LevelDBWrapper(base::WrapUnique(db)));
86 } 87 }
87 88
88 base::ScopedTempDir database_dir_; 89 base::ScopedTempDir database_dir_;
89 scoped_ptr<leveldb::Env> in_memory_env_; 90 std::unique_ptr<leveldb::Env> in_memory_env_;
90 scoped_ptr<LevelDBWrapper> db_; 91 std::unique_ptr<LevelDBWrapper> db_;
91 }; 92 };
92 93
93 TEST_F(LevelDBWrapperTest, IteratorTest) { 94 TEST_F(LevelDBWrapperTest, IteratorTest) {
94 CreateDefaultDatabase(); 95 CreateDefaultDatabase();
95 scoped_ptr<LevelDBWrapper::Iterator> itr = GetDB()->NewIterator(); 96 std::unique_ptr<LevelDBWrapper::Iterator> itr = GetDB()->NewIterator();
96 97
97 itr->Seek("a"); 98 itr->Seek("a");
98 EXPECT_TRUE(itr->Valid()); 99 EXPECT_TRUE(itr->Valid());
99 EXPECT_EQ("a", itr->key().ToString()); 100 EXPECT_EQ("a", itr->key().ToString());
100 EXPECT_EQ("1", itr->value().ToString()); 101 EXPECT_EQ("1", itr->value().ToString());
101 102
102 itr->Next(); 103 itr->Next();
103 EXPECT_TRUE(itr->Valid()); 104 EXPECT_TRUE(itr->Valid());
104 EXPECT_EQ("ab", itr->key().ToString()); 105 EXPECT_EQ("ab", itr->key().ToString());
105 EXPECT_EQ("0", itr->value().ToString()); 106 EXPECT_EQ("0", itr->value().ToString());
(...skipping 29 matching lines...) Expand all
135 EXPECT_EQ(0, GetDB()->num_puts()); 136 EXPECT_EQ(0, GetDB()->num_puts());
136 EXPECT_EQ(1, GetDB()->num_deletes()); 137 EXPECT_EQ(1, GetDB()->num_deletes());
137 } 138 }
138 139
139 TEST_F(LevelDBWrapperTest, Iterator2Test) { 140 TEST_F(LevelDBWrapperTest, Iterator2Test) {
140 GetDB()->Put("a", "1"); 141 GetDB()->Put("a", "1");
141 GetDB()->Put("b", "2"); 142 GetDB()->Put("b", "2");
142 GetDB()->Put("c", "3"); 143 GetDB()->Put("c", "3");
143 // Keep pending transanctions on memory. 144 // Keep pending transanctions on memory.
144 145
145 scoped_ptr<LevelDBWrapper::Iterator> itr = GetDB()->NewIterator(); 146 std::unique_ptr<LevelDBWrapper::Iterator> itr = GetDB()->NewIterator();
146 147
147 std::string prev_key; 148 std::string prev_key;
148 std::string prev_value; 149 std::string prev_value;
149 int loop_counter = 0; 150 int loop_counter = 0;
150 for (itr->SeekToFirst(); itr->Valid(); itr->Next()) { 151 for (itr->SeekToFirst(); itr->Valid(); itr->Next()) {
151 ASSERT_NE(prev_key, itr->key().ToString()); 152 ASSERT_NE(prev_key, itr->key().ToString());
152 ASSERT_NE(prev_value, itr->value().ToString()); 153 ASSERT_NE(prev_value, itr->value().ToString());
153 prev_key = itr->key().ToString(); 154 prev_key = itr->key().ToString();
154 prev_value = itr->value().ToString(); 155 prev_value = itr->value().ToString();
155 ++loop_counter; 156 ++loop_counter;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 236
236 EXPECT_EQ(0, GetDB()->num_puts()); 237 EXPECT_EQ(0, GetDB()->num_puts());
237 EXPECT_EQ(0, GetDB()->num_deletes()); 238 EXPECT_EQ(0, GetDB()->num_deletes());
238 239
239 SCOPED_TRACE("DeleteTest_Commit"); 240 SCOPED_TRACE("DeleteTest_Commit");
240 CheckDBContents(merged_data, arraysize(merged_data)); 241 CheckDBContents(merged_data, arraysize(merged_data));
241 } 242 }
242 243
243 } // namespace drive_backend 244 } // namespace drive_backend
244 } // namespace sync_file_system 245 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698