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

Unified Diff: chrome_frame/test/policy_settings_unittest.cc

Issue 5564009: Temporary workaround to get tests that reference singletons either directly o... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« no previous file with comments | « chrome_frame/test/chrome_frame_test_utils.cc ('k') | chrome_frame/test/urlmon_moniker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « chrome_frame/test/chrome_frame_test_utils.cc ('k') | chrome_frame/test/urlmon_moniker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698