Index: ios/chrome/browser/ui/ui_util_unittest.mm |
diff --git a/ios/chrome/browser/ui/ui_util_unittest.mm b/ios/chrome/browser/ui/ui_util_unittest.mm |
index 33f4679d8cc7cf799e22e65fbd7dcaad470ae0b3..a7b8e8e5b7f813e0f08da05198e6b9843c32c97c 100644 |
--- a/ios/chrome/browser/ui/ui_util_unittest.mm |
+++ b/ios/chrome/browser/ui/ui_util_unittest.mm |
@@ -204,6 +204,33 @@ TEST(UIUtilTest, TestProjectionAspectFill) { |
EXPECT_EQ_SIZE(expectedRevisedSize, revisedSize); |
} |
+TEST(UIUtilTest, TestProjectionAspectFillAlignTop) { |
+ CGSize originalSize, targetSize, expectedRevisedSize, revisedSize; |
+ CGRect expectedProjection, projection; |
+ |
+ // Landscape resize to 100x100 |
+ originalSize = CGSizeMake(400, 200); |
+ targetSize = CGSizeMake(100, 100); |
+ expectedRevisedSize = targetSize; |
+ expectedProjection = CGRectMake(-50, 0, 200, 100); |
+ CalculateProjection(originalSize, targetSize, |
+ ProjectionMode::kAspectFillAlignTop, revisedSize, |
+ projection); |
+ EXPECT_EQ_RECT(expectedProjection, projection); |
+ EXPECT_EQ_SIZE(expectedRevisedSize, revisedSize); |
+ |
+ // Portrait resize to 100x100 and aligned to top |
+ originalSize = CGSizeMake(200, 400); |
+ targetSize = CGSizeMake(100, 100); |
+ expectedRevisedSize = targetSize; |
+ expectedProjection = CGRectMake(0, 0, 100, 200); |
+ CalculateProjection(originalSize, targetSize, |
+ ProjectionMode::kAspectFillAlignTop, revisedSize, |
+ projection); |
+ EXPECT_EQ_RECT(expectedProjection, projection); |
+ EXPECT_EQ_SIZE(expectedRevisedSize, revisedSize); |
+} |
+ |
TEST(UIUtilTest, TestProjectionAspectFillNoClipping) { |
CGSize originalSize, targetSize, expectedRevisedSize, revisedSize; |
CGRect expectedProjection, projection; |