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

Unified Diff: chrome/browser/history/in_memory_url_index_base_unittest.h

Issue 10837244: Replace HistoryQuickProvider protobuf-based caching with an SQLite-based database. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Tweak suppression. Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/history/in_memory_url_index_base_unittest.h
===================================================================
--- chrome/browser/history/in_memory_url_index_base_unittest.h (revision 0)
+++ chrome/browser/history/in_memory_url_index_base_unittest.h (revision 0)
@@ -0,0 +1,91 @@
+// Copyright (c) 2012 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.
+
+#ifndef CHROME_BROWSER_HISTORY_IN_MEMORY_URL_INDEX_BASE_UNITTEST_H_
+#define CHROME_BROWSER_HISTORY_IN_MEMORY_URL_INDEX_BASE_UNITTEST_H_
+
+#include "base/file_util.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/message_loop.h"
+#include "base/scoped_temp_dir.h"
+#include "chrome/browser/history/history_database.h"
+#include "chrome/browser/history/in_memory_database.h"
+#include "chrome/browser/history/in_memory_url_index.h"
+#include "chrome/test/base/testing_profile.h"
+#include "content/public/test/test_browser_thread.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace history {
+
+class HistoryDatabase;
+
+// A base class for unit tests that exercise the InMemoryURLIndex and the
+// HistoryQuickProvider. Provides initialization of the index using data
+// contained in a test file.
+//
+// The test version of the history url database table ('url') is contained in
+// a database file created from a text file as specified by the
+// TestDBName() method overridden by subclasses. The only difference between
+// the table specified in this test file and a live 'urls' table from a
+// profile is that the last_visit_time column in the test table contains a
+// number specifying the number of days relative to 'today' to which the
+// visit time of the URL will be set during the test setup stage.
+//
+// The format of the test database text file is of a SQLite .dump file.
+// Note that only lines whose first character is an upper-case letter are
+// processed when creating the test database.
+//
+class InMemoryURLIndexBaseTest : public testing::Test {
+ protected:
+ InMemoryURLIndexBaseTest();
+ virtual ~InMemoryURLIndexBaseTest();
+
+ // Specifies the test data file name used by the subclass. The specified file
+ // must reside in the path given by chrome::DIR_TEST_DATA.
+ virtual FilePath::StringType TestDBName() const = 0;
+
+ // Fills the HistoryBackend with test data from the test data file and creates
+ // the InMemoryURLIndex instance, but does not fill it with data. Call
+ // LoadIndex() after calling SetUp() To fill the InMemoryURLIndex instance
+ // with the test data.
+ // NOTE: By default, TestingProfile does not enable the cache database
+ // (InMemoryURLCacheDatabase). If a test relies on the cache database
+ // having been enabled then that test should subclass TestingProfile
+ // and provide an override of InitHistoryService(...) that causes
+ // the cache database to be created and initialized. For an example,
+ // see CacheTestingProfile in in_memory_url_index_unittest.cc.
+ virtual void SetUp() OVERRIDE;
+ virtual void TearDown() OVERRIDE;
+
+ // Blocks the caller until the load sequence for the index has completed.
+ // Note that load completion does not imply success.
+ void BlockUntilIndexLoaded();
+
+ // Loads the InMemoryURLIndex instance with data from the HistoryBackend.
+ // Blocks until the load completes. Completion does not imply success.
+ void LoadIndex();
+
+ // Sets |blockingPoolShutdown_| to true as part of TearDown().
+ void BlockingPoolShutdown();
+
+ // Pass-through function to simplify our friendship with InMemoryURLIndex.
+ URLIndexPrivateData* GetPrivateData();
+
+ // Pass-through functions to simplify our friendship with URLIndexPrivateData.
+ bool UpdateURL(const URLRow& row);
+ bool DeleteURL(const GURL& url);
+ bool GetCacheDBPath(FilePath* file_path);
+
+ InMemoryURLIndex* url_index_;
+ HistoryDatabase* history_database_;
+
+ MessageLoopForUI message_loop_;
+ content::TestBrowserThread ui_thread_;
+ content::TestBrowserThread db_thread_;
+ scoped_ptr<TestingProfile> profile_;
+};
+
+} // namespace history
+
+#endif // CHROME_BROWSER_HISTORY_IN_MEMORY_URL_INDEX_BASE_UNITTEST_H_
Property changes on: chrome/browser/history/in_memory_url_index_base_unittest.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698