class TestWidgetDelegate : public views::WidgetDelegateView {
public:
- explicit TestWidgetDelegate(bool can_maximize) : can_maximize_(can_maximize) {
- }
- virtual ~TestWidgetDelegate() {
- }
+ TestWidgetDelegate(bool can_maximize, bool can_minimize)
+ : can_maximize_(can_maximize), can_minimize_(can_minimize) {}
+ ~TestWidgetDelegate() override {}
- virtual bool CanMaximize() const OVERRIDE {
- return can_maximize_;
- }
+ bool CanMaximize() const override { return can_maximize_; }
+
+ bool CanMinimize() const override { return can_minimize_; }
private:
bool can_maximize_;
+ bool can_minimize_;
DISALLOW_COPY_AND_ASSIGN(TestWidgetDelegate);
};
MAXIMIZE_DISALLOWED
};
+ enum MinimizeAllowed {
+ MINIMIZE_ALLOWED,
+ MINIMIZE_DISALLOWED
+ };
+
FrameCaptionButtonContainerViewTest() {
}
- virtual ~FrameCaptionButtonContainerViewTest() {
- }
+ ~FrameCaptionButtonContainerViewTest() override {}
// Creates a widget which allows maximizing based on |maximize_allowed|.
// The caller takes ownership of the returned widget.
views::Widget* CreateTestWidget(
- MaximizeAllowed maximize_allowed) WARN_UNUSED_RESULT {
+ MaximizeAllowed maximize_allowed,
+ MinimizeAllowed minimize_allowed) WARN_UNUSED_RESULT {
views::Widget* widget = new views::Widget;
views::Widget::InitParams params;
params.delegate = new TestWidgetDelegate(
- maximize_allowed == MAXIMIZE_ALLOWED);
+ maximize_allowed == MAXIMIZE_ALLOWED,
+ minimize_allowed == MINIMIZE_ALLOWED);
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
params.context = CurrentContext();
widget->Init(params);
TEST_F(FrameCaptionButtonContainerViewTest, ButtonVisibility) {
// All the buttons should be visible when minimizing and maximizing are
// allowed.
- scoped_ptr<views::Widget> widget_can_maximize(
- CreateTestWidget(MAXIMIZE_ALLOWED));
- FrameCaptionButtonContainerView container1(widget_can_maximize.get(),
- FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
+ FrameCaptionButtonContainerView container1(
+ CreateTestWidget(MAXIMIZE_ALLOWED, MINIMIZE_ALLOWED));
SetMockImages(&container1);
container1.Layout();
FrameCaptionButtonContainerView::TestApi t1(&container1);
// The minimize button should be visible when minimizing is allowed but
// maximizing is disallowed.
- scoped_ptr<views::Widget> widget_cannot_maximize(
- CreateTestWidget(MAXIMIZE_DISALLOWED));
- FrameCaptionButtonContainerView container2(widget_cannot_maximize.get(),
- FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
+ FrameCaptionButtonContainerView container2(
+ CreateTestWidget(MAXIMIZE_DISALLOWED, MINIMIZE_ALLOWED));
SetMockImages(&container2);
container2.Layout();
FrameCaptionButtonContainerView::TestApi t2(&container2);
// Neither the minimize button nor the size button should be visible when
// neither minimizing nor maximizing are allowed.
- FrameCaptionButtonContainerView container3(widget_cannot_maximize.get(),
- FrameCaptionButtonContainerView::MINIMIZE_DISALLOWED);
+ FrameCaptionButtonContainerView container3(
+ CreateTestWidget(MAXIMIZE_DISALLOWED, MINIMIZE_DISALLOWED));
SetMockImages(&container3);
container3.Layout();
FrameCaptionButtonContainerView::TestApi t3(&container3);
// correct placement of the buttons.
TEST_F(FrameCaptionButtonContainerViewTest,
TestUpdateSizeButtonVisibilityAnimation) {
- scoped_ptr<views::Widget> widget_can_maximize(
- CreateTestWidget(MAXIMIZE_ALLOWED));
- FrameCaptionButtonContainerView container(widget_can_maximize.get(),
- FrameCaptionButtonContainerView::MINIMIZE_ALLOWED);
+ FrameCaptionButtonContainerView container(
+ CreateTestWidget(MAXIMIZE_ALLOWED, MINIMIZE_ALLOWED));
SetMockImages(&container);
container.SetBoundsRect(gfx::Rect(container.GetPreferredSize()));
container.Layout();