Index: ash/wm/window_state_unittest.cc |
diff --git a/ash/wm/window_state_unittest.cc b/ash/wm/window_state_unittest.cc |
index 21b2431bb94405595c2c90661af02b7917380c6f..5488c7e3e20d87e5ac1d09749a12facf87eea9b5 100644 |
--- a/ash/wm/window_state_unittest.cc |
+++ b/ash/wm/window_state_unittest.cc |
@@ -6,10 +6,11 @@ |
#include <utility> |
+#include "ash/common/material_design/material_design_controller.h" |
#include "ash/common/wm/window_state.h" |
#include "ash/common/wm/wm_event.h" |
#include "ash/screen_util.h" |
-#include "ash/test/ash_test_base.h" |
+#include "ash/test/ash_md_test_base.h" |
#include "ash/wm/window_state_aura.h" |
#include "ui/aura/client/aura_constants.h" |
#include "ui/aura/test/test_window_delegate.h" |
@@ -49,11 +50,20 @@ class AlwaysMaximizeTestState : public WindowState::State { |
} // namespace |
-typedef test::AshTestBase WindowStateTest; |
+using WindowStateTest = test::AshMDTestBase; |
+ |
+// Note: First argument is optional and intentionally left blank. |
+// (it's a prefix for the generated test cases) |
+INSTANTIATE_TEST_CASE_P( |
+ , |
+ WindowStateTest, |
+ testing::Values(MaterialDesignController::NON_MATERIAL, |
+ MaterialDesignController::MATERIAL_NORMAL, |
+ MaterialDesignController::MATERIAL_EXPERIMENTAL)); |
// Test that a window gets properly snapped to the display's edges in a |
// multi monitor environment. |
-TEST_F(WindowStateTest, SnapWindowBasic) { |
+TEST_P(WindowStateTest, SnapWindowBasic) { |
if (!SupportsMultipleDisplays()) |
return; |
@@ -100,7 +110,7 @@ TEST_F(WindowStateTest, SnapWindowBasic) { |
// Test how the minimum and maximum size specified by the aura::WindowDelegate |
// affect snapping. |
-TEST_F(WindowStateTest, SnapWindowMinimumSize) { |
+TEST_P(WindowStateTest, SnapWindowMinimumSize) { |
if (!SupportsHostWindowResize()) |
return; |
@@ -136,7 +146,7 @@ TEST_F(WindowStateTest, SnapWindowMinimumSize) { |
} |
// Test that the minimum size specified by aura::WindowDelegate gets respected. |
-TEST_F(WindowStateTest, TestRespectMinimumSize) { |
+TEST_P(WindowStateTest, TestRespectMinimumSize) { |
if (!SupportsHostWindowResize()) |
return; |
@@ -166,7 +176,7 @@ TEST_F(WindowStateTest, TestRespectMinimumSize) { |
// Test that the minimum window size specified by aura::WindowDelegate does not |
// exceed the screen size. |
-TEST_F(WindowStateTest, TestIgnoreTooBigMinimumSize) { |
+TEST_P(WindowStateTest, TestIgnoreTooBigMinimumSize) { |
if (!SupportsHostWindowResize()) |
return; |
@@ -197,7 +207,7 @@ TEST_F(WindowStateTest, TestIgnoreTooBigMinimumSize) { |
} |
// Test that setting the bounds of a snapped window keeps its snapped. |
-TEST_F(WindowStateTest, SnapWindowSetBounds) { |
+TEST_P(WindowStateTest, SnapWindowSetBounds) { |
if (!SupportsHostWindowResize()) |
return; |
@@ -225,7 +235,7 @@ TEST_F(WindowStateTest, SnapWindowSetBounds) { |
} |
// Test that snapping left/right preserves the restore bounds. |
-TEST_F(WindowStateTest, RestoreBounds) { |
+TEST_P(WindowStateTest, RestoreBounds) { |
std::unique_ptr<aura::Window> window( |
CreateTestWindowInShellWithBounds(gfx::Rect(100, 100, 100, 100))); |
WindowState* window_state = GetWindowState(window.get()); |
@@ -266,7 +276,7 @@ TEST_F(WindowStateTest, RestoreBounds) { |
// Test that maximizing an auto managed window, then snapping it puts the window |
// at the snapped bounds and not at the auto-managed (centered) bounds. |
-TEST_F(WindowStateTest, AutoManaged) { |
+TEST_P(WindowStateTest, AutoManaged) { |
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0)); |
WindowState* window_state = GetWindowState(window.get()); |
window_state->set_window_position_managed(true); |
@@ -293,7 +303,7 @@ TEST_F(WindowStateTest, AutoManaged) { |
} |
// Test that the replacement of a State object works as expected. |
-TEST_F(WindowStateTest, SimpleStateSwap) { |
+TEST_P(WindowStateTest, SimpleStateSwap) { |
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0)); |
WindowState* window_state = GetWindowState(window.get()); |
EXPECT_FALSE(window_state->IsMaximized()); |
@@ -304,7 +314,7 @@ TEST_F(WindowStateTest, SimpleStateSwap) { |
// Test that the replacement of a state object, following a restore with the |
// original one restores the window to its original state. |
-TEST_F(WindowStateTest, StateSwapRestore) { |
+TEST_P(WindowStateTest, StateSwapRestore) { |
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0)); |
WindowState* window_state = GetWindowState(window.get()); |
EXPECT_FALSE(window_state->IsMaximized()); |
@@ -318,7 +328,7 @@ TEST_F(WindowStateTest, StateSwapRestore) { |
// Tests that a window that had same bounds as the work area shrinks after the |
// window is maximized and then restored. |
-TEST_F(WindowStateTest, RestoredWindowBoundsShrink) { |
+TEST_P(WindowStateTest, RestoredWindowBoundsShrink) { |
tdanderson
2016/06/21 19:52:21
This test fails on CrOS with GetParam() == 2 (MATE
James Cook
2016/06/21 22:17:54
Hmm. I'm not sure what you mean by "stale display
varkha
2016/06/22 16:40:18
Maybe you need AshTestBase::SupportsHostWindowResi
tdanderson
2016/06/22 16:51:55
I think that is what's happening, but I am unsucce
msw
2016/06/22 17:06:08
Sorry, but I have little to add here. I excluded t
tdanderson
2016/06/22 19:15:46
Thanks for the comments, I have used SupportsHostW
msw
2016/06/22 19:26:08
Great to hear! Lmk if you'd like me to follow up w
|
std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0)); |
WindowState* window_state = GetWindowState(window.get()); |
EXPECT_FALSE(window_state->IsMaximized()); |
@@ -336,16 +346,18 @@ TEST_F(WindowStateTest, RestoredWindowBoundsShrink) { |
EXPECT_TRUE(work_area.Contains(window->bounds())); |
} |
-TEST_F(WindowStateTest, DoNotResizeMaximizedWindowInFullscreen) { |
+TEST_P(WindowStateTest, DoNotResizeMaximizedWindowInFullscreen) { |
if (!SupportsHostWindowResize()) |
return; |
+ const int height_offset = GetMdMaximizedWindowHeightOffset(); |
std::unique_ptr<aura::Window> maximized(CreateTestWindowInShellWithId(0)); |
std::unique_ptr<aura::Window> fullscreen(CreateTestWindowInShellWithId(1)); |
WindowState* maximized_state = GetWindowState(maximized.get()); |
maximized_state->Maximize(); |
ASSERT_TRUE(maximized_state->IsMaximized()); |
- EXPECT_EQ("0,0 800x553", maximized->GetBoundsInScreen().ToString()); |
+ EXPECT_EQ(gfx::Rect(0, 0, 800, 553 + height_offset).ToString(), |
+ maximized->GetBoundsInScreen().ToString()); |
// Entering fullscreen mode will not update the maximized window's size |
// under fullscreen. |
@@ -354,15 +366,17 @@ TEST_F(WindowStateTest, DoNotResizeMaximizedWindowInFullscreen) { |
fullscreen_state->OnWMEvent(&fullscreen_event); |
ASSERT_TRUE(fullscreen_state->IsFullscreen()); |
ASSERT_TRUE(maximized_state->IsMaximized()); |
- EXPECT_EQ("0,0 800x553", maximized->GetBoundsInScreen().ToString()); |
+ EXPECT_EQ(gfx::Rect(0, 0, 800, 553 + height_offset).ToString(), |
+ maximized->GetBoundsInScreen().ToString()); |
// Updating display size will update the maximum window size. |
UpdateDisplay("900x700"); |
EXPECT_EQ("0,0 900x700", maximized->GetBoundsInScreen().ToString()); |
fullscreen.reset(); |
- // Exitting fullscreen will update the maximized widnow to the work area. |
- EXPECT_EQ("0,0 900x653", maximized->GetBoundsInScreen().ToString()); |
+ // Exiting fullscreen will update the maximized widnow to the work area. |
James Cook
2016/06/21 22:17:54
nit: while you're here, widnow -> window
tdanderson
2016/06/22 16:51:55
Done.
|
+ EXPECT_EQ(gfx::Rect(0, 0, 900, 653 + height_offset).ToString(), |
+ maximized->GetBoundsInScreen().ToString()); |
} |
// TODO(skuhne): Add more unit test to verify the correctness for the restore |