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

Unified Diff: ash/common/frame/custom_frame_view_ash_unittest.cc

Issue 2736573002: chromeos: Move files in //ash/common to //ash, part 2 (Closed)
Patch Set: Created 3 years, 9 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 | « ash/common/frame/custom_frame_view_ash.cc ('k') | ash/common/frame/default_header_painter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/frame/custom_frame_view_ash_unittest.cc
diff --git a/ash/common/frame/custom_frame_view_ash_unittest.cc b/ash/common/frame/custom_frame_view_ash_unittest.cc
deleted file mode 100644
index b5729ef394f1f4fd3cf4a9cd5cfe7ceb373e1872..0000000000000000000000000000000000000000
--- a/ash/common/frame/custom_frame_view_ash_unittest.cc
+++ /dev/null
@@ -1,227 +0,0 @@
-// Copyright 2014 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 "ash/common/frame/custom_frame_view_ash.h"
-
-#include <memory>
-
-#include "ash/common/ash_layout_constants.h"
-#include "ash/common/frame/caption_buttons/frame_caption_button.h"
-#include "ash/common/frame/caption_buttons/frame_caption_button_container_view.h"
-#include "ash/common/test/test_session_state_delegate.h"
-#include "ash/common/wm/maximize_mode/maximize_mode_controller.h"
-#include "ash/common/wm_shell.h"
-#include "ash/test/ash_test_base.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/image/image_skia.h"
-#include "ui/gfx/image/image_unittest_util.h"
-#include "ui/views/widget/widget.h"
-#include "ui/views/widget/widget_delegate.h"
-
-namespace ash {
-
-// A views::WidgetDelegate which uses a CustomFrameViewAsh.
-class TestWidgetDelegate : public views::WidgetDelegateView {
- public:
- TestWidgetDelegate() {}
- ~TestWidgetDelegate() override {}
-
- views::NonClientFrameView* CreateNonClientFrameView(
- views::Widget* widget) override {
- custom_frame_view_ = new CustomFrameViewAsh(widget);
- return custom_frame_view_;
- }
-
- CustomFrameViewAsh* custom_frame_view() const { return custom_frame_view_; }
-
- private:
- // Not owned.
- CustomFrameViewAsh* custom_frame_view_;
-
- DISALLOW_COPY_AND_ASSIGN(TestWidgetDelegate);
-};
-
-class TestWidgetConstraintsDelegate : public TestWidgetDelegate {
- public:
- TestWidgetConstraintsDelegate() {}
- ~TestWidgetConstraintsDelegate() override {}
-
- // views::View:
- gfx::Size GetMinimumSize() const override { return minimum_size_; }
-
- gfx::Size GetMaximumSize() const override { return maximum_size_; }
-
- views::View* GetContentsView() override {
- // Set this instance as the contents view so that the maximum and minimum
- // size constraints will be used.
- return this;
- }
-
- // views::WidgetDelegate:
- bool CanMaximize() const override { return true; }
-
- bool CanMinimize() const override { return true; }
-
- void set_minimum_size(const gfx::Size& min_size) { minimum_size_ = min_size; }
-
- void set_maximum_size(const gfx::Size& max_size) { maximum_size_ = max_size; }
-
- const gfx::Rect& GetFrameCaptionButtonContainerViewBounds() {
- return custom_frame_view()
- ->GetFrameCaptionButtonContainerViewForTest()
- ->bounds();
- }
-
- void EndFrameCaptionButtonContainerViewAnimations() {
- FrameCaptionButtonContainerView::TestApi test(
- custom_frame_view()->GetFrameCaptionButtonContainerViewForTest());
- test.EndAnimations();
- }
-
- int GetTitleBarHeight() const {
- return custom_frame_view()->NonClientTopBorderHeight();
- }
-
- private:
- gfx::Size minimum_size_;
- gfx::Size maximum_size_;
-
- DISALLOW_COPY_AND_ASSIGN(TestWidgetConstraintsDelegate);
-};
-
-class CustomFrameViewAshTest : public test::AshTestBase {
- public:
- CustomFrameViewAshTest() {}
- ~CustomFrameViewAshTest() override {}
-
- protected:
- std::unique_ptr<views::Widget> CreateWidget(TestWidgetDelegate* delegate) {
- std::unique_ptr<views::Widget> widget(new views::Widget);
- views::Widget::InitParams params;
- params.delegate = delegate;
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- params.bounds = gfx::Rect(0, 0, 100, 100);
- params.context = CurrentContext();
- widget->Init(params);
- return widget;
- }
-
- test::TestSessionStateDelegate* GetTestSessionStateDelegate() {
- return static_cast<test::TestSessionStateDelegate*>(
- WmShell::Get()->GetSessionStateDelegate());
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(CustomFrameViewAshTest);
-};
-
-// Verifies the client view is not placed at a y location of 0.
-TEST_F(CustomFrameViewAshTest, ClientViewCorrectlyPlaced) {
- std::unique_ptr<views::Widget> widget(CreateWidget(new TestWidgetDelegate));
- widget->Show();
- EXPECT_NE(0, widget->client_view()->bounds().y());
-}
-
-// Test that the height of the header is correct upon initially displaying
-// the widget.
-TEST_F(CustomFrameViewAshTest, HeaderHeight) {
- TestWidgetDelegate* delegate = new TestWidgetDelegate;
-
- std::unique_ptr<views::Widget> widget(CreateWidget(delegate));
- widget->Show();
-
- // The header should have enough room for the window controls. The
- // header/content separator line overlays the window controls.
- EXPECT_EQ(
- GetAshLayoutSize(AshLayoutSize::NON_BROWSER_CAPTION_BUTTON).height(),
- delegate->custom_frame_view()->GetHeaderView()->height());
-}
-
-// Verify that CustomFrameViewAsh returns the correct minimum and maximum frame
-// sizes when the client view does not specify any size constraints.
-TEST_F(CustomFrameViewAshTest, NoSizeConstraints) {
- TestWidgetConstraintsDelegate* delegate = new TestWidgetConstraintsDelegate;
- std::unique_ptr<views::Widget> widget(CreateWidget(delegate));
-
- CustomFrameViewAsh* custom_frame_view = delegate->custom_frame_view();
- gfx::Size min_frame_size = custom_frame_view->GetMinimumSize();
- gfx::Size max_frame_size = custom_frame_view->GetMaximumSize();
-
- EXPECT_EQ(delegate->GetTitleBarHeight(), min_frame_size.height());
-
- // A width and height constraint of 0 denotes unbounded.
- EXPECT_EQ(0, max_frame_size.width());
- EXPECT_EQ(0, max_frame_size.height());
-}
-
-// Verify that CustomFrameViewAsh returns the correct minimum and maximum frame
-// sizes when the client view specifies size constraints.
-TEST_F(CustomFrameViewAshTest, MinimumAndMaximumSize) {
- gfx::Size min_client_size(500, 500);
- gfx::Size max_client_size(800, 800);
- TestWidgetConstraintsDelegate* delegate = new TestWidgetConstraintsDelegate;
- delegate->set_minimum_size(min_client_size);
- delegate->set_maximum_size(max_client_size);
- std::unique_ptr<views::Widget> widget(CreateWidget(delegate));
-
- CustomFrameViewAsh* custom_frame_view = delegate->custom_frame_view();
- gfx::Size min_frame_size = custom_frame_view->GetMinimumSize();
- gfx::Size max_frame_size = custom_frame_view->GetMaximumSize();
-
- EXPECT_EQ(min_client_size.width(), min_frame_size.width());
- EXPECT_EQ(max_client_size.width(), max_frame_size.width());
- EXPECT_EQ(min_client_size.height() + delegate->GetTitleBarHeight(),
- min_frame_size.height());
- EXPECT_EQ(max_client_size.height() + delegate->GetTitleBarHeight(),
- max_frame_size.height());
-}
-
-// Verify that CustomFrameViewAsh updates the avatar icon based on the
-// state of the SessionStateDelegate after visibility change.
-TEST_F(CustomFrameViewAshTest, AvatarIcon) {
- TestWidgetConstraintsDelegate* delegate = new TestWidgetConstraintsDelegate;
- std::unique_ptr<views::Widget> widget(CreateWidget(delegate));
-
- CustomFrameViewAsh* custom_frame_view = delegate->custom_frame_view();
- EXPECT_FALSE(custom_frame_view->GetAvatarIconViewForTest());
-
- // Avatar image becomes available.
- GetTestSessionStateDelegate()->SetUserImage(
- gfx::test::CreateImage(27, 27).AsImageSkia());
- widget->Hide();
- widget->Show();
- EXPECT_TRUE(custom_frame_view->GetAvatarIconViewForTest());
-
- // Avatar image is gone; the ImageView for the avatar icon should be
- // removed.
- GetTestSessionStateDelegate()->SetUserImage(gfx::ImageSkia());
- widget->Hide();
- widget->Show();
- EXPECT_FALSE(custom_frame_view->GetAvatarIconViewForTest());
-}
-
-// The visibility of the size button is updated when maximize mode is toggled.
-// Verify that the layout of the HeaderView is updated for the size button's
-// new visibility.
-TEST_F(CustomFrameViewAshTest, HeaderViewNotifiedOfChildSizeChange) {
- TestWidgetConstraintsDelegate* delegate = new TestWidgetConstraintsDelegate;
- std::unique_ptr<views::Widget> widget(CreateWidget(delegate));
-
- const gfx::Rect initial =
- delegate->GetFrameCaptionButtonContainerViewBounds();
- WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
- true);
- delegate->EndFrameCaptionButtonContainerViewAnimations();
- const gfx::Rect maximize_mode_bounds =
- delegate->GetFrameCaptionButtonContainerViewBounds();
- EXPECT_GT(initial.width(), maximize_mode_bounds.width());
- WmShell::Get()->maximize_mode_controller()->EnableMaximizeModeWindowManager(
- false);
- delegate->EndFrameCaptionButtonContainerViewAnimations();
- const gfx::Rect after_restore =
- delegate->GetFrameCaptionButtonContainerViewBounds();
- EXPECT_EQ(initial, after_restore);
-}
-
-} // namespace ash
« no previous file with comments | « ash/common/frame/custom_frame_view_ash.cc ('k') | ash/common/frame/default_header_painter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698