Index: base/test/test_reg_util_win.h |
=================================================================== |
--- base/test/test_reg_util_win.h (revision 0) |
+++ base/test/test_reg_util_win.h (revision 0) |
@@ -0,0 +1,51 @@ |
+// Copyright (c) 2011 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 BASE_TEST_TEST_REG_UTIL_H_ |
+#define BASE_TEST_TEST_REG_UTIL_H_ |
+#pragma once |
+ |
+// Registry utility functions used only by tests. |
+ |
+#include "base/win/registry.h" |
+ |
+namespace registry_util { |
+ |
+// Allows a test to easily override a known location in the registry so that |
+// it can start from a known good state, or make sure to not leave any |
+// side effects once the test completes. |
+class ScopedRegistryKeyOverride { |
+ public: |
+ static const wchar_t kTempTestKeyPath[]; |
+ |
+ ScopedRegistryKeyOverride(HKEY override, const std::wstring& temp_name); |
+ ~ScopedRegistryKeyOverride(); |
+ |
+ static void DeleteAllTempKeys(); |
+ |
+ protected: |
+ HKEY override_; |
+ base::win::RegKey temp_key_; |
+ std::wstring temp_name_; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ScopedRegistryKeyOverride); |
+}; |
+ |
+// This object can be used to make sure that the temporary registry location |
+// used by ScopedRegistryKeyOverride are cleared out before and after the |
+// registry is overidden. Instantiate this class before any instances of |
+// ScopedRegistryKeyOverride and destroy it after all instances. |
+class ScopedRegistryTempPathCleanup { |
+ public: |
+ ScopedRegistryTempPathCleanup(); |
+ ~ScopedRegistryTempPathCleanup(); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ScopedRegistryTempPathCleanup); |
+}; |
+ |
+} // namespace registry_util |
+ |
+#endif // BASE_TEST_TEST_REG_UTIL_H_ |
Property changes on: base\test\test_reg_util_win.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |