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

Unified Diff: apps/app_shim/app_shim_host_mac_unittest.cc

Issue 14579006: Start app shim when app launched. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comment Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: apps/app_shim/app_shim_host_mac_unittest.cc
diff --git a/apps/app_shim/app_shim_host_mac_unittest.cc b/apps/app_shim/app_shim_host_mac_unittest.cc
index f9a8e4dcc775b8a5c9d9986335ca1db089bd2b1e..746ffaed110e7426207bd6a89b4654efd1311830 100644
--- a/apps/app_shim/app_shim_host_mac_unittest.cc
+++ b/apps/app_shim/app_shim_host_mac_unittest.cc
@@ -28,10 +28,6 @@ class TestingAppShimHost : public AppShimHost {
fails_profile_ = fails_profile;
}
- void set_fails_launch(bool fails_launch) {
- fails_launch_ = fails_launch;
- }
-
protected:
virtual Profile* FetchProfileForDirectory(const std::string& profile_dir)
OVERRIDE;
@@ -40,7 +36,6 @@ class TestingAppShimHost : public AppShimHost {
private:
Profile* test_profile_;
bool fails_profile_;
- bool fails_launch_;
ScopedVector<IPC::Message> sent_messages_;
@@ -49,8 +44,7 @@ class TestingAppShimHost : public AppShimHost {
TestingAppShimHost::TestingAppShimHost(Profile* profile)
: test_profile_(profile),
- fails_profile_(false),
- fails_launch_(false) {
+ fails_profile_(false) {
}
bool TestingAppShimHost::ReceiveMessage(IPC::Message* message) {
@@ -72,7 +66,11 @@ Profile* TestingAppShimHost::FetchProfileForDirectory(
class AppShimHostTest : public testing::Test,
public apps::AppShimHandler {
public:
- AppShimHostTest() : launch_count_(0), close_count_(0), focus_count_(0) {}
+ AppShimHostTest() : fail_launch_(false),
+ launch_count_(0),
+ launch_now_count_(0),
+ close_count_(0),
+ focus_count_(0) {}
TestingAppShimHost* host() { return host_.get(); }
TestingProfile* profile() { return profile_.get(); }
@@ -91,15 +89,19 @@ class AppShimHostTest : public testing::Test,
}
protected:
- virtual bool OnShimLaunch(Host* host) OVERRIDE {
+ virtual bool OnShimLaunch(Host* host, bool launch_now) OVERRIDE {
++launch_count_;
- return true;
+ if (launch_now)
+ ++launch_now_count_;
+ return !fail_launch_;
}
virtual void OnShimClose(Host* host) OVERRIDE { ++close_count_; }
virtual void OnShimFocus(Host* host) OVERRIDE { ++focus_count_; }
+ bool fail_launch_;
int launch_count_;
+ int launch_now_count_;
int close_count_;
int focus_count_;
@@ -124,11 +126,12 @@ const char kTestProfileDir[] = "Default";
TEST_F(AppShimHostTest, TestLaunchAppWithHandler) {
apps::AppShimHandler::RegisterHandler(kTestAppId, this);
EXPECT_TRUE(host()->ReceiveMessage(
- new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId)));
+ new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId, true)));
EXPECT_EQ(kTestAppId,
implicit_cast<apps::AppShimHandler::Host*>(host())->GetAppId());
EXPECT_TRUE(LaunchWasSuccessful());
EXPECT_EQ(1, launch_count_);
+ EXPECT_EQ(1, launch_now_count_);
EXPECT_EQ(0, focus_count_);
EXPECT_EQ(0, close_count_);
@@ -140,16 +143,32 @@ TEST_F(AppShimHostTest, TestLaunchAppWithHandler) {
apps::AppShimHandler::RemoveHandler(kTestAppId);
}
+TEST_F(AppShimHostTest, TestNoLaunchNow) {
+ apps::AppShimHandler::RegisterHandler(kTestAppId, this);
+ EXPECT_TRUE(host()->ReceiveMessage(
+ new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId, false)));
+ EXPECT_EQ(kTestAppId,
+ implicit_cast<apps::AppShimHandler::Host*>(host())->GetAppId());
+ EXPECT_TRUE(LaunchWasSuccessful());
+ EXPECT_EQ(1, launch_count_);
+ EXPECT_EQ(0, launch_now_count_);
+ EXPECT_EQ(0, focus_count_);
+ EXPECT_EQ(0, close_count_);
+ apps::AppShimHandler::RemoveHandler(kTestAppId);
+}
+
TEST_F(AppShimHostTest, TestFailProfile) {
host()->set_fails_profile(true);
host()->ReceiveMessage(
- new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId));
+ new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId, true));
ASSERT_FALSE(LaunchWasSuccessful());
}
TEST_F(AppShimHostTest, TestFailLaunch) {
- host()->set_fails_launch(true);
+ apps::AppShimHandler::RegisterHandler(kTestAppId, this);
+ fail_launch_ = true;
host()->ReceiveMessage(
- new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId));
+ new AppShimHostMsg_LaunchApp(kTestProfileDir, kTestAppId, true));
ASSERT_FALSE(LaunchWasSuccessful());
+ apps::AppShimHandler::RemoveHandler(kTestAppId);
}

Powered by Google App Engine
This is Rietveld 408576698