| Index: content/browser/indexed_db/leveldb/leveldb_unittest.cc
|
| diff --git a/content/browser/indexed_db/leveldb/leveldb_unittest.cc b/content/browser/indexed_db/leveldb/leveldb_unittest.cc
|
| deleted file mode 100644
|
| index 20960d384023940f2b077a231857d4ad67a1f89b..0000000000000000000000000000000000000000
|
| --- a/content/browser/indexed_db/leveldb/leveldb_unittest.cc
|
| +++ /dev/null
|
| @@ -1,193 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include <algorithm>
|
| -#include <cstring>
|
| -#include <vector>
|
| -
|
| -#include "base/files/file_path.h"
|
| -#include "base/files/scoped_temp_dir.h"
|
| -#include "base/platform_file.h"
|
| -#include "base/string16.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_comparator.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_database.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_iterator.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_slice.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_transaction.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace content {
|
| -
|
| -namespace {
|
| -
|
| -class SimpleComparator : public LevelDBComparator {
|
| - public:
|
| - virtual int Compare(const LevelDBSlice& a, const LevelDBSlice& b) const
|
| - OVERRIDE {
|
| - size_t len = std::min(a.end() - a.begin(), b.end() - b.begin());
|
| - return memcmp(a.begin(), b.begin(), len);
|
| - }
|
| - virtual const char* Name() const OVERRIDE { return "temp_comparator"; }
|
| -};
|
| -
|
| -std::vector<char> EncodeString(const std::string& s) {
|
| - std::vector<char> ret(s.size());
|
| - for (size_t i = 0; i < s.size(); ++i)
|
| - ret[i] = s[i];
|
| - return ret;
|
| -}
|
| -
|
| -TEST(LevelDBDatabaseTest, CorruptionTest) {
|
| - base::ScopedTempDir temp_directory;
|
| - ASSERT_TRUE(temp_directory.CreateUniqueTempDir());
|
| -
|
| - const std::vector<char> key = EncodeString("key");
|
| - const std::vector<char> put_value = EncodeString("value");
|
| - std::vector<char> got_value;
|
| - SimpleComparator comparator;
|
| -
|
| - scoped_ptr<LevelDBDatabase> leveldb =
|
| - LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_TRUE(leveldb);
|
| - bool success = leveldb->Put(LevelDBSlice(key), put_value);
|
| - EXPECT_TRUE(success);
|
| - leveldb.Pass();
|
| - EXPECT_FALSE(leveldb);
|
| -
|
| - leveldb = LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_TRUE(leveldb);
|
| - bool found = false;
|
| - success = leveldb->Get(LevelDBSlice(key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_TRUE(found);
|
| - EXPECT_EQ(put_value, got_value);
|
| - leveldb.Pass();
|
| - EXPECT_FALSE(leveldb);
|
| -
|
| - base::FilePath file_path = temp_directory.path().AppendASCII("CURRENT");
|
| - base::PlatformFile handle = base::CreatePlatformFile(
|
| - file_path,
|
| - base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_WRITE,
|
| - NULL,
|
| - NULL);
|
| - base::TruncatePlatformFile(handle, 0);
|
| - base::ClosePlatformFile(handle);
|
| -
|
| - leveldb = LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_FALSE(leveldb);
|
| -
|
| - bool destroyed = LevelDBDatabase::Destroy(temp_directory.path());
|
| - EXPECT_TRUE(destroyed);
|
| -
|
| - leveldb = LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_TRUE(leveldb);
|
| - success = leveldb->Get(LevelDBSlice(key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_FALSE(found);
|
| -}
|
| -
|
| -TEST(LevelDBDatabaseTest, Transaction) {
|
| - base::ScopedTempDir temp_directory;
|
| - ASSERT_TRUE(temp_directory.CreateUniqueTempDir());
|
| -
|
| - const std::vector<char> key = EncodeString("key");
|
| - std::vector<char> got_value;
|
| - SimpleComparator comparator;
|
| -
|
| - scoped_ptr<LevelDBDatabase> leveldb =
|
| - LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_TRUE(leveldb);
|
| -
|
| - const std::vector<char> old_value = EncodeString("value");
|
| - bool success = leveldb->Put(LevelDBSlice(key), old_value);
|
| - EXPECT_TRUE(success);
|
| -
|
| - scoped_refptr<LevelDBTransaction> transaction =
|
| - LevelDBTransaction::Create(leveldb.get());
|
| -
|
| - const std::vector<char> new_value = EncodeString("new value");
|
| - success = leveldb->Put(LevelDBSlice(key), new_value);
|
| - EXPECT_TRUE(success);
|
| -
|
| - bool found = false;
|
| - success = transaction->Get(LevelDBSlice(key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_TRUE(found);
|
| - EXPECT_EQ(
|
| - comparator.Compare(LevelDBSlice(got_value), LevelDBSlice(old_value)), 0);
|
| -
|
| - found = false;
|
| - success = leveldb->Get(LevelDBSlice(key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_TRUE(found);
|
| - EXPECT_EQ(
|
| - comparator.Compare(LevelDBSlice(got_value), LevelDBSlice(new_value)), 0);
|
| -
|
| - const std::vector<char> added_key = EncodeString("added key");
|
| - const std::vector<char> added_value = EncodeString("added value");
|
| - success = leveldb->Put(LevelDBSlice(added_key), added_value);
|
| - EXPECT_TRUE(success);
|
| -
|
| - success = leveldb->Get(LevelDBSlice(added_key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_TRUE(found);
|
| - EXPECT_EQ(
|
| - comparator.Compare(LevelDBSlice(got_value), LevelDBSlice(added_value)),
|
| - 0);
|
| -
|
| - success = transaction->Get(LevelDBSlice(added_key), got_value, found);
|
| - EXPECT_TRUE(success);
|
| - EXPECT_FALSE(found);
|
| -}
|
| -
|
| -TEST(LevelDBDatabaseTest, TransactionIterator) {
|
| - base::ScopedTempDir temp_directory;
|
| - ASSERT_TRUE(temp_directory.CreateUniqueTempDir());
|
| -
|
| - const std::vector<char> start = EncodeString("");
|
| - const std::vector<char> key1 = EncodeString("key1");
|
| - const std::vector<char> value1 = EncodeString("value1");
|
| - const std::vector<char> key2 = EncodeString("key2");
|
| - const std::vector<char> value2 = EncodeString("value2");
|
| -
|
| - SimpleComparator comparator;
|
| - bool success;
|
| -
|
| - scoped_ptr<LevelDBDatabase> leveldb =
|
| - LevelDBDatabase::Open(temp_directory.path(), &comparator);
|
| - EXPECT_TRUE(leveldb);
|
| -
|
| - success = leveldb->Put(LevelDBSlice(key1), value1);
|
| - EXPECT_TRUE(success);
|
| - success = leveldb->Put(LevelDBSlice(key2), value2);
|
| - EXPECT_TRUE(success);
|
| -
|
| - scoped_refptr<LevelDBTransaction> transaction =
|
| - LevelDBTransaction::Create(leveldb.get());
|
| -
|
| - success = leveldb->Remove(LevelDBSlice(key2));
|
| - EXPECT_TRUE(success);
|
| -
|
| - scoped_ptr<LevelDBIterator> it = transaction->CreateIterator();
|
| -
|
| - it->Seek(LevelDBSlice(start));
|
| -
|
| - EXPECT_TRUE(it->IsValid());
|
| - EXPECT_EQ(comparator.Compare(LevelDBSlice(it->Key()), LevelDBSlice(key1)), 0);
|
| - EXPECT_EQ(comparator.Compare(it->Value(), LevelDBSlice(value1)), 0);
|
| -
|
| - it->Next();
|
| -
|
| - EXPECT_TRUE(it->IsValid());
|
| - EXPECT_EQ(comparator.Compare(it->Key(), LevelDBSlice(key2)), 0);
|
| - EXPECT_EQ(comparator.Compare(it->Value(), LevelDBSlice(value2)), 0);
|
| -
|
| - it->Next();
|
| -
|
| - EXPECT_FALSE(it->IsValid());
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -} // namespace content
|
|
|