Index: chrome/test/sync/engine/test_directory_setter_upper.h |
=================================================================== |
--- chrome/test/sync/engine/test_directory_setter_upper.h (revision 0) |
+++ chrome/test/sync/engine/test_directory_setter_upper.h (revision 0) |
@@ -0,0 +1,72 @@ |
+// Copyright (c) 2009 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. |
+// |
+// A handy class that takes care of setting up and destroying a |
+// syncable::Directory instance for unit tests that require one. |
+// |
+// The expected usage is to make this a component of your test fixture: |
+// |
+// class AwesomenessTest : public testing::Test { |
+// public: |
+// virtual void SetUp() { |
+// metadb_.SetUp(); |
+// } |
+// virtual void TearDown() { |
+// metadb_.TearDown(); |
+// } |
+// protected: |
+// TestDirectorySetterUpper metadb_; |
+// }; |
+// |
+// Then, in your tests, get at the directory like so: |
+// |
+// TEST_F(AwesomenessTest, IsMaximal) { |
+// ScopedDirLookup dir(metadb_.manager(), metadb_.name()); |
+// ... now use |dir| to get at syncable::Entry objects ... |
+// } |
+// |
+ |
+#ifndef CHROME_TEST_SYNC_ENGINE_TEST_DIRECTORY_SETTER_UPPER_H_ |
+#define CHROME_TEST_SYNC_ENGINE_TEST_DIRECTORY_SETTER_UPPER_H_ |
+ |
+#include "base/scoped_ptr.h" |
+#include "chrome/browser/sync/syncable/syncable.h" |
+#include "chrome/browser/sync/util/sync_types.h" |
+ |
+namespace syncable { |
+class DirectoryManager; |
+class ScopedDirLookup; |
+} // namespace syncable |
+ |
+namespace browser_sync { |
+ |
+class TestDirectorySetterUpper { |
+ public: |
+ TestDirectorySetterUpper(); |
+ ~TestDirectorySetterUpper(); |
+ |
+ // Create a DirectoryManager instance and use it to open the directory. |
+ // Clears any existing database backing files that might exist on disk. |
+ void SetUp(); |
+ |
+ // Undo everything done by SetUp(): close the directory and delete |
+ // the backing files. Before closing the directory, this will run the |
+ // directory invariant checks and perform the SaveChanges action on |
+ // the directory. |
+ void TearDown(); |
+ |
+ syncable::DirectoryManager* manager() const { return manager_.get(); } |
+ const PathString& name() const { return name_; } |
+ |
+ private: |
+ void RunInvariantCheck(const syncable::ScopedDirLookup& dir); |
+ |
+ scoped_ptr<syncable::DirectoryManager> manager_; |
+ const PathString name_; |
+ PathString file_path_; |
+}; |
+ |
+} // namespace browser_sync |
+ |
+#endif // CHROME_TEST_SYNC_ENGINE_TEST_DIRECTORY_SETTER_UPPER_H_ |
Property changes on: chrome\test\sync\engine\test_directory_setter_upper.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |