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

Unified Diff: base/registry_monitor_manager_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months 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 | « base/registry_monitor_manager.cc ('k') | base/registry_store.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/registry_monitor_manager_unittest.cc
diff --git a/base/registry_monitor_manager_unittest.cc b/base/registry_monitor_manager_unittest.cc
deleted file mode 100644
index 4d767057f9e33d4edb6a9a2da40c06c298698999..0000000000000000000000000000000000000000
--- a/base/registry_monitor_manager_unittest.cc
+++ /dev/null
@@ -1,235 +0,0 @@
-// Copyright 2008-2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#include <windows.h>
-#include <limits.h>
-#include "base/basictypes.h"
-#include "omaha/base/scoped_any.h"
-#include "omaha/base/reactor.h"
-#include "omaha/base/reg_key.h"
-#include "omaha/base/registry_monitor_manager.h"
-#include "omaha/base/thread.h"
-#include "omaha/base/utils.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-namespace {
-
-const TCHAR kKeyNameFull[] = _T("HKCU\\key");
-const TCHAR kKeyName[] = _T("key");
-const TCHAR kValueName[] = _T("value");
-
-} // namespace
-
-class RegistryMonitorTest : public testing::Test {
- protected:
- RegistryMonitorTest() {}
-
- virtual void SetUp() {
- // Override HKCU.
- RegKey::DeleteKey(kRegistryHiveOverrideRoot);
- OverrideSpecifiedRegistryHives(kRegistryHiveOverrideRoot, false, true);
- reset(registry_changed_event_, ::CreateEvent(NULL, true, false, NULL));
- }
-
- virtual void TearDown() {
- reset(registry_changed_event_);
- RestoreRegistryHives();
- RegKey::DeleteKey(kRegistryHiveOverrideRoot);
- }
-
- static void RegistryDeleteCallback(const TCHAR* key_name,
- const TCHAR* value_name,
- RegistryChangeType change_type,
- const void* new_value_data,
- void* user_data) {
- EXPECT_STREQ(kKeyName, key_name);
- EXPECT_STREQ(kValueName, value_name);
- EXPECT_EQ(REGISTRY_CHANGE_TYPE_DELETE, change_type);
- EXPECT_TRUE(new_value_data);
- EXPECT_TRUE(user_data);
- RegistryMonitorTest* object = static_cast<RegistryMonitorTest*>(user_data);
- DWORD actual_value = reinterpret_cast<DWORD>(new_value_data);
- EXPECT_EQ(ULONG_MAX, actual_value);
- EXPECT_TRUE(::SetEvent(get(object->registry_changed_event_)));
- }
-
- static void RegistryChangeCallback(const TCHAR* key_name,
- const TCHAR* value_name,
- RegistryChangeType change_type,
- const void* new_value_data,
- void* user_data) {
- EXPECT_STREQ(kKeyName, key_name);
- EXPECT_STREQ(kValueName, value_name);
- EXPECT_EQ(REGISTRY_CHANGE_TYPE_UPDATE, change_type);
- EXPECT_TRUE(new_value_data);
- EXPECT_TRUE(user_data);
- RegistryMonitorTest* object = static_cast<RegistryMonitorTest*>(user_data);
- const TCHAR* actual_value = static_cast<const TCHAR*>(new_value_data);
- EXPECT_STREQ(_T("foo"), actual_value);
- EXPECT_TRUE(::SetEvent(get(object->registry_changed_event_)));
- }
-
- static void RegistryChangesCallback(const TCHAR* key_name,
- const TCHAR* value_name,
- RegistryChangeType change_type,
- const void* new_value_data,
- void* user_data) {
- EXPECT_STREQ(kKeyName, key_name);
- EXPECT_STREQ(kValueName, value_name);
- EXPECT_EQ(REGISTRY_CHANGE_TYPE_UPDATE, change_type);
- EXPECT_TRUE(new_value_data);
- EXPECT_TRUE(user_data);
- RegistryMonitorTest* object = static_cast<RegistryMonitorTest*>(user_data);
- EXPECT_TRUE(::SetEvent(get(object->registry_changed_event_)));
- }
-
- static void RegistryCreateCallback(const TCHAR* key_name,
- const TCHAR* value_name,
- RegistryChangeType change_type,
- const void* new_value_data,
- void* user_data) {
- EXPECT_STREQ(kKeyName, key_name);
- EXPECT_STREQ(kValueName, value_name);
- EXPECT_EQ(REGISTRY_CHANGE_TYPE_CREATE, change_type);
- EXPECT_TRUE(new_value_data);
- EXPECT_TRUE(user_data);
- RegistryMonitorTest* object = static_cast<RegistryMonitorTest*>(user_data);
- DWORD actual_value = reinterpret_cast<DWORD>(new_value_data);
- EXPECT_EQ(1, actual_value);
- EXPECT_TRUE(::SetEvent(get(object->registry_changed_event_)));
- }
-
- static void RegistryKeyCallback(const TCHAR* key_name, void* user_data) {
- EXPECT_STREQ(kKeyName, key_name);
- RegistryMonitorTest* object = static_cast<RegistryMonitorTest*>(user_data);
- EXPECT_TRUE(::SetEvent(get(object->registry_changed_event_)));
- }
-
- scoped_event registry_changed_event_;
-
- static DWORD const kWaitForChangeMs = 5000;
-};
-
-TEST_F(RegistryMonitorTest, DeleteValue) {
- DWORD value = 0;
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull, kValueName, value));
- RegistryMonitor registry_monitor;
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_DWORD,
- RegistryDeleteCallback, this));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.StartMonitoring());
-
- EXPECT_HRESULT_SUCCEEDED(RegKey::DeleteValue(kKeyNameFull, kValueName));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-}
-
-TEST_F(RegistryMonitorTest, ChangeValue) {
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull, kValueName, _T("")));
- RegistryMonitor registry_monitor;
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_SZ,
- RegistryChangeCallback, this));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.StartMonitoring());
-
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull,
- kValueName,
- _T("foo")));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-}
-
-// Tests changing the same value two times. This is useful to detect if
-// the key is registered back for notification after a succesful callback.
-TEST_F(RegistryMonitorTest, ChangeValues) {
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull,
- kValueName,
- _T("")));
-
- RegistryMonitor registry_monitor;
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_SZ,
- RegistryChangesCallback, this));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.StartMonitoring());
-
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull,
- kValueName,
- _T("foo")));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
- EXPECT_TRUE(::ResetEvent(get(registry_changed_event_)));
-
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull,
- kValueName,
- _T("bar")));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-}
-
-TEST_F(RegistryMonitorTest, CreateValue) {
- RegistryMonitor registry_monitor;
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- ASSERT_HRESULT_SUCCEEDED(RegKey::CreateKey(kKeyNameFull));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_DWORD,
- RegistryCreateCallback, this));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.StartMonitoring());
-
- DWORD value = 1;
- ASSERT_HRESULT_SUCCEEDED(RegKey::SetValue(kKeyNameFull, kValueName, value));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-}
-
-// Monitoring values under the same key pair is allowed.
-TEST_F(RegistryMonitorTest, MonitorSame) {
- RegistryMonitor registry_monitor;
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- ASSERT_HRESULT_SUCCEEDED(RegKey::CreateKey(kKeyNameFull));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_DWORD,
- RegistryCreateCallback, this));
- ASSERT_HRESULT_SUCCEEDED(registry_monitor.MonitorValue(
- HKEY_CURRENT_USER, kKeyName, kValueName, REG_DWORD,
- RegistryCreateCallback, this));
-}
-
-TEST_F(RegistryMonitorTest, MonitorKey) {
- EXPECT_HRESULT_SUCCEEDED(RegKey::CreateKey(kKeyNameFull));
-
- RegistryMonitor registry_monitor;
- EXPECT_HRESULT_SUCCEEDED(registry_monitor.Initialize());
- EXPECT_HRESULT_SUCCEEDED(registry_monitor.MonitorKey(
- HKEY_CURRENT_USER, kKeyName, RegistryKeyCallback, this));
-
- EXPECT_HRESULT_SUCCEEDED(registry_monitor.StartMonitoring());
-
- EXPECT_HRESULT_SUCCEEDED(RegKey::CreateKey(_T("HKCU\\key\\subkey")));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-
- EXPECT_TRUE(::ResetEvent(get(registry_changed_event_)));
- EXPECT_HRESULT_SUCCEEDED(RegKey::DeleteKey(_T("HKCU\\key\\subkey")));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(registry_changed_event_),
- kWaitForChangeMs));
-}
-
-} // namespace omaha
-
« no previous file with comments | « base/registry_monitor_manager.cc ('k') | base/registry_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698