| 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 |