15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/devtools/devtools_contents_resizing_strategy.h" 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplyZero) { 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy zeroStrategy; 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) zeroStrategy, container_size, 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_contents_bounds); 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplyInsets) { 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy strategy( 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Insets(10, 20, 30, 40), gfx::Size(0, 0)); 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) strategy, container_size, 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(20, 10, 40, 160), new_contents_bounds); 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplyMinSize) { 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy strategy( 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Insets(10, 20, 90, 30), gfx::Size(60, 120)); 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) strategy, container_size, 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(16, 8, 60, 120), new_contents_bounds); 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 565d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplyLargeInset) { 575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy strategy( 585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Insets(0, 130, 0, 0), gfx::Size(60, 120)); 595d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 615d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) strategy, container_size, 665d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 685d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 695d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(40, 0, 60, 200), new_contents_bounds); 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 715d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplyTwoLargeInsets) { 735d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy strategy( 745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Insets(120, 0, 80, 0), gfx::Size(60, 120)); 755d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 815d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) strategy, container_size, 825d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 835d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 855d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 48, 100, 120), new_contents_bounds); 865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)TEST(DevToolsContentsResizingStrategyTest, ApplySmallContainer) { 895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DevToolsContentsResizingStrategy strategy( 905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Insets(10, 10, 10, 10), gfx::Size(120, 230)); 915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Size container_size(100, 200); 925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_devtools_bounds(0, 0, 100, 200); 935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect old_contents_bounds(20, 20, 60, 140); 945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_devtools_bounds; 955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gfx::Rect new_contents_bounds; 965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ApplyDevToolsContentsResizingStrategy( 975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) strategy, container_size, 985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) old_devtools_bounds, old_contents_bounds, 995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) &new_devtools_bounds, &new_contents_bounds); 1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_devtools_bounds); 1015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) EXPECT_EQ(gfx::Rect(0, 0, 100, 200), new_contents_bounds); 1025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 103