| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/sync/model_impl/model_type_store_backend.h" | 5 #include "components/sync/model_impl/model_type_store_backend.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "third_party/leveldatabase/src/include/leveldb/env.h" | 11 #include "third_party/leveldatabase/src/include/leveldb/env.h" |
| 11 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" | 12 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" |
| 12 | 13 |
| 13 namespace syncer { | 14 namespace syncer { |
| 14 | 15 |
| 15 class ModelTypeStoreBackendTest : public testing::Test { | 16 class ModelTypeStoreBackendTest : public testing::Test { |
| 16 public: | 17 public: |
| 17 scoped_refptr<ModelTypeStoreBackend> GetOrCreateBackend() { | 18 scoped_refptr<ModelTypeStoreBackend> GetOrCreateBackend() { |
| 18 std::string path = "/test_db"; | 19 std::string path = "/test_db"; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 ModelTypeStore::RecordList record_list; | 118 ModelTypeStore::RecordList record_list; |
| 118 id_list.push_back("id1"); | 119 id_list.push_back("id1"); |
| 119 id_list.push_back("id2"); | 120 id_list.push_back("id2"); |
| 120 result = backend->ReadRecordsWithPrefix("prefix:", id_list, &record_list, | 121 result = backend->ReadRecordsWithPrefix("prefix:", id_list, &record_list, |
| 121 &missing_id_list); | 122 &missing_id_list); |
| 122 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); | 123 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); |
| 123 ASSERT_EQ(2UL, record_list.size()); | 124 ASSERT_EQ(2UL, record_list.size()); |
| 124 ASSERT_TRUE(missing_id_list.empty()); | 125 ASSERT_TRUE(missing_id_list.empty()); |
| 125 | 126 |
| 126 // Delete one record. | 127 // Delete one record. |
| 127 write_batch.reset(new leveldb::WriteBatch()); | 128 write_batch = base::MakeUnique<leveldb::WriteBatch>(); |
| 128 write_batch->Delete("prefix:id2"); | 129 write_batch->Delete("prefix:id2"); |
| 129 result = backend->WriteModifications(std::move(write_batch)); | 130 result = backend->WriteModifications(std::move(write_batch)); |
| 130 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); | 131 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); |
| 131 | 132 |
| 132 // Ensure deleted record id is returned in missing_id_list. | 133 // Ensure deleted record id is returned in missing_id_list. |
| 133 record_list.clear(); | 134 record_list.clear(); |
| 134 missing_id_list.clear(); | 135 missing_id_list.clear(); |
| 135 result = backend->ReadRecordsWithPrefix("prefix:", id_list, &record_list, | 136 result = backend->ReadRecordsWithPrefix("prefix:", id_list, &record_list, |
| 136 &missing_id_list); | 137 &missing_id_list); |
| 137 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); | 138 ASSERT_EQ(ModelTypeStore::Result::SUCCESS, result); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 ASSERT_TRUE(backend_second->HasOneRef()); | 184 ASSERT_TRUE(backend_second->HasOneRef()); |
| 184 ASSERT_FALSE(BackendExistsForPath(path)); | 185 ASSERT_FALSE(BackendExistsForPath(path)); |
| 185 | 186 |
| 186 // delete another backend. | 187 // delete another backend. |
| 187 backend_second = nullptr; | 188 backend_second = nullptr; |
| 188 ASSERT_FALSE(backend_second.get()); | 189 ASSERT_FALSE(backend_second.get()); |
| 189 ASSERT_FALSE(BackendExistsForPath("/test_db2")); | 190 ASSERT_FALSE(BackendExistsForPath("/test_db2")); |
| 190 } | 191 } |
| 191 | 192 |
| 192 } // namespace syncer | 193 } // namespace syncer |
| OLD | NEW |