// 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); }