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

Unified Diff: mash/wm/window_manager_unittest.cc

Issue 2029883002: Moves mash/wm into ash/mus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_static_assert
Patch Set: move comment Created 4 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
« no previous file with comments | « mash/wm/window_manager_application.cc ('k') | mash/wm/workspace/workspace_layout_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mash/wm/window_manager_unittest.cc
diff --git a/mash/wm/window_manager_unittest.cc b/mash/wm/window_manager_unittest.cc
deleted file mode 100644
index fec346500d536938ffa224d772001946385e9cd5..0000000000000000000000000000000000000000
--- a/mash/wm/window_manager_unittest.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2015 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 <stdint.h>
-
-#include <memory>
-#include <utility>
-
-#include "ash/public/interfaces/user_window_controller.mojom.h"
-#include "base/bind.h"
-#include "base/macros.h"
-#include "base/run_loop.h"
-#include "components/mus/public/cpp/window.h"
-#include "components/mus/public/cpp/window_tree_client.h"
-#include "components/mus/public/cpp/window_tree_client_delegate.h"
-#include "components/mus/public/interfaces/window_tree.mojom.h"
-#include "services/shell/public/cpp/shell_test.h"
-
-namespace mash {
-namespace wm {
-
-class WindowTreeClientDelegate : public mus::WindowTreeClientDelegate {
- public:
- WindowTreeClientDelegate() {}
- ~WindowTreeClientDelegate() override {}
-
- private:
- // mus::WindowTreeClientDelegate:
- void OnEmbed(mus::Window* root) override {}
- void OnWindowTreeClientDestroyed(mus::WindowTreeClient* client) override {}
- void OnEventObserved(const ui::Event& event, mus::Window* target) override {}
-
- DISALLOW_COPY_AND_ASSIGN(WindowTreeClientDelegate);
-};
-
-class WindowManagerTest : public shell::test::ShellTest {
- public:
- WindowManagerTest() : shell::test::ShellTest("exe:mash_unittests") {}
- ~WindowManagerTest() override {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(WindowManagerTest);
-};
-
-void OnEmbed(bool success) {
- ASSERT_TRUE(success);
-}
-
-class TestUserWindowObserver : public ash::mojom::UserWindowObserver {
- public:
- explicit TestUserWindowObserver(shell::Connector* connector)
- : binding_(this), window_count_(0u), expected_window_count_(0u) {
- connector->ConnectToInterface("mojo:desktop_wm", &user_window_controller_);
- user_window_controller_->AddUserWindowObserver(
- binding_.CreateInterfacePtrAndBind());
- }
-
- ~TestUserWindowObserver() override {}
-
- bool WaitUntilWindowCountReaches(size_t expected) {
- DCHECK(quit_callback_.is_null());
- if (window_count_ != expected) {
- base::RunLoop loop;
- quit_callback_ = loop.QuitClosure();
- expected_window_count_ = expected;
- loop.Run();
- quit_callback_ = base::Closure();
- }
- return window_count_ == expected;
- }
-
- private:
- void QuitIfNecessary() {
- if (window_count_ == expected_window_count_ && !quit_callback_.is_null())
- quit_callback_.Run();
- }
-
- // mojom::UserWindowObserver:
- void OnUserWindowObserverAdded(
- mojo::Array<ash::mojom::UserWindowPtr> user_windows) override {
- window_count_ = user_windows.size();
- QuitIfNecessary();
- }
-
- void OnUserWindowAdded(ash::mojom::UserWindowPtr user_window) override {
- ++window_count_;
- QuitIfNecessary();
- }
-
- void OnUserWindowRemoved(uint32_t window_id) override {
- ASSERT_TRUE(window_count_);
- --window_count_;
- QuitIfNecessary();
- }
-
- void OnUserWindowTitleChanged(uint32_t window_id,
- const mojo::String& window_title) override {}
- void OnUserWindowFocusChanged(uint32_t window_id, bool has_focus) override {}
- void OnUserWindowAppIconChanged(uint32_t window_id,
- mojo::Array<uint8_t> app_icon) override {}
-
- ash::mojom::UserWindowControllerPtr user_window_controller_;
- mojo::Binding<ash::mojom::UserWindowObserver> binding_;
-
- size_t window_count_;
- size_t expected_window_count_;
- base::Closure quit_callback_;
-
- DISALLOW_COPY_AND_ASSIGN(TestUserWindowObserver);
-};
-
-TEST_F(WindowManagerTest, OpenWindow) {
- WindowTreeClientDelegate window_tree_delegate;
-
- // Bring up the the desktop_wm.
- connector()->Connect("mojo:desktop_wm");
-
- // Connect to mus and create a new top level window. The request goes to
- // the |desktop_wm|, but is async.
- std::unique_ptr<mus::WindowTreeClient> client(
- new mus::WindowTreeClient(&window_tree_delegate, nullptr, nullptr));
- client->ConnectViaWindowTreeFactory(connector());
- mus::Window* top_level_window = client->NewTopLevelWindow(nullptr);
- ASSERT_TRUE(top_level_window);
- mus::Window* child_window = client->NewWindow();
- ASSERT_TRUE(child_window);
- top_level_window->AddChild(child_window);
-
- // Create another WindowTreeClient by way of embedding in
- // |child_window|. This blocks until it succeeds.
- mus::mojom::WindowTreeClientPtr tree_client;
- auto tree_client_request = GetProxy(&tree_client);
- child_window->Embed(std::move(tree_client), base::Bind(&OnEmbed));
- std::unique_ptr<mus::WindowTreeClient> child_client(
- new mus::WindowTreeClient(&window_tree_delegate, nullptr,
- std::move(tree_client_request)));
- child_client->WaitForEmbed();
- ASSERT_TRUE(!child_client->GetRoots().empty());
-}
-
-TEST_F(WindowManagerTest, OpenWindowAndClose) {
- // Bring up the the desktop_wm.
- connector()->Connect("mojo:desktop_wm");
-
- TestUserWindowObserver observer(connector());
-
- // Connect to mus and create a new top level window.
- WindowTreeClientDelegate window_tree_delegate;
- std::unique_ptr<mus::WindowTreeClient> client(
- new mus::WindowTreeClient(&window_tree_delegate, nullptr, nullptr));
- client->ConnectViaWindowTreeFactory(connector());
- mus::Window* top_level_window = client->NewTopLevelWindow(nullptr);
- ASSERT_TRUE(top_level_window);
-
- observer.WaitUntilWindowCountReaches(1u);
- client.reset();
- observer.WaitUntilWindowCountReaches(0u);
-}
-
-} // namespace wm
-} // namespace mash
« no previous file with comments | « mash/wm/window_manager_application.cc ('k') | mash/wm/workspace/workspace_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698