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

Side by Side Diff: ash/mus/window_manager_unittest.cc

Issue 2694623016: chromeos: Makes AshTestBase/Helper target mash when appropriate (Closed)
Patch Set: comment Created 3 years, 10 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
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 <map> 5 #include <map>
6 #include <memory> 6 #include <memory>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host_; 59 std::unique_ptr<aura::WindowTreeHostMus> window_tree_host_;
60 60
61 DISALLOW_COPY_AND_ASSIGN(WindowTreeClientDelegate); 61 DISALLOW_COPY_AND_ASSIGN(WindowTreeClientDelegate);
62 }; 62 };
63 63
64 class WindowManagerTest : public service_manager::test::ServiceTest { 64 class WindowManagerTest : public service_manager::test::ServiceTest {
65 public: 65 public:
66 WindowManagerTest() : service_manager::test::ServiceTest("mash_unittests") {} 66 WindowManagerTest() : service_manager::test::ServiceTest("mash_unittests") {}
67 ~WindowManagerTest() override {} 67 ~WindowManagerTest() override {}
68 68
69 // service_manager::test::ServiceTest:
70 void SetUp() override {
71 service_manager::test::ServiceTest::SetUp();
72
73 // This test triggers a path that clobbers the context_factory set on Env.
msw 2017/02/19 21:49:20 Can you elaborate on the exact mechanism that clob
sky 2017/02/21 17:06:50 Done.
74 // As all tests share the same Env (see mash_test_suite) we need to restore
75 // the context_factory when done.
76 aura::Env* env = aura::Env::GetInstance();
77 initial_context_factory_ = env->context_factory();
78 initial_context_factory_private_ = env->context_factory_private();
79 }
80
81 void TearDown() override {
82 aura::Env* env = aura::Env::GetInstance();
83 env->set_context_factory(initial_context_factory_);
84 env->set_context_factory_private(initial_context_factory_private_);
85 }
86
69 private: 87 private:
88 ui::ContextFactory* initial_context_factory_ = nullptr;
89 ui::ContextFactoryPrivate* initial_context_factory_private_ = nullptr;
90
70 DISALLOW_COPY_AND_ASSIGN(WindowManagerTest); 91 DISALLOW_COPY_AND_ASSIGN(WindowManagerTest);
71 }; 92 };
72 93
73 void OnEmbed(bool success) { 94 void OnEmbed(bool success) {
74 ASSERT_TRUE(success); 95 ASSERT_TRUE(success);
75 } 96 }
76 97
77 TEST_F(WindowManagerTest, OpenWindow) { 98 TEST_F(WindowManagerTest, OpenWindow) {
78 display::ScreenBase screen; 99 display::ScreenBase screen;
79 screen.display_list().AddDisplay( 100 screen.display_list().AddDisplay(
(...skipping 27 matching lines...) Expand all
107 client.Embed(child_window, std::move(tree_client), 0u, base::Bind(&OnEmbed)); 128 client.Embed(child_window, std::move(tree_client), 0u, base::Bind(&OnEmbed));
108 aura::WindowTreeClient child_client(connector(), &window_tree_delegate, 129 aura::WindowTreeClient child_client(connector(), &window_tree_delegate,
109 nullptr, std::move(tree_client_request)); 130 nullptr, std::move(tree_client_request));
110 window_tree_delegate.WaitForEmbed(); 131 window_tree_delegate.WaitForEmbed();
111 ASSERT_TRUE(!child_client.GetRoots().empty()); 132 ASSERT_TRUE(!child_client.GetRoots().empty());
112 window_tree_delegate.DestroyWindowTreeHost(); 133 window_tree_delegate.DestroyWindowTreeHost();
113 } 134 }
114 135
115 } // namespace mus 136 } // namespace mus
116 } // namespace ash 137 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698