OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "ash/public/cpp/mus_property_mirror_ash.h" | 5 #include "ash/public/cpp/mus_property_mirror_ash.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "ash/public/cpp/window_properties.h" | 9 #include "ash/public/cpp/window_properties.h" |
10 #include "ash/test/ash_test.h" | 10 #include "ash/test/ash_test_base.h" |
11 #include "ash/wm_window.h" | |
12 #include "base/strings/string16.h" | 11 #include "base/strings/string16.h" |
13 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
14 #include "ui/aura/client/aura_constants.h" | 13 #include "ui/aura/client/aura_constants.h" |
15 #include "ui/aura/window.h" | 14 #include "ui/aura/window.h" |
16 | 15 |
17 namespace ash { | 16 namespace ash { |
18 | 17 |
19 using MusPropertyMirrorAshTest = AshTest; | 18 using MusPropertyMirrorAshTest = test::AshTestBase; |
20 | 19 |
21 // Ensure the property mirror can copy primitive properties between windows. | 20 // Ensure the property mirror can copy primitive properties between windows. |
22 TEST_F(MusPropertyMirrorAshTest, PrimitiveProperties) { | 21 TEST_F(MusPropertyMirrorAshTest, PrimitiveProperties) { |
23 MusPropertyMirrorAsh mus_property_mirror_ash; | 22 MusPropertyMirrorAsh mus_property_mirror_ash; |
24 std::unique_ptr<WindowOwner> window_owner_1(CreateTestWindow()); | 23 std::unique_ptr<aura::Window> window_1(CreateTestWindow()); |
25 std::unique_ptr<WindowOwner> window_owner_2(CreateTestWindow()); | 24 std::unique_ptr<aura::Window> window_2(CreateTestWindow()); |
26 aura::Window* window_1 = window_owner_1->window()->aura_window(); | |
27 aura::Window* window_2 = window_owner_2->window()->aura_window(); | |
28 | 25 |
29 EXPECT_EQ(TYPE_UNDEFINED, window_1->GetProperty(kShelfItemTypeKey)); | 26 EXPECT_EQ(TYPE_UNDEFINED, window_1->GetProperty(kShelfItemTypeKey)); |
30 EXPECT_EQ(TYPE_UNDEFINED, window_2->GetProperty(kShelfItemTypeKey)); | 27 EXPECT_EQ(TYPE_UNDEFINED, window_2->GetProperty(kShelfItemTypeKey)); |
31 window_1->SetProperty(kShelfItemTypeKey, static_cast<int32_t>(TYPE_APP)); | 28 window_1->SetProperty(kShelfItemTypeKey, static_cast<int32_t>(TYPE_APP)); |
32 EXPECT_EQ(TYPE_APP, window_1->GetProperty(kShelfItemTypeKey)); | 29 EXPECT_EQ(TYPE_APP, window_1->GetProperty(kShelfItemTypeKey)); |
33 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( | 30 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( |
34 window_1, window_2, kShelfItemTypeKey); | 31 window_1.get(), window_2.get(), kShelfItemTypeKey); |
35 EXPECT_EQ(TYPE_APP, window_2->GetProperty(kShelfItemTypeKey)); | 32 EXPECT_EQ(TYPE_APP, window_2->GetProperty(kShelfItemTypeKey)); |
36 | 33 |
37 EXPECT_FALSE(window_1->GetProperty(aura::client::kDrawAttentionKey)); | 34 EXPECT_FALSE(window_1->GetProperty(aura::client::kDrawAttentionKey)); |
38 EXPECT_FALSE(window_2->GetProperty(aura::client::kDrawAttentionKey)); | 35 EXPECT_FALSE(window_2->GetProperty(aura::client::kDrawAttentionKey)); |
39 window_1->SetProperty(aura::client::kDrawAttentionKey, true); | 36 window_1->SetProperty(aura::client::kDrawAttentionKey, true); |
40 EXPECT_TRUE(window_1->GetProperty(aura::client::kDrawAttentionKey)); | 37 EXPECT_TRUE(window_1->GetProperty(aura::client::kDrawAttentionKey)); |
41 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( | 38 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( |
42 window_1, window_2, aura::client::kDrawAttentionKey); | 39 window_1.get(), window_2.get(), aura::client::kDrawAttentionKey); |
43 EXPECT_TRUE(window_2->GetProperty(aura::client::kDrawAttentionKey)); | 40 EXPECT_TRUE(window_2->GetProperty(aura::client::kDrawAttentionKey)); |
44 } | 41 } |
45 | 42 |
46 // Ensure the property mirror can copy owned object properties between windows. | 43 // Ensure the property mirror can copy owned object properties between windows. |
47 TEST_F(MusPropertyMirrorAshTest, OwnedProperties) { | 44 TEST_F(MusPropertyMirrorAshTest, OwnedProperties) { |
48 MusPropertyMirrorAsh mus_property_mirror_ash; | 45 MusPropertyMirrorAsh mus_property_mirror_ash; |
49 std::unique_ptr<WindowOwner> window_owner_1(CreateTestWindow()); | 46 std::unique_ptr<aura::Window> window_1(CreateTestWindow()); |
50 std::unique_ptr<WindowOwner> window_owner_2(CreateTestWindow()); | 47 std::unique_ptr<aura::Window> window_2(CreateTestWindow()); |
51 aura::Window* window_1 = window_owner_1->window()->aura_window(); | |
52 aura::Window* window_2 = window_owner_2->window()->aura_window(); | |
53 | 48 |
54 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kAppIdKey)); | 49 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kAppIdKey)); |
55 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kAppIdKey)); | 50 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kAppIdKey)); |
56 window_1->SetProperty(aura::client::kAppIdKey, new std::string("abc")); | 51 window_1->SetProperty(aura::client::kAppIdKey, new std::string("abc")); |
57 EXPECT_EQ("abc", *window_1->GetProperty(aura::client::kAppIdKey)); | 52 EXPECT_EQ("abc", *window_1->GetProperty(aura::client::kAppIdKey)); |
58 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( | 53 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( |
59 window_1, window_2, aura::client::kAppIdKey); | 54 window_1.get(), window_2.get(), aura::client::kAppIdKey); |
60 EXPECT_EQ("abc", *window_2->GetProperty(aura::client::kAppIdKey)); | 55 EXPECT_EQ("abc", *window_2->GetProperty(aura::client::kAppIdKey)); |
61 EXPECT_NE(window_1->GetProperty(aura::client::kAppIdKey), | 56 EXPECT_NE(window_1->GetProperty(aura::client::kAppIdKey), |
62 window_2->GetProperty(aura::client::kAppIdKey)); | 57 window_2->GetProperty(aura::client::kAppIdKey)); |
63 | 58 |
64 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kTitleKey)); | 59 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kTitleKey)); |
65 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kTitleKey)); | 60 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kTitleKey)); |
66 window_1->SetProperty(aura::client::kTitleKey, | 61 window_1->SetProperty(aura::client::kTitleKey, |
67 new base::string16(base::ASCIIToUTF16("def"))); | 62 new base::string16(base::ASCIIToUTF16("def"))); |
68 EXPECT_EQ(base::ASCIIToUTF16("def"), | 63 EXPECT_EQ(base::ASCIIToUTF16("def"), |
69 *window_1->GetProperty(aura::client::kTitleKey)); | 64 *window_1->GetProperty(aura::client::kTitleKey)); |
70 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( | 65 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( |
71 window_1, window_2, aura::client::kTitleKey); | 66 window_1.get(), window_2.get(), aura::client::kTitleKey); |
72 EXPECT_EQ(base::ASCIIToUTF16("def"), | 67 EXPECT_EQ(base::ASCIIToUTF16("def"), |
73 *window_2->GetProperty(aura::client::kTitleKey)); | 68 *window_2->GetProperty(aura::client::kTitleKey)); |
74 EXPECT_NE(window_1->GetProperty(aura::client::kTitleKey), | 69 EXPECT_NE(window_1->GetProperty(aura::client::kTitleKey), |
75 window_2->GetProperty(aura::client::kTitleKey)); | 70 window_2->GetProperty(aura::client::kTitleKey)); |
76 | 71 |
77 window_1->ClearProperty(aura::client::kWindowIconKey); | 72 window_1->ClearProperty(aura::client::kWindowIconKey); |
78 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kWindowIconKey)); | 73 EXPECT_EQ(nullptr, window_1->GetProperty(aura::client::kWindowIconKey)); |
79 window_2->ClearProperty(aura::client::kWindowIconKey); | 74 window_2->ClearProperty(aura::client::kWindowIconKey); |
80 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kWindowIconKey)); | 75 EXPECT_EQ(nullptr, window_2->GetProperty(aura::client::kWindowIconKey)); |
81 window_1->SetProperty(aura::client::kWindowIconKey, new gfx::ImageSkia()); | 76 window_1->SetProperty(aura::client::kWindowIconKey, new gfx::ImageSkia()); |
82 EXPECT_NE(nullptr, window_1->GetProperty(aura::client::kWindowIconKey)); | 77 EXPECT_NE(nullptr, window_1->GetProperty(aura::client::kWindowIconKey)); |
83 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( | 78 mus_property_mirror_ash.MirrorPropertyFromWidgetWindowToRootWindow( |
84 window_1, window_2, aura::client::kWindowIconKey); | 79 window_1.get(), window_2.get(), aura::client::kWindowIconKey); |
85 EXPECT_NE(nullptr, window_2->GetProperty(aura::client::kWindowIconKey)); | 80 EXPECT_NE(nullptr, window_2->GetProperty(aura::client::kWindowIconKey)); |
86 EXPECT_NE(window_1->GetProperty(aura::client::kWindowIconKey), | 81 EXPECT_NE(window_1->GetProperty(aura::client::kWindowIconKey), |
87 window_2->GetProperty(aura::client::kWindowIconKey)); | 82 window_2->GetProperty(aura::client::kWindowIconKey)); |
88 } | 83 } |
89 | 84 |
90 } // namespace ash | 85 } // namespace ash |
OLD | NEW |