summaryrefslogtreecommitdiffstats
path: root/apps/app_shim/app_shim_host_mac_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_shim/app_shim_host_mac_unittest.cc')
-rw-r--r--apps/app_shim/app_shim_host_mac_unittest.cc175
1 files changed, 0 insertions, 175 deletions
diff --git a/apps/app_shim/app_shim_host_mac_unittest.cc b/apps/app_shim/app_shim_host_mac_unittest.cc
deleted file mode 100644
index b4b56fb6..0000000
--- a/apps/app_shim/app_shim_host_mac_unittest.cc
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "apps/app_shim/app_shim_host_mac.h"
-
-#include <vector>
-
-#include "apps/app_shim/app_shim_messages.h"
-#include "base/basictypes.h"
-#include "base/memory/scoped_vector.h"
-#include "ipc/ipc_message.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-class TestingAppShimHost : public AppShimHost {
- public:
- TestingAppShimHost() {}
- virtual ~TestingAppShimHost() {}
-
- bool ReceiveMessage(IPC::Message* message);
-
- const std::vector<IPC::Message*>& sent_messages() {
- return sent_messages_.get();
- }
-
- protected:
- virtual bool Send(IPC::Message* message) OVERRIDE;
-
- private:
- ScopedVector<IPC::Message> sent_messages_;
-
- DISALLOW_COPY_AND_ASSIGN(TestingAppShimHost);
-};
-
-bool TestingAppShimHost::ReceiveMessage(IPC::Message* message) {
- bool handled = OnMessageReceived(*message);
- delete message;
- return handled;
-}
-
-bool TestingAppShimHost::Send(IPC::Message* message) {
- sent_messages_.push_back(message);
- return true;
-}
-
-const char kTestAppId[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
-const char kTestProfileDir[] = "Profile 1";
-
-class AppShimHostTest : public testing::Test,
- public apps::AppShimHandler {
- public:
- AppShimHostTest() : launch_result_(apps::APP_SHIM_LAUNCH_SUCCESS),
- launch_count_(0),
- launch_now_count_(0),
- close_count_(0),
- focus_count_(0),
- quit_count_(0) {}
-
- TestingAppShimHost* host() { return host_.get(); }
-
- void LaunchApp(apps::AppShimLaunchType launch_type) {
- EXPECT_TRUE(host()->ReceiveMessage(
- new AppShimHostMsg_LaunchApp(base::FilePath(kTestProfileDir),
- kTestAppId,
- launch_type,
- std::vector<base::FilePath>())));
- }
-
- apps::AppShimLaunchResult GetLaunchResult() {
- EXPECT_EQ(1u, host()->sent_messages().size());
- IPC::Message* message = host()->sent_messages()[0];
- EXPECT_EQ(AppShimMsg_LaunchApp_Done::ID, message->type());
- AppShimMsg_LaunchApp_Done::Param param;
- AppShimMsg_LaunchApp_Done::Read(message, &param);
- return param.a;
- }
-
- void SimulateDisconnect() {
- implicit_cast<IPC::Listener*>(host_.release())->OnChannelError();
- }
-
- protected:
- virtual void OnShimLaunch(Host* host,
- apps::AppShimLaunchType launch_type,
- const std::vector<base::FilePath>& file) OVERRIDE {
- ++launch_count_;
- if (launch_type == apps::APP_SHIM_LAUNCH_NORMAL)
- ++launch_now_count_;
- host->OnAppLaunchComplete(launch_result_);
- }
-
- virtual void OnShimClose(Host* host) OVERRIDE { ++close_count_; }
-
- virtual void OnShimFocus(Host* host,
- apps::AppShimFocusType focus_type,
- const std::vector<base::FilePath>& file) OVERRIDE {
- ++focus_count_;
- }
-
- virtual void OnShimSetHidden(Host* host, bool hidden) OVERRIDE {}
-
- virtual void OnShimQuit(Host* host) OVERRIDE { ++quit_count_; }
-
- apps::AppShimLaunchResult launch_result_;
- int launch_count_;
- int launch_now_count_;
- int close_count_;
- int focus_count_;
- int quit_count_;
-
- private:
- virtual void SetUp() OVERRIDE {
- testing::Test::SetUp();
- host_.reset(new TestingAppShimHost());
- }
-
- scoped_ptr<TestingAppShimHost> host_;
-
- DISALLOW_COPY_AND_ASSIGN(AppShimHostTest);
-};
-
-
-} // namespace
-
-TEST_F(AppShimHostTest, TestLaunchAppWithHandler) {
- apps::AppShimHandler::RegisterHandler(kTestAppId, this);
- LaunchApp(apps::APP_SHIM_LAUNCH_NORMAL);
- EXPECT_EQ(kTestAppId,
- implicit_cast<apps::AppShimHandler::Host*>(host())->GetAppId());
- EXPECT_EQ(apps::APP_SHIM_LAUNCH_SUCCESS, GetLaunchResult());
- EXPECT_EQ(1, launch_count_);
- EXPECT_EQ(1, launch_now_count_);
- EXPECT_EQ(0, focus_count_);
- EXPECT_EQ(0, close_count_);
-
- // A second OnAppLaunchComplete is ignored.
- implicit_cast<apps::AppShimHandler::Host*>(host())->
- OnAppLaunchComplete(apps::APP_SHIM_LAUNCH_APP_NOT_FOUND);
- EXPECT_EQ(apps::APP_SHIM_LAUNCH_SUCCESS, GetLaunchResult());
-
- EXPECT_TRUE(host()->ReceiveMessage(
- new AppShimHostMsg_FocusApp(apps::APP_SHIM_FOCUS_NORMAL,
- std::vector<base::FilePath>())));
- EXPECT_EQ(1, focus_count_);
-
- EXPECT_TRUE(host()->ReceiveMessage(new AppShimHostMsg_QuitApp()));
- EXPECT_EQ(1, quit_count_);
-
- SimulateDisconnect();
- EXPECT_EQ(1, close_count_);
- apps::AppShimHandler::RemoveHandler(kTestAppId);
-}
-
-TEST_F(AppShimHostTest, TestNoLaunchNow) {
- apps::AppShimHandler::RegisterHandler(kTestAppId, this);
- LaunchApp(apps::APP_SHIM_LAUNCH_REGISTER_ONLY);
- EXPECT_EQ(kTestAppId,
- implicit_cast<apps::AppShimHandler::Host*>(host())->GetAppId());
- EXPECT_EQ(apps::APP_SHIM_LAUNCH_SUCCESS, GetLaunchResult());
- 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, TestFailLaunch) {
- apps::AppShimHandler::RegisterHandler(kTestAppId, this);
- launch_result_ = apps::APP_SHIM_LAUNCH_APP_NOT_FOUND;
- LaunchApp(apps::APP_SHIM_LAUNCH_NORMAL);
- EXPECT_EQ(apps::APP_SHIM_LAUNCH_APP_NOT_FOUND, GetLaunchResult());
- apps::AppShimHandler::RemoveHandler(kTestAppId);
-}