Index: chrome_frame/test/policy_settings_unittest.cc |
=================================================================== |
--- chrome_frame/test/policy_settings_unittest.cc (revision 68663) |
+++ chrome_frame/test/policy_settings_unittest.cc (working copy) |
@@ -11,9 +11,12 @@ |
#include "base/win/registry.h" |
#include "chrome/common/policy_constants.h" |
#include "chrome_frame/policy_settings.h" |
+#include "chrome_frame/test/chrome_frame_test_utils.h" |
#include "testing/gtest/include/gtest/gtest.h" |
using base::win::RegKey; |
+using chrome_frame_test::ScopedVirtualizeHklmAndHkcu; |
+using chrome_frame_test::TempRegKeyOverride; |
namespace { |
@@ -30,42 +33,6 @@ |
} |
} |
-class TempRegKeyOverride { |
- public: |
- static const wchar_t kTempTestKeyPath[]; |
- |
- TempRegKeyOverride(HKEY override, const wchar_t* temp_name) |
- : override_(override), temp_name_(temp_name) { |
- DCHECK(temp_name && lstrlenW(temp_name)); |
- std::wstring key_path(kTempTestKeyPath); |
- key_path += L"\\" + temp_name_; |
- EXPECT_TRUE(temp_key_.Create(HKEY_CURRENT_USER, key_path.c_str(), |
- KEY_ALL_ACCESS)); |
- EXPECT_EQ(ERROR_SUCCESS, |
- ::RegOverridePredefKey(override_, temp_key_.Handle())); |
- } |
- |
- ~TempRegKeyOverride() { |
- ::RegOverridePredefKey(override_, NULL); |
- // The temp key will be deleted via a call to DeleteAllTempKeys(). |
- } |
- |
- static void DeleteAllTempKeys() { |
- RegKey key; |
- if (key.Open(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS)) { |
- key.DeleteKey(kTempTestKeyPath); |
- } |
- } |
- |
- protected: |
- HKEY override_; |
- RegKey temp_key_; |
- std::wstring temp_name_; |
-}; |
- |
-const wchar_t TempRegKeyOverride::kTempTestKeyPath[] = |
- L"Software\\Chromium\\TempTestKeys"; |
- |
bool InitializePolicyKey(HKEY policy_root, RegKey* policy_key) { |
EXPECT_TRUE(policy_key->Create(policy_root, policy::kRegistrySubKey, |
KEY_ALL_ACCESS)); |
@@ -136,28 +103,21 @@ |
class PolicySettingsTest : public testing::Test { |
protected: |
void SetUp() { |
- TempRegKeyOverride::DeleteAllTempKeys(); |
- |
- hklm_pol_.reset(new TempRegKeyOverride(HKEY_LOCAL_MACHINE, L"hklm_pol")); |
- hkcu_pol_.reset(new TempRegKeyOverride(HKEY_CURRENT_USER, L"hkcu_pol")); |
- |
ResetPolicySettings(); |
} |
void TearDown() { |
- hkcu_pol_.reset(NULL); |
- hklm_pol_.reset(NULL); |
- TempRegKeyOverride::DeleteAllTempKeys(); |
} |
void ResetPolicySettings() { |
- at_exit_manager_.ProcessCallbacksNow(); |
+ //at_exit_manager_.ProcessCallbacksNow(); |
+ DeleteAllSingletons(); |
} |
// This is used to manage life cycle of PolicySettings singleton. |
- base::ShadowingAtExitManager at_exit_manager_; |
- scoped_ptr<TempRegKeyOverride> hklm_pol_; |
- scoped_ptr<TempRegKeyOverride> hkcu_pol_; |
+ // base::ShadowingAtExitManager at_exit_manager_; |
+ |
+ ScopedVirtualizeHklmAndHkcu registry_virtualization_; |
}; |
TEST_F(PolicySettingsTest, RendererForUrl) { |