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

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

Powered by Google App Engine
This is Rietveld 408576698