| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <windows.h> | 5 #include <windows.h> |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/win/registry.h" | 10 #include "base/win/registry.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 scoped_ptr<SetRegValueWorkItem> work_item2( | 60 scoped_ptr<SetRegValueWorkItem> work_item2( |
| 61 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, | 61 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, |
| 62 name_dword, dword1, false)); | 62 name_dword, dword1, false)); |
| 63 | 63 |
| 64 EXPECT_TRUE(work_item1->Do()); | 64 EXPECT_TRUE(work_item1->Do()); |
| 65 EXPECT_TRUE(work_item2->Do()); | 65 EXPECT_TRUE(work_item2->Do()); |
| 66 | 66 |
| 67 std::wstring read_out; | 67 std::wstring read_out; |
| 68 DWORD read_dword; | 68 DWORD read_dword; |
| 69 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_str.c_str(), &read_out)); | 69 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_str.c_str(), &read_out)); |
| 70 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name_dword.c_str(), &read_dword)); | 70 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_dword.c_str(), &read_dword)); |
| 71 EXPECT_EQ(read_out, data_str_1); | 71 EXPECT_EQ(read_out, data_str_1); |
| 72 EXPECT_EQ(read_dword, dword1); | 72 EXPECT_EQ(read_dword, dword1); |
| 73 | 73 |
| 74 work_item1->Rollback(); | 74 work_item1->Rollback(); |
| 75 work_item2->Rollback(); | 75 work_item2->Rollback(); |
| 76 | 76 |
| 77 // Rollback should delete the value. | 77 // Rollback should delete the value. |
| 78 EXPECT_FALSE(key.HasValue(name_str.c_str())); | 78 EXPECT_FALSE(key.HasValue(name_str.c_str())); |
| 79 EXPECT_FALSE(key.HasValue(name_dword.c_str())); | 79 EXPECT_FALSE(key.HasValue(name_dword.c_str())); |
| 80 } | 80 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 98 scoped_ptr<SetRegValueWorkItem> work_item2( | 98 scoped_ptr<SetRegValueWorkItem> work_item2( |
| 99 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, | 99 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, |
| 100 name_dword, dword1, true)); | 100 name_dword, dword1, true)); |
| 101 | 101 |
| 102 EXPECT_TRUE(work_item1->Do()); | 102 EXPECT_TRUE(work_item1->Do()); |
| 103 EXPECT_TRUE(work_item2->Do()); | 103 EXPECT_TRUE(work_item2->Do()); |
| 104 | 104 |
| 105 std::wstring read_out; | 105 std::wstring read_out; |
| 106 DWORD read_dword; | 106 DWORD read_dword; |
| 107 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_str.c_str(), &read_out)); | 107 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_str.c_str(), &read_out)); |
| 108 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name_dword.c_str(), &read_dword)); | 108 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name_dword.c_str(), &read_dword)); |
| 109 EXPECT_EQ(read_out, data_str_1); | 109 EXPECT_EQ(read_out, data_str_1); |
| 110 EXPECT_EQ(read_dword, dword1); | 110 EXPECT_EQ(read_dword, dword1); |
| 111 | 111 |
| 112 work_item1->Rollback(); | 112 work_item1->Rollback(); |
| 113 work_item2->Rollback(); | 113 work_item2->Rollback(); |
| 114 | 114 |
| 115 // Rollback should delete the value. | 115 // Rollback should delete the value. |
| 116 EXPECT_FALSE(key.HasValue(name_str.c_str())); | 116 EXPECT_FALSE(key.HasValue(name_str.c_str())); |
| 117 EXPECT_FALSE(key.HasValue(name_dword.c_str())); | 117 EXPECT_FALSE(key.HasValue(name_dword.c_str())); |
| 118 } | 118 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 | 150 |
| 151 // Now test REG_DWORD value. | 151 // Now test REG_DWORD value. |
| 152 // Write data to the value we are going to set. | 152 // Write data to the value we are going to set. |
| 153 name.assign(L"name_dword"); | 153 name.assign(L"name_dword"); |
| 154 ASSERT_EQ(ERROR_SUCCESS, key.WriteValue(name.c_str(), dword1)); | 154 ASSERT_EQ(ERROR_SUCCESS, key.WriteValue(name.c_str(), dword1)); |
| 155 work_item.reset(WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, | 155 work_item.reset(WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, |
| 156 parent_key, name, dword2, false)); | 156 parent_key, name, dword2, false)); |
| 157 EXPECT_TRUE(work_item->Do()); | 157 EXPECT_TRUE(work_item->Do()); |
| 158 | 158 |
| 159 DWORD read_dword; | 159 DWORD read_dword; |
| 160 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name.c_str(), &read_dword)); | 160 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name.c_str(), &read_dword)); |
| 161 EXPECT_EQ(read_dword, dword1); | 161 EXPECT_EQ(read_dword, dword1); |
| 162 | 162 |
| 163 work_item->Rollback(); | 163 work_item->Rollback(); |
| 164 EXPECT_TRUE(key.HasValue(name.c_str())); | 164 EXPECT_TRUE(key.HasValue(name.c_str())); |
| 165 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name.c_str(), &read_dword)); | 165 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name.c_str(), &read_dword)); |
| 166 EXPECT_EQ(read_dword, dword1); | 166 EXPECT_EQ(read_dword, dword1); |
| 167 } | 167 } |
| 168 | 168 |
| 169 // Write to an existing value with overwrite flag. The value should be | 169 // Write to an existing value with overwrite flag. The value should be |
| 170 // overwritten. | 170 // overwritten. |
| 171 TEST_F(SetRegValueWorkItemTest, WriteExistingOverwrite) { | 171 TEST_F(SetRegValueWorkItemTest, WriteExistingOverwrite) { |
| 172 RegKey key; | 172 RegKey key; |
| 173 | 173 |
| 174 std::wstring parent_key(test_root); | 174 std::wstring parent_key(test_root); |
| 175 file_util::AppendToPath(&parent_key, L"WriteExistingOverwrite"); | 175 file_util::AppendToPath(&parent_key, L"WriteExistingOverwrite"); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // Now test REG_DWORD value. | 221 // Now test REG_DWORD value. |
| 222 // Write data to the value we are going to set. | 222 // Write data to the value we are going to set. |
| 223 name.assign(L"name_dword"); | 223 name.assign(L"name_dword"); |
| 224 ASSERT_EQ(ERROR_SUCCESS, key.WriteValue(name.c_str(), dword1)); | 224 ASSERT_EQ(ERROR_SUCCESS, key.WriteValue(name.c_str(), dword1)); |
| 225 scoped_ptr<SetRegValueWorkItem> work_item3( | 225 scoped_ptr<SetRegValueWorkItem> work_item3( |
| 226 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, name, | 226 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, name, |
| 227 dword2, true)); | 227 dword2, true)); |
| 228 EXPECT_TRUE(work_item3->Do()); | 228 EXPECT_TRUE(work_item3->Do()); |
| 229 | 229 |
| 230 DWORD read_dword; | 230 DWORD read_dword; |
| 231 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name.c_str(), &read_dword)); | 231 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name.c_str(), &read_dword)); |
| 232 EXPECT_EQ(read_dword, dword2); | 232 EXPECT_EQ(read_dword, dword2); |
| 233 | 233 |
| 234 work_item3->Rollback(); | 234 work_item3->Rollback(); |
| 235 EXPECT_TRUE(key.HasValue(name.c_str())); | 235 EXPECT_TRUE(key.HasValue(name.c_str())); |
| 236 EXPECT_EQ(ERROR_SUCCESS, key.ReadValueDW(name.c_str(), &read_dword)); | 236 EXPECT_EQ(ERROR_SUCCESS, key.ReadValue(name.c_str(), &read_dword)); |
| 237 EXPECT_EQ(read_dword, dword1); | 237 EXPECT_EQ(read_dword, dword1); |
| 238 } | 238 } |
| 239 | 239 |
| 240 // Write a value to a non-existing key. This should fail. | 240 // Write a value to a non-existing key. This should fail. |
| 241 TEST_F(SetRegValueWorkItemTest, WriteNonExistingKey) { | 241 TEST_F(SetRegValueWorkItemTest, WriteNonExistingKey) { |
| 242 RegKey key; | 242 RegKey key; |
| 243 | 243 |
| 244 std::wstring parent_key(test_root); | 244 std::wstring parent_key(test_root); |
| 245 file_util::AppendToPath(&parent_key, L"WriteNonExistingKey"); | 245 file_util::AppendToPath(&parent_key, L"WriteNonExistingKey"); |
| 246 | 246 |
| 247 std::wstring name(L"name"); | 247 std::wstring name(L"name"); |
| 248 std::wstring data(data_str_1); | 248 std::wstring data(data_str_1); |
| 249 scoped_ptr<SetRegValueWorkItem> work_item( | 249 scoped_ptr<SetRegValueWorkItem> work_item( |
| 250 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, | 250 WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, parent_key, |
| 251 name, data, false)); | 251 name, data, false)); |
| 252 EXPECT_FALSE(work_item->Do()); | 252 EXPECT_FALSE(work_item->Do()); |
| 253 | 253 |
| 254 work_item.reset(WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, | 254 work_item.reset(WorkItem::CreateSetRegValueWorkItem(HKEY_CURRENT_USER, |
| 255 parent_key, name, dword1, false)); | 255 parent_key, name, dword1, false)); |
| 256 EXPECT_FALSE(work_item->Do()); | 256 EXPECT_FALSE(work_item->Do()); |
| 257 } | 257 } |
| OLD | NEW |