blob: a82f0242b06fc46290cdfeef31cf34b26de0aaa8 [file] [log] [blame]
// 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 "chrome/browser/devtools/devtools_contents_resizing_strategy.h"
#include "testing/gtest/include/gtest/gtest.h"
TEST(DevToolsContentsResizingStrategyTest, ApplyZero) {
DevToolsContentsResizingStrategy zeroStrategy;
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
zeroStrategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_contents_bounds);
}
TEST(DevToolsContentsResizingStrategyTest, ApplyInsets) {
DevToolsContentsResizingStrategy strategy(
gfx::Insets(10, 20, 30, 40), gfx::Size(0, 0));
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(20, 10, 40, 160), new_contents_bounds);
}
TEST(DevToolsContentsResizingStrategyTest, ApplyMinSize) {
DevToolsContentsResizingStrategy strategy(
gfx::Insets(10, 20, 90, 30), gfx::Size(60, 120));
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(16, 8, 60, 120), new_contents_bounds);
}
TEST(DevToolsContentsResizingStrategyTest, ApplyLargeInset) {
DevToolsContentsResizingStrategy strategy(
gfx::Insets(0, 130, 0, 0), gfx::Size(60, 120));
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(40, 0, 60, 200), new_contents_bounds);
}
TEST(DevToolsContentsResizingStrategyTest, ApplyTwoLargeInsets) {
DevToolsContentsResizingStrategy strategy(
gfx::Insets(120, 0, 80, 0), gfx::Size(60, 120));
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(0, 48, 100, 120), new_contents_bounds);
}
TEST(DevToolsContentsResizingStrategyTest, ApplySmallContainer) {
DevToolsContentsResizingStrategy strategy(
gfx::Insets(10, 10, 10, 10), gfx::Size(120, 230));
gfx::Size container_size(100, 200);
gfx::Rect old_devtools_bounds(0, 0, 100, 200);
gfx::Rect old_contents_bounds(20, 20, 60, 140);
gfx::Rect new_devtools_bounds;
gfx::Rect new_contents_bounds;
ApplyDevToolsContentsResizingStrategy(
strategy, container_size,
old_devtools_bounds, old_contents_bounds,
&new_devtools_bounds, &new_contents_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds);
EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_contents_bounds);
}