blob: 0e28430e15bf18999489bdfdd5735be833a0fc02 [file] [log] [blame]
// Copyright (c) 2018 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/views/layout/normalized_geometry.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace views {
TEST(NormalizedRectTest, Inset_NormalizedInsets) {
NormalizedRect rect(1, 2, 10, 11);
constexpr NormalizedInsets kInsets(1, 2, 3, 4);
rect.Inset(kInsets);
EXPECT_EQ(2, rect.origin_main());
EXPECT_EQ(4, rect.origin_cross());
EXPECT_EQ(6, rect.size_main());
EXPECT_EQ(5, rect.size_cross());
}
TEST(NormalizedRectTest, Inset_FourValue) {
NormalizedRect rect(1, 2, 10, 11);
rect.Inset(1, 2, 3, 4);
EXPECT_EQ(2, rect.origin_main());
EXPECT_EQ(4, rect.origin_cross());
EXPECT_EQ(6, rect.size_main());
EXPECT_EQ(5, rect.size_cross());
}
TEST(NormalizedRectTest, Inset_TwoValue) {
NormalizedRect rect(1, 2, 10, 11);
rect.Inset(3, 4);
EXPECT_EQ(4, rect.origin_main());
EXPECT_EQ(6, rect.origin_cross());
EXPECT_EQ(4, rect.size_main());
EXPECT_EQ(3, rect.size_cross());
}
TEST(NormalizedRectTest, Inset_Negative) {
NormalizedRect rect(1, 2, 10, 11);
rect.Inset(-1, -2, -3, -4);
EXPECT_EQ(0, rect.origin_main());
EXPECT_EQ(0, rect.origin_cross());
EXPECT_EQ(14, rect.size_main());
EXPECT_EQ(17, rect.size_cross());
}
} // namespace views