OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/chromeos/file_manager/file_tasks.h" | 5 #include "chrome/browser/chromeos/file_manager/file_tasks.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 pref_service->registry()->RegisterDictionaryPref( | 40 pref_service->registry()->RegisterDictionaryPref( |
41 prefs::kDefaultTasksByMimeType); | 41 prefs::kDefaultTasksByMimeType); |
42 pref_service->registry()->RegisterDictionaryPref( | 42 pref_service->registry()->RegisterDictionaryPref( |
43 prefs::kDefaultTasksBySuffix); | 43 prefs::kDefaultTasksBySuffix); |
44 } | 44 } |
45 | 45 |
46 // Updates the default task preferences per the given dictionary values. Used | 46 // Updates the default task preferences per the given dictionary values. Used |
47 // for testing ChooseAndSetDefaultTask. | 47 // for testing ChooseAndSetDefaultTask. |
48 void UpdateDefaultTaskPreferences(TestingPrefServiceSimple* pref_service, | 48 void UpdateDefaultTaskPreferences(TestingPrefServiceSimple* pref_service, |
49 const DictionaryValue& mime_types, | 49 const base::DictionaryValue& mime_types, |
50 const DictionaryValue& suffixes) { | 50 const base::DictionaryValue& suffixes) { |
51 DCHECK(pref_service); | 51 DCHECK(pref_service); |
52 | 52 |
53 pref_service->Set(prefs::kDefaultTasksByMimeType, mime_types); | 53 pref_service->Set(prefs::kDefaultTasksByMimeType, mime_types); |
54 pref_service->Set(prefs::kDefaultTasksBySuffix, suffixes); | 54 pref_service->Set(prefs::kDefaultTasksBySuffix, suffixes); |
55 } | 55 } |
56 | 56 |
57 } // namespace | 57 } // namespace |
58 | 58 |
59 TEST(FileManagerFileTasksTest, | 59 TEST(FileManagerFileTasksTest, |
60 FullTaskDescriptor_NonDriveAppWithIconAndDefault) { | 60 FullTaskDescriptor_NonDriveAppWithIconAndDefault) { |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 base::FilePath::FromUTF8Unsafe("foo.txt"), | 282 base::FilePath::FromUTF8Unsafe("foo.txt"), |
283 "text/plain")); | 283 "text/plain")); |
284 | 284 |
285 // None of them should be chosen as default, as nothing is set in the | 285 // None of them should be chosen as default, as nothing is set in the |
286 // preferences. | 286 // preferences. |
287 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); | 287 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); |
288 EXPECT_FALSE(tasks[0].is_default()); | 288 EXPECT_FALSE(tasks[0].is_default()); |
289 EXPECT_FALSE(tasks[1].is_default()); | 289 EXPECT_FALSE(tasks[1].is_default()); |
290 | 290 |
291 // Set Text.app as default for "text/plain" in the preferences. | 291 // Set Text.app as default for "text/plain" in the preferences. |
292 DictionaryValue empty; | 292 base::DictionaryValue empty; |
293 DictionaryValue mime_types; | 293 base::DictionaryValue mime_types; |
294 mime_types.SetStringWithoutPathExpansion( | 294 mime_types.SetStringWithoutPathExpansion( |
295 "text/plain", | 295 "text/plain", |
296 TaskDescriptorToId(text_app_task)); | 296 TaskDescriptorToId(text_app_task)); |
297 UpdateDefaultTaskPreferences(&pref_service, mime_types, empty); | 297 UpdateDefaultTaskPreferences(&pref_service, mime_types, empty); |
298 | 298 |
299 // Text.app should be chosen as default. | 299 // Text.app should be chosen as default. |
300 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); | 300 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); |
301 EXPECT_TRUE(tasks[0].is_default()); | 301 EXPECT_TRUE(tasks[0].is_default()); |
302 EXPECT_FALSE(tasks[1].is_default()); | 302 EXPECT_FALSE(tasks[1].is_default()); |
303 | 303 |
304 // Change it back to non-default for testing further. | 304 // Change it back to non-default for testing further. |
305 tasks[0].set_is_default(false); | 305 tasks[0].set_is_default(false); |
306 | 306 |
307 // Clear the preferences and make sure none of them are default. | 307 // Clear the preferences and make sure none of them are default. |
308 UpdateDefaultTaskPreferences(&pref_service, empty, empty); | 308 UpdateDefaultTaskPreferences(&pref_service, empty, empty); |
309 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); | 309 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); |
310 EXPECT_FALSE(tasks[0].is_default()); | 310 EXPECT_FALSE(tasks[0].is_default()); |
311 EXPECT_FALSE(tasks[1].is_default()); | 311 EXPECT_FALSE(tasks[1].is_default()); |
312 | 312 |
313 // Set Nice.app as default for ".txt" in the preferences. | 313 // Set Nice.app as default for ".txt" in the preferences. |
314 DictionaryValue suffixes; | 314 base::DictionaryValue suffixes; |
315 suffixes.SetStringWithoutPathExpansion( | 315 suffixes.SetStringWithoutPathExpansion( |
316 ".txt", | 316 ".txt", |
317 TaskDescriptorToId(nice_app_task)); | 317 TaskDescriptorToId(nice_app_task)); |
318 UpdateDefaultTaskPreferences(&pref_service, empty, suffixes); | 318 UpdateDefaultTaskPreferences(&pref_service, empty, suffixes); |
319 | 319 |
320 // Now Nice.app should be chosen as default. | 320 // Now Nice.app should be chosen as default. |
321 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); | 321 ChooseAndSetDefaultTask(pref_service, path_mime_set, &tasks); |
322 EXPECT_FALSE(tasks[0].is_default()); | 322 EXPECT_FALSE(tasks[0].is_default()); |
323 EXPECT_TRUE(tasks[1].is_default()); | 323 EXPECT_TRUE(tasks[1].is_default()); |
324 } | 324 } |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 &drive_app_registry, | 727 &drive_app_registry, |
728 path_mime_set, | 728 path_mime_set, |
729 file_urls, | 729 file_urls, |
730 &tasks); | 730 &tasks); |
731 ASSERT_EQ(1U, tasks.size()); | 731 ASSERT_EQ(1U, tasks.size()); |
732 EXPECT_EQ(kFileManagerAppId, tasks[0].task_descriptor().app_id); | 732 EXPECT_EQ(kFileManagerAppId, tasks[0].task_descriptor().app_id); |
733 } | 733 } |
734 | 734 |
735 } // namespace file_tasks | 735 } // namespace file_tasks |
736 } // namespace file_manager. | 736 } // namespace file_manager. |
OLD | NEW |