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

Side by Side Diff: chrome/installer/util/create_reg_key_work_item_unittest.cc

Issue 174189: Remove uses of deprecated version of FileUtil::PathExists() in the installer.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: wstring_exe_full_path removed Created 11 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/registry.h" 8 #include "base/registry.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 17 matching lines...) Expand all
28 // Clean up the temporary key 28 // Clean up the temporary key
29 RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS); 29 RegKey key(HKEY_CURRENT_USER, L"", KEY_ALL_ACCESS);
30 ASSERT_TRUE(key.DeleteKey(test_root)); 30 ASSERT_TRUE(key.DeleteKey(test_root));
31 } 31 }
32 }; 32 };
33 }; 33 };
34 34
35 TEST_F(CreateRegKeyWorkItemTest, CreateKey) { 35 TEST_F(CreateRegKeyWorkItemTest, CreateKey) {
36 RegKey key; 36 RegKey key;
37 37
38 std::wstring parent_key(test_root); 38 FilePath parent_key(test_root);
39 file_util::AppendToPath(&parent_key, L"a"); 39 parent_key = parent_key.AppendASCII("a");
40 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, parent_key.c_str(), KEY_READ)); 40 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, parent_key.value().c_str(),
41 KEY_READ));
41 42
42 std::wstring top_key_to_create(parent_key); 43 FilePath top_key_to_create(parent_key);
43 file_util::AppendToPath(&top_key_to_create, L"b"); 44 top_key_to_create = top_key_to_create.AppendASCII("b");
44 45
45 std::wstring key_to_create(top_key_to_create); 46 FilePath key_to_create(top_key_to_create);
46 file_util::AppendToPath(&key_to_create, L"c"); 47 key_to_create = key_to_create.AppendASCII("c");
47 file_util::AppendToPath(&key_to_create, L"d"); 48 key_to_create = key_to_create.AppendASCII("d");
48 49
49 scoped_ptr<CreateRegKeyWorkItem> work_item( 50 scoped_ptr<CreateRegKeyWorkItem> work_item(
50 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER, key_to_create)); 51 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER,
52 key_to_create.ToWStringHack()));
51 53
52 EXPECT_TRUE(work_item->Do()); 54 EXPECT_TRUE(work_item->Do());
53 55
54 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.c_str(), KEY_READ)); 56 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.value().c_str(),
57 KEY_READ));
55 58
56 work_item->Rollback(); 59 work_item->Rollback();
57 60
58 // Rollback should delete all the keys up to top_key_to_create. 61 // Rollback should delete all the keys up to top_key_to_create.
59 EXPECT_FALSE(key.Open(HKEY_CURRENT_USER, top_key_to_create.c_str(), 62 EXPECT_FALSE(key.Open(HKEY_CURRENT_USER, top_key_to_create.value().c_str(),
60 KEY_READ)); 63 KEY_READ));
61 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, parent_key.c_str(), KEY_READ)); 64 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, parent_key.value().c_str(),
65 KEY_READ));
62 } 66 }
63 67
64 TEST_F(CreateRegKeyWorkItemTest, CreateExistingKey) { 68 TEST_F(CreateRegKeyWorkItemTest, CreateExistingKey) {
65 RegKey key; 69 RegKey key;
66 70
67 std::wstring key_to_create(test_root); 71 FilePath key_to_create(test_root);
68 file_util::AppendToPath(&key_to_create, L"aa"); 72 key_to_create = key_to_create.AppendASCII("aa");
69 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, key_to_create.c_str(), KEY_READ)); 73 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, key_to_create.value().c_str(),
74 KEY_READ));
70 75
71 scoped_ptr<CreateRegKeyWorkItem> work_item( 76 scoped_ptr<CreateRegKeyWorkItem> work_item(
72 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER, key_to_create)); 77 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER,
78 key_to_create.ToWStringHack()));
73 79
74 EXPECT_TRUE(work_item->Do()); 80 EXPECT_TRUE(work_item->Do());
75 81
76 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.c_str(), KEY_READ)); 82 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.value().c_str(),
83 KEY_READ));
77 84
78 work_item->Rollback(); 85 work_item->Rollback();
79 86
80 // Rollback should not remove the key since it exists before 87 // Rollback should not remove the key since it exists before
81 // the CreateRegKeyWorkItem is called. 88 // the CreateRegKeyWorkItem is called.
82 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.c_str(), KEY_READ)); 89 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.value().c_str(),
90 KEY_READ));
83 } 91 }
84 92
85 TEST_F(CreateRegKeyWorkItemTest, CreateSharedKey) { 93 TEST_F(CreateRegKeyWorkItemTest, CreateSharedKey) {
86 RegKey key; 94 RegKey key;
87 std::wstring key_to_create_1(test_root); 95 FilePath key_to_create_1(test_root);
88 file_util::AppendToPath(&key_to_create_1, L"aaa"); 96 key_to_create_1 = key_to_create_1.AppendASCII("aaa");
89 97
90 std::wstring key_to_create_2(key_to_create_1); 98 FilePath key_to_create_2(key_to_create_1);
91 file_util::AppendToPath(&key_to_create_2, L"bbb"); 99 key_to_create_2 = key_to_create_2.AppendASCII("bbb");
92 100
93 std::wstring key_to_create_3(key_to_create_2); 101 FilePath key_to_create_3(key_to_create_2);
94 file_util::AppendToPath(&key_to_create_3, L"ccc"); 102 key_to_create_3 = key_to_create_3.AppendASCII("ccc");
95 103
96 scoped_ptr<CreateRegKeyWorkItem> work_item( 104 scoped_ptr<CreateRegKeyWorkItem> work_item(
97 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER, 105 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER,
98 key_to_create_3)); 106 key_to_create_3.ToWStringHack()));
99 107
100 EXPECT_TRUE(work_item->Do()); 108 EXPECT_TRUE(work_item->Do());
101 109
102 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_3.c_str(), KEY_READ)); 110 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_3.value().c_str(),
111 KEY_READ));
103 112
104 // Create another key under key_to_create_2 113 // Create another key under key_to_create_2
105 std::wstring key_to_create_4(key_to_create_2); 114 FilePath key_to_create_4(key_to_create_2);
106 file_util::AppendToPath(&key_to_create_4, L"ddd"); 115 key_to_create_4 = key_to_create_4.AppendASCII("ddd");
107 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, key_to_create_4.c_str(), 116 ASSERT_TRUE(key.Create(HKEY_CURRENT_USER, key_to_create_4.value().c_str(),
108 KEY_READ)); 117 KEY_READ));
109 118
110 work_item->Rollback(); 119 work_item->Rollback();
111 120
112 // Rollback should delete key_to_create_3. 121 // Rollback should delete key_to_create_3.
113 EXPECT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_3.c_str(), KEY_READ)); 122 EXPECT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_3.value().c_str(),
123 KEY_READ));
114 124
115 // Rollback should not delete key_to_create_2 as it is shared. 125 // Rollback should not delete key_to_create_2 as it is shared.
116 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_2.c_str(), KEY_READ)); 126 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_2.value().c_str(),
117 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_4.c_str(), KEY_READ)); 127 KEY_READ));
128 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_4.value().c_str(),
129 KEY_READ));
118 } 130 }
119 131
120 TEST_F(CreateRegKeyWorkItemTest, RollbackWithMissingKey) { 132 TEST_F(CreateRegKeyWorkItemTest, RollbackWithMissingKey) {
121 RegKey key; 133 RegKey key;
122 std::wstring key_to_create_1(test_root); 134 FilePath key_to_create_1(test_root);
123 file_util::AppendToPath(&key_to_create_1, L"aaaa"); 135 key_to_create_1 = key_to_create_1.AppendASCII("aaaa");
124 136
125 std::wstring key_to_create_2(key_to_create_1); 137 FilePath key_to_create_2(key_to_create_1);
126 file_util::AppendToPath(&key_to_create_2, L"bbbb"); 138 key_to_create_2 = key_to_create_2.AppendASCII("bbbb");
127 139
128 std::wstring key_to_create_3(key_to_create_2); 140 FilePath key_to_create_3(key_to_create_2);
129 file_util::AppendToPath(&key_to_create_3, L"cccc"); 141 key_to_create_3 = key_to_create_3.AppendASCII("cccc");
130 142
131 scoped_ptr<CreateRegKeyWorkItem> work_item( 143 scoped_ptr<CreateRegKeyWorkItem> work_item(
132 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER, 144 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER,
133 key_to_create_3)); 145 key_to_create_3.ToWStringHack()));
134 146
135 EXPECT_TRUE(work_item->Do()); 147 EXPECT_TRUE(work_item->Do());
136 148
137 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_3.c_str(), KEY_READ)); 149 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create_3.value().c_str(),
150 KEY_READ));
138 key.Close(); 151 key.Close();
139 152
140 // now delete key_to_create_3 153 // now delete key_to_create_3
141 ASSERT_TRUE(RegDeleteKey(HKEY_CURRENT_USER, key_to_create_3.c_str()) == 154 ASSERT_TRUE(RegDeleteKey(HKEY_CURRENT_USER,
142 ERROR_SUCCESS); 155 key_to_create_3.value().c_str()) == ERROR_SUCCESS);
143 ASSERT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_3.c_str(), 156 ASSERT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_3.value().c_str(),
144 KEY_READ)); 157 KEY_READ));
145 158
146 work_item->Rollback(); 159 work_item->Rollback();
147 160
148 // key_to_create_3 has already been deleted, Rollback should delete 161 // key_to_create_3 has already been deleted, Rollback should delete
149 // the rest. 162 // the rest.
150 ASSERT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_1.c_str(), 163 ASSERT_FALSE(key.Open(HKEY_CURRENT_USER, key_to_create_1.value().c_str(),
151 KEY_READ)); 164 KEY_READ));
152 } 165 }
153 166
154 TEST_F(CreateRegKeyWorkItemTest, RollbackWithSetValue) { 167 TEST_F(CreateRegKeyWorkItemTest, RollbackWithSetValue) {
155 RegKey key; 168 RegKey key;
156 169
157 std::wstring key_to_create(test_root); 170 FilePath key_to_create(test_root);
158 file_util::AppendToPath(&key_to_create, L"aaaaa"); 171 key_to_create = key_to_create.AppendASCII("aaaaa");
159 172
160 scoped_ptr<CreateRegKeyWorkItem> work_item( 173 scoped_ptr<CreateRegKeyWorkItem> work_item(
161 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER, key_to_create)); 174 WorkItem::CreateCreateRegKeyWorkItem(HKEY_CURRENT_USER,
175 key_to_create.ToWStringHack()));
162 176
163 EXPECT_TRUE(work_item->Do()); 177 EXPECT_TRUE(work_item->Do());
164 178
165 // Write a value under the key we just created. 179 // Write a value under the key we just created.
166 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.c_str(), 180 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.value().c_str(),
167 KEY_READ | KEY_SET_VALUE)); 181 KEY_READ | KEY_SET_VALUE));
168 EXPECT_TRUE(key.WriteValue(L"name", L"value")); 182 EXPECT_TRUE(key.WriteValue(L"name", L"value"));
169 key.Close(); 183 key.Close();
170 184
171 work_item->Rollback(); 185 work_item->Rollback();
172 186
173 // Rollback should not remove the key. 187 // Rollback should not remove the key.
174 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.c_str(), KEY_READ)); 188 EXPECT_TRUE(key.Open(HKEY_CURRENT_USER, key_to_create.value().c_str(),
189 KEY_READ));
175 } 190 }
OLDNEW
« no previous file with comments | « chrome/installer/util/create_dir_work_item_unittest.cc ('k') | chrome/installer/util/delete_tree_work_item_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698