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

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

Issue 2144013002: Reland of arc: Use the new InstanceHolder for unittests (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@bridge_refactor_first
Patch Set: Fixed bad merge Created 4 years, 5 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
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_test.cc ('k') | components/arc/arc_bridge_service.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
(...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 app_instance()->SendRefreshAppList(fake_apps()); 546 app_instance()->SendRefreshAppList(fake_apps());
547 547
548 // Simulate item activate. 548 // Simulate item activate.
549 const arc::mojom::AppInfo& app_first = fake_apps()[0]; 549 const arc::mojom::AppInfo& app_first = fake_apps()[0];
550 const arc::mojom::AppInfo& app_last = fake_apps()[0]; 550 const arc::mojom::AppInfo& app_last = fake_apps()[0];
551 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 551 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
552 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last)); 552 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last));
553 ASSERT_NE(nullptr, item_first); 553 ASSERT_NE(nullptr, item_first);
554 ASSERT_NE(nullptr, item_last); 554 ASSERT_NE(nullptr, item_last);
555 item_first->Activate(0); 555 item_first->Activate(0);
556 app_instance()->WaitForIncomingMethodCall();
557 item_last->Activate(0); 556 item_last->Activate(0);
558 app_instance()->WaitForIncomingMethodCall();
559 item_first->Activate(0); 557 item_first->Activate(0);
560 app_instance()->WaitForIncomingMethodCall();
561 558
562 const ScopedVector<arc::FakeAppInstance::Request>& launch_requests = 559 const ScopedVector<arc::FakeAppInstance::Request>& launch_requests =
563 app_instance()->launch_requests(); 560 app_instance()->launch_requests();
564 ASSERT_EQ(3u, launch_requests.size()); 561 ASSERT_EQ(3u, launch_requests.size());
565 EXPECT_TRUE(launch_requests[0]->IsForApp(app_first)); 562 EXPECT_TRUE(launch_requests[0]->IsForApp(app_first));
566 EXPECT_TRUE(launch_requests[1]->IsForApp(app_last)); 563 EXPECT_TRUE(launch_requests[1]->IsForApp(app_last));
567 EXPECT_TRUE(launch_requests[2]->IsForApp(app_first)); 564 EXPECT_TRUE(launch_requests[2]->IsForApp(app_first));
568 565
569 // Test an attempt to launch of a not-ready app. 566 // Test an attempt to launch of a not-ready app.
570 bridge_service()->SetStopped(); 567 bridge_service()->SetStopped();
(...skipping 15 matching lines...) Expand all
586 app_instance()->SendInstallShortcuts(fake_shortcuts()); 583 app_instance()->SendInstallShortcuts(fake_shortcuts());
587 584
588 // Simulate item activate. 585 // Simulate item activate.
589 const arc::mojom::ShortcutInfo& app_first = fake_shortcuts()[0]; 586 const arc::mojom::ShortcutInfo& app_first = fake_shortcuts()[0];
590 const arc::mojom::ShortcutInfo& app_last = fake_shortcuts()[0]; 587 const arc::mojom::ShortcutInfo& app_last = fake_shortcuts()[0];
591 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first)); 588 ArcAppItem* item_first = FindArcItem(ArcAppTest::GetAppId(app_first));
592 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last)); 589 ArcAppItem* item_last = FindArcItem(ArcAppTest::GetAppId(app_last));
593 ASSERT_NE(nullptr, item_first); 590 ASSERT_NE(nullptr, item_first);
594 ASSERT_NE(nullptr, item_last); 591 ASSERT_NE(nullptr, item_last);
595 item_first->Activate(0); 592 item_first->Activate(0);
596 app_instance()->WaitForIncomingMethodCall();
597 item_last->Activate(0); 593 item_last->Activate(0);
598 app_instance()->WaitForIncomingMethodCall();
599 item_first->Activate(0); 594 item_first->Activate(0);
600 app_instance()->WaitForIncomingMethodCall();
601 595
602 const ScopedVector<mojo::String>& launch_intents = 596 const ScopedVector<mojo::String>& launch_intents =
603 app_instance()->launch_intents(); 597 app_instance()->launch_intents();
604 ASSERT_EQ(3u, launch_intents.size()); 598 ASSERT_EQ(3u, launch_intents.size());
605 EXPECT_EQ(app_first.intent_uri, *launch_intents[0]); 599 EXPECT_EQ(app_first.intent_uri, *launch_intents[0]);
606 EXPECT_EQ(app_last.intent_uri, *launch_intents[1]); 600 EXPECT_EQ(app_last.intent_uri, *launch_intents[1]);
607 EXPECT_EQ(app_first.intent_uri, *launch_intents[2]); 601 EXPECT_EQ(app_first.intent_uri, *launch_intents[2]);
608 602
609 // Test an attempt to launch of a not-ready shortcut. 603 // Test an attempt to launch of a not-ready shortcut.
610 bridge_service()->SetStopped(); 604 bridge_service()->SetStopped();
(...skipping 27 matching lines...) Expand all
638 const float scale = ui::GetScaleForScaleFactor(scale_factor); 632 const float scale = ui::GetScaleForScaleFactor(scale_factor);
639 app_item->icon().GetRepresentation(scale); 633 app_item->icon().GetRepresentation(scale);
640 634
641 // This does not result in an icon being loaded, so WaitForIconReady 635 // This does not result in an icon being loaded, so WaitForIconReady
642 // cannot be used. 636 // cannot be used.
643 content::BrowserThread::GetBlockingPool()->FlushForTesting(); 637 content::BrowserThread::GetBlockingPool()->FlushForTesting();
644 base::RunLoop().RunUntilIdle(); 638 base::RunLoop().RunUntilIdle();
645 } 639 }
646 } 640 }
647 641
648 // Normally just one call to RunUntilIdle() suffices to make sure
649 // all RequestAppIcon() calls are delivered, but on slower machines
650 // (especially when running under Valgrind), they might not get
651 // delivered on time. Wait for the remaining tasks individually.
652 const size_t expected_size = scale_factors.size() * fake_apps().size(); 642 const size_t expected_size = scale_factors.size() * fake_apps().size();
653 while (app_instance()->icon_requests().size() < expected_size) {
654 app_instance()->WaitForIncomingMethodCall();
655 }
656 643
657 // At this moment we should receive all requests for icon loading. 644 // At this moment we should receive all requests for icon loading.
658 const ScopedVector<arc::FakeAppInstance::IconRequest>& icon_requests = 645 const ScopedVector<arc::FakeAppInstance::IconRequest>& icon_requests =
659 app_instance()->icon_requests(); 646 app_instance()->icon_requests();
660 EXPECT_EQ(expected_size, icon_requests.size()); 647 EXPECT_EQ(expected_size, icon_requests.size());
661 std::map<std::string, uint32_t> app_masks; 648 std::map<std::string, uint32_t> app_masks;
662 for (size_t i = 0; i < icon_requests.size(); ++i) { 649 for (size_t i = 0; i < icon_requests.size(); ++i) {
663 const arc::FakeAppInstance::IconRequest* icon_request = icon_requests[i]; 650 const arc::FakeAppInstance::IconRequest* icon_request = icon_requests[i];
664 const std::string id = ArcAppListPrefs::GetAppId( 651 const std::string id = ArcAppListPrefs::GetAppId(
665 icon_request->package_name(), icon_request->activity()); 652 icon_request->package_name(), icon_request->activity());
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 EXPECT_FALSE(launcher3.app_launched()); 920 EXPECT_FALSE(launcher3.app_launched());
934 EXPECT_TRUE(prefs->HasObserver(&launcher3)); 921 EXPECT_TRUE(prefs->HasObserver(&launcher3));
935 922
936 EXPECT_EQ(0u, app_instance()->launch_requests().size()); 923 EXPECT_EQ(0u, app_instance()->launch_requests().size());
937 924
938 std::vector<arc::mojom::AppInfo> apps(fake_apps().begin(), 925 std::vector<arc::mojom::AppInfo> apps(fake_apps().begin(),
939 fake_apps().begin() + 2); 926 fake_apps().begin() + 2);
940 app_instance()->SendRefreshAppList(apps); 927 app_instance()->SendRefreshAppList(apps);
941 928
942 EXPECT_TRUE(launcher1.app_launched()); 929 EXPECT_TRUE(launcher1.app_launched());
943 app_instance()->WaitForIncomingMethodCall();
944 ASSERT_EQ(1u, app_instance()->launch_requests().size()); 930 ASSERT_EQ(1u, app_instance()->launch_requests().size());
945 EXPECT_TRUE(app_instance()->launch_requests()[0]->IsForApp(app1)); 931 EXPECT_TRUE(app_instance()->launch_requests()[0]->IsForApp(app1));
946 EXPECT_FALSE(launcher3.app_launched()); 932 EXPECT_FALSE(launcher3.app_launched());
947 EXPECT_FALSE(prefs->HasObserver(&launcher1)); 933 EXPECT_FALSE(prefs->HasObserver(&launcher1));
948 EXPECT_TRUE(prefs->HasObserver(&launcher3)); 934 EXPECT_TRUE(prefs->HasObserver(&launcher3));
949 935
950 ArcAppLauncher launcher2(profile(), id2, true); 936 ArcAppLauncher launcher2(profile(), id2, true);
951 EXPECT_TRUE(launcher2.app_launched()); 937 EXPECT_TRUE(launcher2.app_launched());
952 app_instance()->WaitForIncomingMethodCall();
953 EXPECT_FALSE(prefs->HasObserver(&launcher2)); 938 EXPECT_FALSE(prefs->HasObserver(&launcher2));
954 ASSERT_EQ(2u, app_instance()->launch_requests().size()); 939 ASSERT_EQ(2u, app_instance()->launch_requests().size());
955 EXPECT_TRUE(app_instance()->launch_requests()[1]->IsForApp(app2)); 940 EXPECT_TRUE(app_instance()->launch_requests()[1]->IsForApp(app2));
956 } 941 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_test.cc ('k') | components/arc/arc_bridge_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698