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

Side by Side Diff: chrome/browser/ui/app_list/arc/arc_app_unittest.cc

Issue 2364113002: Replace deprecated ScopedVector<T> in arc::FakeAppInstance (Closed)
Patch Set: Clean up header inclusions Created 4 years, 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <map> 9 #include <map>
10 #include <memory>
10 #include <string> 11 #include <string>
11 #include <vector> 12 #include <vector>
12 13
13 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
14 #include "base/files/file_util.h" 15 #include "base/files/file_util.h"
15 #include "base/macros.h" 16 #include "base/macros.h"
16 #include "base/memory/scoped_vector.h"
17 #include "base/run_loop.h" 17 #include "base/run_loop.h"
18 #include "base/task_runner_util.h" 18 #include "base/task_runner_util.h"
19 #include "base/values.h" 19 #include "base/values.h"
20 #include "chrome/browser/chromeos/arc/arc_support_host.h" 20 #include "chrome/browser/chromeos/arc/arc_support_host.h"
21 #include "chrome/browser/extensions/extension_service.h" 21 #include "chrome/browser/extensions/extension_service.h"
22 #include "chrome/browser/ui/app_list/app_list_test_util.h" 22 #include "chrome/browser/ui/app_list/app_list_test_util.h"
23 #include "chrome/browser/ui/app_list/arc/arc_app_icon.h" 23 #include "chrome/browser/ui/app_list/arc/arc_app_icon.h"
24 #include "chrome/browser/ui/app_list/arc/arc_app_icon_loader.h" 24 #include "chrome/browser/ui/app_list/arc/arc_app_icon_loader.h"
25 #include "chrome/browser/ui/app_list/arc/arc_app_item.h" 25 #include "chrome/browser/ui/app_list/arc/arc_app_item.h"
26 #include "chrome/browser/ui/app_list/arc/arc_app_launcher.h" 26 #include "chrome/browser/ui/app_list/arc/arc_app_launcher.h"
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 const arc::mojom::AppInfo& app_first = fake_apps()[0]; 596 const arc::mojom::AppInfo& app_first = fake_apps()[0];
597 const arc::mojom::AppInfo& app_last = fake_apps()[0]; 597 const arc::mojom::AppInfo& app_last = fake_apps()[0];
598 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 598 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
599 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last)); 599 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last));
600 ASSERT_NE(nullptr, item_first); 600 ASSERT_NE(nullptr, item_first);
601 ASSERT_NE(nullptr, item_last); 601 ASSERT_NE(nullptr, item_last);
602 item_first->Activate(0); 602 item_first->Activate(0);
603 item_last->Activate(0); 603 item_last->Activate(0);
604 item_first->Activate(0); 604 item_first->Activate(0);
605 605
606 const ScopedVector<arc::FakeAppInstance::Request>& launch_requests = 606 const std::vector<std::unique_ptr<arc::FakeAppInstance::Request>>&
607 app_instance()->launch_requests(); 607 launch_requests = app_instance()->launch_requests();
608 ASSERT_EQ(3u, launch_requests.size()); 608 ASSERT_EQ(3u, launch_requests.size());
609 EXPECT_TRUE(launch_requests[0]->IsForApp(app_first)); 609 EXPECT_TRUE(launch_requests[0]->IsForApp(app_first));
610 EXPECT_TRUE(launch_requests[1]->IsForApp(app_last)); 610 EXPECT_TRUE(launch_requests[1]->IsForApp(app_last));
611 EXPECT_TRUE(launch_requests[2]->IsForApp(app_first)); 611 EXPECT_TRUE(launch_requests[2]->IsForApp(app_first));
612 612
613 // Test an attempt to launch of a not-ready app. 613 // Test an attempt to launch of a not-ready app.
614 arc_test()->StopArcInstance(); 614 arc_test()->StopArcInstance();
615 item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 615 item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
616 ASSERT_NE(nullptr, item_first); 616 ASSERT_NE(nullptr, item_first);
617 size_t launch_request_count_before = app_instance()->launch_requests().size(); 617 size_t launch_request_count_before = app_instance()->launch_requests().size();
(...skipping 14 matching lines...) Expand all
632 const arc::mojom::ShortcutInfo& app_first = fake_shortcuts()[0]; 632 const arc::mojom::ShortcutInfo& app_first = fake_shortcuts()[0];
633 const arc::mojom::ShortcutInfo& app_last = fake_shortcuts()[0]; 633 const arc::mojom::ShortcutInfo& app_last = fake_shortcuts()[0];
634 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 634 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
635 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last)); 635 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last));
636 ASSERT_NE(nullptr, item_first); 636 ASSERT_NE(nullptr, item_first);
637 ASSERT_NE(nullptr, item_last); 637 ASSERT_NE(nullptr, item_last);
638 item_first->Activate(0); 638 item_first->Activate(0);
639 item_last->Activate(0); 639 item_last->Activate(0);
640 item_first->Activate(0); 640 item_first->Activate(0);
641 641
642 const ScopedVector<mojo::String>& launch_intents = 642 const std::vector<std::unique_ptr<mojo::String>>& launch_intents =
643 app_instance()->launch_intents(); 643 app_instance()->launch_intents();
644 ASSERT_EQ(3u, launch_intents.size()); 644 ASSERT_EQ(3u, launch_intents.size());
645 EXPECT_EQ(app_first.intent_uri, *launch_intents[0]); 645 EXPECT_EQ(app_first.intent_uri, *launch_intents[0]);
646 EXPECT_EQ(app_last.intent_uri, *launch_intents[1]); 646 EXPECT_EQ(app_last.intent_uri, *launch_intents[1]);
647 EXPECT_EQ(app_first.intent_uri, *launch_intents[2]); 647 EXPECT_EQ(app_first.intent_uri, *launch_intents[2]);
648 648
649 // Test an attempt to launch of a not-ready shortcut. 649 // Test an attempt to launch of a not-ready shortcut.
650 arc_test()->StopArcInstance(); 650 arc_test()->StopArcInstance();
651 item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 651 item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
652 ASSERT_NE(nullptr, item_first); 652 ASSERT_NE(nullptr, item_first);
(...skipping 27 matching lines...) Expand all
680 // This does not result in an icon being loaded, so WaitForIconReady 680 // This does not result in an icon being loaded, so WaitForIconReady
681 // cannot be used. 681 // cannot be used.
682 content::BrowserThread::GetBlockingPool()->FlushForTesting(); 682 content::BrowserThread::GetBlockingPool()->FlushForTesting();
683 base::RunLoop().RunUntilIdle(); 683 base::RunLoop().RunUntilIdle();
684 } 684 }
685 } 685 }
686 686
687 const size_t expected_size = scale_factors.size() * fake_apps().size(); 687 const size_t expected_size = scale_factors.size() * fake_apps().size();
688 688
689 // At this moment we should receive all requests for icon loading. 689 // At this moment we should receive all requests for icon loading.
690 const ScopedVector<arc::FakeAppInstance::IconRequest>& icon_requests = 690 const std::vector<std::unique_ptr<arc::FakeAppInstance::IconRequest>>&
691 app_instance()->icon_requests(); 691 icon_requests = app_instance()->icon_requests();
692 EXPECT_EQ(expected_size, icon_requests.size()); 692 EXPECT_EQ(expected_size, icon_requests.size());
693 std::map<std::string, uint32_t> app_masks; 693 std::map<std::string, uint32_t> app_masks;
694 for (size_t i = 0; i < icon_requests.size(); ++i) { 694 for (size_t i = 0; i < icon_requests.size(); ++i) {
695 const arc::FakeAppInstance::IconRequest* icon_request = icon_requests[i]; 695 const arc::FakeAppInstance::IconRequest* icon_request =
696 icon_requests[i].get();
696 const std::string id = ArcAppListPrefs::GetAppId( 697 const std::string id = ArcAppListPrefs::GetAppId(
697 icon_request->package_name(), icon_request->activity()); 698 icon_request->package_name(), icon_request->activity());
698 // Make sure no double requests. 699 // Make sure no double requests.
699 EXPECT_NE(app_masks[id], 700 EXPECT_NE(app_masks[id],
700 app_masks[id] | (1 << icon_request->scale_factor())); 701 app_masks[id] | (1 << icon_request->scale_factor()));
701 app_masks[id] |= (1 << icon_request->scale_factor()); 702 app_masks[id] |= (1 << icon_request->scale_factor());
702 } 703 }
703 704
704 // Validate that we have a request for each icon for each supported scale 705 // Validate that we have a request for each icon for each supported scale
705 // factor. 706 // factor.
(...skipping 28 matching lines...) Expand all
734 const base::FilePath icon_path = 735 const base::FilePath icon_path =
735 prefs->GetIconPath(ArcAppTest::GetAppId(shortcut), scale_factor); 736 prefs->GetIconPath(ArcAppTest::GetAppId(shortcut), scale_factor);
736 EXPECT_FALSE(base::PathExists(icon_path)); 737 EXPECT_FALSE(base::PathExists(icon_path));
737 738
738 app_item->icon().GetRepresentation(scale); 739 app_item->icon().GetRepresentation(scale);
739 WaitForIconReady(prefs, ArcAppTest::GetAppId(shortcut), scale_factor); 740 WaitForIconReady(prefs, ArcAppTest::GetAppId(shortcut), scale_factor);
740 } 741 }
741 742
742 // At this moment we should receive all requests for icon loading. 743 // At this moment we should receive all requests for icon loading.
743 const size_t expected_size = scale_factors.size(); 744 const size_t expected_size = scale_factors.size();
744 const ScopedVector<arc::FakeAppInstance::ShortcutIconRequest>& icon_requests = 745 const std::vector<std::unique_ptr<arc::FakeAppInstance::ShortcutIconRequest>>&
745 app_instance()->shortcut_icon_requests(); 746 icon_requests = app_instance()->shortcut_icon_requests();
746 EXPECT_EQ(expected_size, icon_requests.size()); 747 EXPECT_EQ(expected_size, icon_requests.size());
747 uint32_t app_mask = 0; 748 uint32_t app_mask = 0;
748 for (size_t i = 0; i < icon_requests.size(); ++i) { 749 for (size_t i = 0; i < icon_requests.size(); ++i) {
749 const arc::FakeAppInstance::ShortcutIconRequest* icon_request = 750 const arc::FakeAppInstance::ShortcutIconRequest* icon_request =
750 icon_requests[i]; 751 icon_requests[i].get();
751 EXPECT_EQ(shortcut.icon_resource_id, icon_request->icon_resource_id()); 752 EXPECT_EQ(shortcut.icon_resource_id, icon_request->icon_resource_id());
752 753
753 // Make sure no double requests. 754 // Make sure no double requests.
754 EXPECT_NE(app_mask, app_mask | (1 << icon_request->scale_factor())); 755 EXPECT_NE(app_mask, app_mask | (1 << icon_request->scale_factor()));
755 app_mask |= (1 << icon_request->scale_factor()); 756 app_mask |= (1 << icon_request->scale_factor());
756 } 757 }
757 758
758 // Validate that we have a request for each icon for each supported scale 759 // Validate that we have a request for each icon for each supported scale
759 // factor. 760 // factor.
760 EXPECT_EQ(app_mask, expected_mask); 761 EXPECT_EQ(app_mask, expected_mask);
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 app_instance()->SendPackageUninstalled(all_apps[0].package_name); 1114 app_instance()->SendPackageUninstalled(all_apps[0].package_name);
1114 all_apps.erase(all_apps.begin()); 1115 all_apps.erase(all_apps.begin());
1115 ValidateHaveApps(all_apps); 1116 ValidateHaveApps(all_apps);
1116 1117
1117 // OptOut and default apps should exist minus first. 1118 // OptOut and default apps should exist minus first.
1118 arc_test()->arc_auth_service()->DisableArc(); 1119 arc_test()->arc_auth_service()->DisableArc();
1119 all_apps = fake_default_apps(); 1120 all_apps = fake_default_apps();
1120 all_apps.erase(all_apps.begin()); 1121 all_apps.erase(all_apps.begin());
1121 ValidateHaveApps(all_apps); 1122 ValidateHaveApps(all_apps);
1122 } 1123 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698