Implement initialization for GDataCache to use in-memory metadata for tests.
Use the in-memory version for GDataFileSystemTest.
BUG=137945
TEST=unit_tests --gtest_filter='GDataFileSystemTest*'
Review URL: https://chromiumcodereview.appspot.com/10830181
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151013 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/gdata/gdata_cache.cc b/chrome/browser/chromeos/gdata/gdata_cache.cc
index 3af5532..036e33bc 100644
--- a/chrome/browser/chromeos/gdata/gdata_cache.cc
+++ b/chrome/browser/chromeos/gdata/gdata_cache.cc
@@ -697,6 +697,14 @@
base::Bind(&GDataCache::Initialize, base::Unretained(this)));
}
+void GDataCache::RequestInitializeOnUIThreadForTesting() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ blocking_task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&GDataCache::InitializeForTesting, base::Unretained(this)));
+}
+
void GDataCache::ForceRescanOnUIThreadForTesting() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -743,6 +751,15 @@
metadata_->Initialize(cache_paths_);
}
+void GDataCache::InitializeForTesting() {
+ AssertOnSequencedWorkerPool();
+
+ InitCachePaths(cache_paths_);
+ metadata_ = GDataCacheMetadata::CreateGDataCacheMetadataForTesting(
+ blocking_task_runner_).Pass();
+ metadata_->Initialize(cache_paths_);
+}
+
void GDataCache::Destroy() {
AssertOnSequencedWorkerPool();
delete this;