// Copyright (c) 2009 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 "ui/gfx/geometry/insets.h" #include "testing/gtest/include/gtest/gtest.h" TEST(InsetsTest, InsetsDefault) { gfx::Insets insets; EXPECT_EQ(0, insets.top()); EXPECT_EQ(0, insets.left()); EXPECT_EQ(0, insets.bottom()); EXPECT_EQ(0, insets.right()); EXPECT_EQ(0, insets.width()); EXPECT_EQ(0, insets.height()); EXPECT_TRUE(insets.empty()); } TEST(InsetsTest, Insets) { gfx::Insets insets(1, 2, 3, 4); EXPECT_EQ(1, insets.top()); EXPECT_EQ(2, insets.left()); EXPECT_EQ(3, insets.bottom()); EXPECT_EQ(4, insets.right()); EXPECT_EQ(6, insets.width()); // Left + right. EXPECT_EQ(4, insets.height()); // Top + bottom. EXPECT_FALSE(insets.empty()); } TEST(InsetsTest, Set) { gfx::Insets insets; insets.Set(1, 2, 3, 4); EXPECT_EQ(1, insets.top()); EXPECT_EQ(2, insets.left()); EXPECT_EQ(3, insets.bottom()); EXPECT_EQ(4, insets.right()); } TEST(InsetsTest, Add) { gfx::Insets insets; insets.Set(1, 2, 3, 4); insets += gfx::Insets(5, 6, 7, 8); EXPECT_EQ(6, insets.top()); EXPECT_EQ(8, insets.left()); EXPECT_EQ(10, insets.bottom()); EXPECT_EQ(12, insets.right()); } TEST(InsetsTest, Equality) { gfx::Insets insets1; insets1.Set(1, 2, 3, 4); gfx::Insets insets2; // Test operator== and operator!=. EXPECT_FALSE(insets1 == insets2); EXPECT_TRUE(insets1 != insets2); insets2.Set(1, 2, 3, 4); EXPECT_TRUE(insets1 == insets2); EXPECT_FALSE(insets1 != insets2); } TEST(InsetsTest, ToString) { gfx::Insets insets(1, 2, 3, 4); EXPECT_EQ("1,2,3,4", insets.ToString()); }