Index: services/window_manager/window_manager_apptest.cc |
diff --git a/services/window_manager/window_manager_apptest.cc b/services/window_manager/window_manager_apptest.cc |
deleted file mode 100644 |
index 7eaa27cd39c9be3bbf11ae71341cafee8c122c1e..0000000000000000000000000000000000000000 |
--- a/services/window_manager/window_manager_apptest.cc |
+++ /dev/null |
@@ -1,212 +0,0 @@ |
-// Copyright 2014 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 "base/bind.h" |
-#include "base/run_loop.h" |
-#include "mojo/public/cpp/application/application_delegate.h" |
-#include "mojo/public/cpp/application/application_impl.h" |
-#include "mojo/public/cpp/application/application_test_base.h" |
-#include "mojo/public/cpp/application/service_provider_impl.h" |
-#include "mojo/public/cpp/system/macros.h" |
-#include "mojo/services/view_manager/cpp/view.h" |
-#include "mojo/services/view_manager/cpp/view_manager_client_factory.h" |
-#include "mojo/services/view_manager/cpp/view_manager_delegate.h" |
-#include "mojo/services/window_manager/interfaces/window_manager.mojom.h" |
- |
-namespace mojo { |
-namespace { |
- |
-// TestApplication's view is embedded by the window manager. |
-class TestApplication : public ApplicationDelegate, public ViewManagerDelegate { |
- public: |
- TestApplication() : root_(nullptr) {} |
- ~TestApplication() override {} |
- |
- View* root() const { return root_; } |
- |
- void set_embed_callback(const base::Closure& callback) { |
- embed_callback_ = callback; |
- } |
- |
- private: |
- // ApplicationDelegate: |
- void Initialize(ApplicationImpl* app) override { |
- view_manager_client_factory_.reset( |
- new ViewManagerClientFactory(app->shell(), this)); |
- } |
- |
- bool ConfigureIncomingConnection(ApplicationConnection* connection) override { |
- connection->AddService(view_manager_client_factory_.get()); |
- return true; |
- } |
- |
- // ViewManagerDelegate: |
- void OnEmbed(View* root, |
- InterfaceRequest<ServiceProvider> services, |
- ServiceProviderPtr exposed_services) override { |
- root_ = root; |
- embed_callback_.Run(); |
- } |
- void OnViewManagerDisconnected(ViewManager* view_manager) override {} |
- |
- View* root_; |
- base::Closure embed_callback_; |
- scoped_ptr<ViewManagerClientFactory> view_manager_client_factory_; |
- |
- MOJO_DISALLOW_COPY_AND_ASSIGN(TestApplication); |
-}; |
- |
-class TestWindowManagerObserver : public WindowManagerObserver { |
- public: |
- explicit TestWindowManagerObserver( |
- InterfaceRequest<WindowManagerObserver> observer_request) |
- : binding_(this, observer_request.Pass()) {} |
- ~TestWindowManagerObserver() override {} |
- |
- private: |
- // Overridden from WindowManagerClient: |
- void OnCaptureChanged(Id new_capture_node_id) override {} |
- void OnFocusChanged(Id focused_node_id) override {} |
- void OnActiveWindowChanged(Id active_window) override {} |
- |
- Binding<WindowManagerObserver> binding_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestWindowManagerObserver); |
-}; |
- |
-class WindowManagerApplicationTest : public test::ApplicationTestBase { |
- public: |
- WindowManagerApplicationTest() {} |
- ~WindowManagerApplicationTest() override {} |
- |
- protected: |
- // ApplicationTestBase: |
- void SetUp() override { |
- ApplicationTestBase::SetUp(); |
- application_impl()->ConnectToService("mojo:window_manager", |
- &window_manager_); |
- } |
- ApplicationDelegate* GetApplicationDelegate() override { |
- return &test_application_; |
- } |
- |
- void EmbedApplicationWithURL(const std::string& url) { |
- window_manager_->Embed(url, nullptr, nullptr); |
- |
- base::RunLoop run_loop; |
- test_application_.set_embed_callback(run_loop.QuitClosure()); |
- run_loop.Run(); |
- } |
- |
- WindowManagerPtr window_manager_; |
- TestApplication test_application_; |
- |
- private: |
- MOJO_DISALLOW_COPY_AND_ASSIGN(WindowManagerApplicationTest); |
-}; |
- |
-TEST_F(WindowManagerApplicationTest, Embed) { |
- EXPECT_EQ(nullptr, test_application_.root()); |
- EmbedApplicationWithURL(application_impl()->url()); |
- EXPECT_NE(nullptr, test_application_.root()); |
-} |
- |
-struct BoolCallback { |
- BoolCallback(bool* bool_value, base::RunLoop* run_loop) |
- : bool_value(bool_value), run_loop(run_loop) {} |
- |
- void Run(bool value) const { |
- *bool_value = value; |
- run_loop->Quit(); |
- } |
- |
- bool* bool_value; |
- base::RunLoop* run_loop; |
-}; |
- |
-TEST_F(WindowManagerApplicationTest, SetCaptureFailsFromNonVM) { |
- EmbedApplicationWithURL(application_impl()->url()); |
- bool callback_value = true; |
- base::RunLoop run_loop; |
- window_manager_->SetCapture(test_application_.root()->id(), |
- BoolCallback(&callback_value, &run_loop)); |
- run_loop.Run(); |
- // This call only succeeds for WindowManager connections from the ViewManager. |
- EXPECT_FALSE(callback_value); |
-} |
- |
-TEST_F(WindowManagerApplicationTest, FocusWindowFailsFromNonVM) { |
- EmbedApplicationWithURL(application_impl()->url()); |
- bool callback_value = true; |
- base::RunLoop run_loop; |
- window_manager_->FocusWindow(test_application_.root()->id(), |
- BoolCallback(&callback_value, &run_loop)); |
- run_loop.Run(); |
- // This call only succeeds for WindowManager connections from the ViewManager. |
- EXPECT_FALSE(callback_value); |
-} |
- |
-TEST_F(WindowManagerApplicationTest, ActivateWindowFailsFromNonVM) { |
- EmbedApplicationWithURL(application_impl()->url()); |
- bool callback_value = true; |
- base::RunLoop run_loop; |
- window_manager_->ActivateWindow(test_application_.root()->id(), |
- BoolCallback(&callback_value, &run_loop)); |
- run_loop.Run(); |
- // This call only succeeds for WindowManager connections from the ViewManager. |
- EXPECT_FALSE(callback_value); |
-} |
- |
-struct FocusedAndActiveViewsCallback { |
- FocusedAndActiveViewsCallback(uint32* capture_view_id, |
- uint32* focused_view_id, |
- uint32* active_view_id, |
- base::RunLoop* run_loop) |
- : capture_view_id(capture_view_id), |
- focused_view_id(focused_view_id), |
- active_view_id(active_view_id), |
- run_loop(run_loop) { |
- } |
- |
- void Run(uint32 capture, uint32 focused, uint32 active) const { |
- *capture_view_id = capture; |
- *focused_view_id = focused; |
- *active_view_id = active; |
- run_loop->Quit(); |
- } |
- |
- uint32* capture_view_id; |
- uint32* focused_view_id; |
- uint32* active_view_id; |
- base::RunLoop* run_loop; |
-}; |
- |
-TEST_F(WindowManagerApplicationTest, GetFocusedAndActiveViewsFailsWithoutFC) { |
- EmbedApplicationWithURL(application_impl()->url()); |
- uint32 capture_view_id = -1; |
- uint32 focused_view_id = -1; |
- uint32 active_view_id = -1; |
- base::RunLoop run_loop; |
- |
- WindowManagerObserverPtr observer; |
- scoped_ptr<TestWindowManagerObserver> window_manager_observer( |
- new TestWindowManagerObserver(GetProxy(&observer))); |
- |
- window_manager_->GetFocusedAndActiveViews( |
- observer.Pass(), |
- FocusedAndActiveViewsCallback(&capture_view_id, |
- &focused_view_id, |
- &active_view_id, |
- &run_loop)); |
- run_loop.Run(); |
- // This call fails if the WindowManager does not have a FocusController. |
- EXPECT_EQ(0u, capture_view_id); |
- EXPECT_EQ(0u, focused_view_id); |
- EXPECT_EQ(0u, active_view_id); |
-} |
- |
-// TODO(msw): Write tests exercising other WindowManager functionality. |
- |
-} // namespace |
-} // namespace mojo |