OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "apps/saved_devices_service.h" | 5 #include "apps/saved_devices_service.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "base/test/values_test_util.h" | 8 #include "base/test/values_test_util.h" |
9 #include "chrome/browser/extensions/test_extension_environment.h" | 9 #include "chrome/browser/extensions/test_extension_environment.h" |
10 #include "chrome/test/base/testing_profile.h" | 10 #include "chrome/test/base/testing_profile.h" |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 // This is necessary as writing out registered devices happens in a task on | 161 // This is necessary as writing out registered devices happens in a task on |
162 // the UI thread. | 162 // the UI thread. |
163 base::RunLoop run_loop; | 163 base::RunLoop run_loop; |
164 run_loop.RunUntilIdle(); | 164 run_loop.RunUntilIdle(); |
165 | 165 |
166 ASSERT_TRUE(saved_devices->IsRegistered(device0)); | 166 ASSERT_TRUE(saved_devices->IsRegistered(device0)); |
167 ASSERT_TRUE(saved_devices->IsRegistered(device1)); | 167 ASSERT_TRUE(saved_devices->IsRegistered(device1)); |
168 ASSERT_FALSE(saved_devices->IsRegistered(device2)); | 168 ASSERT_FALSE(saved_devices->IsRegistered(device2)); |
169 ASSERT_FALSE(saved_devices->IsRegistered(device3)); | 169 ASSERT_FALSE(saved_devices->IsRegistered(device3)); |
170 | 170 |
171 std::vector<SavedDeviceEntry> device_entries = | 171 std::vector<base::string16> device_messages = |
172 service_->GetAllDevices(extension_->id()); | 172 service_->GetPermissionMessageStrings(extension_->id()); |
173 ASSERT_EQ(1U, device_entries.size()); | 173 ASSERT_EQ(1U, device_messages.size()); |
174 ASSERT_EQ(base::ASCIIToUTF16("ABCDE"), device_entries[0].serial_number); | 174 ASSERT_NE(device_messages[0].find(base::ASCIIToUTF16("ABCDE")), |
| 175 base::string16::npos); |
175 | 176 |
176 device1->NotifyDisconnect(); | 177 device1->NotifyDisconnect(); |
177 | 178 |
178 ASSERT_TRUE(saved_devices->IsRegistered(device0)); | 179 ASSERT_TRUE(saved_devices->IsRegistered(device0)); |
179 ASSERT_FALSE(saved_devices->IsRegistered(device1)); | 180 ASSERT_FALSE(saved_devices->IsRegistered(device1)); |
180 ASSERT_FALSE(saved_devices->IsRegistered(device2)); | 181 ASSERT_FALSE(saved_devices->IsRegistered(device2)); |
181 ASSERT_FALSE(saved_devices->IsRegistered(device3)); | 182 ASSERT_FALSE(saved_devices->IsRegistered(device3)); |
182 | 183 |
183 service_->Clear(extension_->id()); | 184 service_->Clear(extension_->id()); |
184 | 185 |
185 // App is normally restarted, clearing its reference to the SavedDevices. | 186 // App is normally restarted, clearing its reference to the SavedDevices. |
186 saved_devices = service_->GetOrInsert(extension_->id()); | 187 saved_devices = service_->GetOrInsert(extension_->id()); |
187 ASSERT_FALSE(saved_devices->IsRegistered(device0)); | 188 ASSERT_FALSE(saved_devices->IsRegistered(device0)); |
188 device_entries = service_->GetAllDevices(extension_->id()); | 189 device_messages = service_->GetPermissionMessageStrings(extension_->id()); |
189 ASSERT_EQ(0U, device_entries.size()); | 190 ASSERT_EQ(0U, device_messages.size()); |
190 } | 191 } |
191 | 192 |
192 TEST_F(SavedDevicesServiceTest, LoadPrefs) { | 193 TEST_F(SavedDevicesServiceTest, LoadPrefs) { |
193 scoped_ptr<base::Value> prefs_value = base::test::ParseJson( | 194 scoped_ptr<base::Value> prefs_value = base::test::ParseJson( |
194 "[" | 195 "[" |
195 " {" | 196 " {" |
196 " \"product_id\": 0," | 197 " \"product_id\": 0," |
197 " \"serial_number\": \"ABCDE\"," | 198 " \"serial_number\": \"ABCDE\"," |
198 " \"type\": \"usb\"," | 199 " \"type\": \"usb\"," |
199 " \"vendor_id\": 0" | 200 " \"vendor_id\": 0" |
200 " }" | 201 " }" |
201 "]"); | 202 "]"); |
202 env_.GetExtensionPrefs()->UpdateExtensionPref( | 203 env_.GetExtensionPrefs()->UpdateExtensionPref( |
203 extension_->id(), "devices", prefs_value.release()); | 204 extension_->id(), "devices", prefs_value.release()); |
204 | 205 |
205 SavedDevicesService::SavedDevices* saved_devices = | 206 SavedDevicesService::SavedDevices* saved_devices = |
206 service_->GetOrInsert(extension_->id()); | 207 service_->GetOrInsert(extension_->id()); |
207 ASSERT_TRUE(saved_devices->IsRegistered(device0)); | 208 ASSERT_TRUE(saved_devices->IsRegistered(device0)); |
208 ASSERT_FALSE(saved_devices->IsRegistered(device1)); | 209 ASSERT_FALSE(saved_devices->IsRegistered(device1)); |
209 ASSERT_FALSE(saved_devices->IsRegistered(device2)); | 210 ASSERT_FALSE(saved_devices->IsRegistered(device2)); |
210 ASSERT_FALSE(saved_devices->IsRegistered(device3)); | 211 ASSERT_FALSE(saved_devices->IsRegistered(device3)); |
211 } | 212 } |
212 | 213 |
213 } // namespace apps | 214 } // namespace apps |
OLD | NEW |