| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/win/registry.h" | 5 #include "base/win/registry.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
| 7 | 7 |
| 8 namespace base { | 8 namespace base { |
| 9 namespace win { | 9 namespace win { |
| 10 | 10 |
| 11 namespace { | 11 namespace { |
| 12 | 12 |
| 13 const wchar_t kRootKey[] = L"Base_Registry_Unittest"; | 13 const wchar_t kRootKey[] = L"Base_Registry_Unittest"; |
| 14 | 14 |
| 15 class RegistryTest : public testing::Test { | 15 class RegistryTest : public testing::Test { |
| 16 public: | 16 public: |
| 17 RegistryTest() {} | 17 RegistryTest() {} |
| 18 | 18 |
| 19 protected: | 19 protected: |
| 20 virtual void SetUp() { | 20 virtual void SetUp() { |
| 21 // Create a temporary key. | 21 // Create a temporary key. |
| 22 RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS); | 22 RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS); |
| 23 key.DeleteKey(kRootKey); | 23 key.DeleteKey(kRootKey); |
| 24 ASSERT_FALSE(key.Open(HKEY_CURRENT_USER, kRootKey, KEY_READ)); | 24 ASSERT_NE(ERROR_SUCCESS, key.Open(HKEY_CURRENT_USER, kRootKey, KEY_READ)); |
| 25 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, kRootKey, KEY_READ)); | 25 ASSERT_EQ(ERROR_SUCCESS, key.Create(HKEY_CURRENT_USER, kRootKey, KEY_READ)); |
| 26 } | 26 } |
| 27 | 27 |
| 28 virtual void TearDown() { | 28 virtual void TearDown() { |
| 29 // Clean up the temporary key. | 29 // Clean up the temporary key. |
| 30 RegKey key(HKEY_CURRENT_USER, L"", KEY_SET_VALUE); | 30 RegKey key(HKEY_CURRENT_USER, L"", KEY_SET_VALUE); |
| 31 ASSERT_TRUE(key.DeleteKey(kRootKey)); | 31 ASSERT_EQ(ERROR_SUCCESS, key.DeleteKey(kRootKey)); |
| 32 } | 32 } |
| 33 | 33 |
| 34 private: | 34 private: |
| 35 DISALLOW_COPY_AND_ASSIGN(RegistryTest); | 35 DISALLOW_COPY_AND_ASSIGN(RegistryTest); |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 TEST_F(RegistryTest, ValueTest) { | 38 TEST_F(RegistryTest, ValueTest) { |
| 39 RegKey key; | 39 RegKey key; |
| 40 | 40 |
| 41 std::wstring foo_key(kRootKey); | 41 std::wstring foo_key(kRootKey); |
| 42 foo_key += L"\\Foo"; | 42 foo_key += L"\\Foo"; |
| 43 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, foo_key.c_str(), KEY_READ)); | 43 ASSERT_EQ(ERROR_SUCCESS, key.Create(HKEY_CURRENT_USER, foo_key.c_str(), |
| 44 KEY_READ)); |
| 44 | 45 |
| 45 { | 46 { |
| 46 ASSERT_TRUE(key.Open(HKEY_CURRENT_USER, foo_key.c_str(), | 47 ASSERT_EQ(ERROR_SUCCESS, key.Open(HKEY_CURRENT_USER, foo_key.c_str(), |
| 47 KEY_READ | KEY_SET_VALUE)); | 48 KEY_READ | KEY_SET_VALUE)); |
| 48 | 49 |
| 49 const wchar_t* kName = L"Bar"; | 50 const wchar_t* kName = L"Bar"; |
| 50 const wchar_t* kValue = L"bar"; | 51 const wchar_t* kValue = L"bar"; |
| 51 EXPECT_TRUE(key.WriteValue(kName, kValue)); | 52 ASSERT_EQ(ERROR_SUCCESS, key.WriteValue(kName, kValue)); |
| 52 EXPECT_TRUE(key.ValueExists(kName)); | 53 EXPECT_TRUE(key.ValueExists(kName)); |
| 53 std::wstring out_value; | 54 std::wstring out_value; |
| 54 EXPECT_TRUE(key.ReadValue(kName, &out_value)); | 55 ASSERT_EQ(ERROR_SUCCESS, key.ReadValue(kName, &out_value)); |
| 55 EXPECT_NE(out_value, L""); | 56 EXPECT_NE(out_value, L""); |
| 56 EXPECT_STREQ(out_value.c_str(), kValue); | 57 EXPECT_STREQ(out_value.c_str(), kValue); |
| 57 EXPECT_EQ(1U, key.ValueCount()); | 58 EXPECT_EQ(1U, key.ValueCount()); |
| 58 EXPECT_TRUE(key.DeleteValue(kName)); | 59 ASSERT_EQ(ERROR_SUCCESS, key.DeleteValue(kName)); |
| 59 } | 60 } |
| 60 } | 61 } |
| 61 | 62 |
| 62 } // namespace | 63 } // namespace |
| 63 | 64 |
| 64 } // namespace win | 65 } // namespace win |
| 65 } // namespace base | 66 } // namespace base |
| OLD | NEW |