41 lines
989 B
C++
41 lines
989 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "UI/BuiltInIconLayoutUtils.h"
|
|
|
|
namespace {
|
|
|
|
using XCEngine::Editor::UI::ComputeFittedIconSize;
|
|
|
|
TEST(BuiltInIconLayoutUtilsTest, ReturnsZeroWhenTextureOrBoundsAreInvalid) {
|
|
EXPECT_EQ(
|
|
ComputeFittedIconSize(0, 64, ImVec2(0.0f, 0.0f), ImVec2(64.0f, 64.0f)).x,
|
|
0.0f);
|
|
EXPECT_EQ(
|
|
ComputeFittedIconSize(64, 64, ImVec2(10.0f, 0.0f), ImVec2(10.0f, 64.0f)).y,
|
|
0.0f);
|
|
}
|
|
|
|
TEST(BuiltInIconLayoutUtilsTest, FitsWidthLimitedRegions) {
|
|
const ImVec2 size = ComputeFittedIconSize(
|
|
256,
|
|
128,
|
|
ImVec2(0.0f, 0.0f),
|
|
ImVec2(64.0f, 64.0f));
|
|
|
|
EXPECT_FLOAT_EQ(size.x, 64.0f);
|
|
EXPECT_FLOAT_EQ(size.y, 32.0f);
|
|
}
|
|
|
|
TEST(BuiltInIconLayoutUtilsTest, FitsHeightLimitedRegions) {
|
|
const ImVec2 size = ComputeFittedIconSize(
|
|
128,
|
|
256,
|
|
ImVec2(0.0f, 0.0f),
|
|
ImVec2(80.0f, 40.0f));
|
|
|
|
EXPECT_FLOAT_EQ(size.x, 20.0f);
|
|
EXPECT_FLOAT_EQ(size.y, 40.0f);
|
|
}
|
|
|
|
} // namespace
|